Unit Testing (#35)
* add testing lib * remove coverage folder from git * finished basic test setup * fix tests typescript and import paths * add first snapshot * testing utils * rename test files; update script flags; ++tests * testing utils functions * testing downloadAndResize wip * remove download test * specify unwanted coverage paths; remove update snapshots flag * fix strings tests * testing downloadAndResize method * increasing testing * fixing snapshots wip * fixed shell mobile snapshot * adding snapshots for the screens * fix onboard snapshot * fix typescript issues * fix TabsSelector snapshot * Account for testing device's locale in ago() tests * Remove platform detection on regex * mocking store state wip * mocking store state * increasing test coverage * increasing test coverage * increasing test coverage on src/screens * src/screens (except for profile) above 80% cov * testing profile screen wip * increase coverage on Menu and TabsSelector * mocking profile ui state wip * mocking profile ui state wip * fixing mobileshell tests wip * snapshots using testing-library * fixing profile tests wip * removing mobile shell tests * src/view/com tests wip * remove unnecessary patch-package * fixed profile test error * clear mocks after every test * fix base mocked store values (getters) * fix base mocked store values (hasLoaded, nonReplyFeed) * profile screen above 80% coverage * testing custom hooks * improving composer coverage * fix tests after merge * finishing composer coverage * improving src/com/discover coverage * improve src/view/com/login coverage fix SuggestedFollows tests adding some comments * fix SuggestedFollows tests * improve src/view/com/profile coverage extra minor fixes * improve src/view/com/notifications coverage * update coverage ignore patterns * rename errorMessageTryAgainButton increase SuggestedFollows converage * improve src/view/com/posts coverage * improve src/view/com/onboard coverage * update snapshot * improve src/view/com/post coverage * improve src/view/com/post-thread coverage rename ErrorMessage tests test Debug and Log components * init testing state * testing root-store * updating comments * small fixes * removed extra console logs * improve src/state/models coverage refactor rootStore rename some spies * adding cleanup method after tests * improve src/state/models coverage * improve src/state/models coverage * improve src/state/models coverage * improve src/state/models coverage * test setInterval in setupState * Clean up tests and update Home screen state management * Remove some tests we dont need * Remove snapshot tests * Remove any tests that dont demonstrate clear value * Cleanup Co-authored-by: Paul Frazee <pfrazee@gmail.com>
This commit is contained in:
parent
11c861d2d3
commit
5abcc8e336
95 changed files with 2852 additions and 9936 deletions
|
@ -2,31 +2,27 @@ import {downloadAndResize, DownloadAndResizeOpts} from '../../src/lib/images'
|
|||
import ImageResizer from '@bam.tech/react-native-image-resizer'
|
||||
import RNFetchBlob from 'rn-fetch-blob'
|
||||
|
||||
jest.mock('rn-fetch-blob', () => ({
|
||||
config: jest.fn().mockReturnThis(),
|
||||
cancel: jest.fn(),
|
||||
fetch: jest.fn(),
|
||||
}))
|
||||
jest.mock('@bam.tech/react-native-image-resizer', () => ({
|
||||
createResizedImage: jest.fn(),
|
||||
}))
|
||||
|
||||
describe('downloadAndResize', () => {
|
||||
const errorSpy = jest.spyOn(global.console, 'error')
|
||||
|
||||
const mockResizedImage = {
|
||||
path: jest.fn().mockReturnValue('file://resized-image.jpg'),
|
||||
size: 100,
|
||||
width: 50,
|
||||
height: 50,
|
||||
mime: 'image/jpeg',
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
jest.clearAllMocks()
|
||||
|
||||
const mockedCreateResizedImage =
|
||||
ImageResizer.createResizedImage as jest.Mock
|
||||
mockedCreateResizedImage.mockResolvedValue(mockResizedImage)
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('should return resized image for valid URI and options', async () => {
|
||||
const mockedFetch = RNFetchBlob.fetch as jest.Mock
|
||||
mockedFetch.mockResolvedValueOnce({
|
||||
|
|
72
__tests__/state/models/link-metas-view.test.ts
Normal file
72
__tests__/state/models/link-metas-view.test.ts
Normal file
|
@ -0,0 +1,72 @@
|
|||
import {RootStoreModel} from '../../../src/state/models/root-store'
|
||||
import {LinkMetasViewModel} from '../../../src/state/models/link-metas-view'
|
||||
import * as LinkMetaLib from '../../../src/lib/link-meta'
|
||||
import {LikelyType} from './../../../src/lib/link-meta'
|
||||
import {sessionClient, SessionServiceClient} from '@atproto/api'
|
||||
import {DEFAULT_SERVICE} from '../../../src/state'
|
||||
|
||||
describe('LinkMetasViewModel', () => {
|
||||
let viewModel: LinkMetasViewModel
|
||||
let rootStore: RootStoreModel
|
||||
|
||||
const getLinkMetaMockSpy = jest.spyOn(LinkMetaLib, 'getLinkMeta')
|
||||
const mockedMeta = {
|
||||
title: 'Test Title',
|
||||
url: 'testurl',
|
||||
likelyType: LikelyType.Other,
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
const api = sessionClient.service(DEFAULT_SERVICE) as SessionServiceClient
|
||||
rootStore = new RootStoreModel(api)
|
||||
viewModel = new LinkMetasViewModel(rootStore)
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
describe('getLinkMeta', () => {
|
||||
it('should return link meta if it is cached', async () => {
|
||||
const url = 'http://example.com'
|
||||
|
||||
viewModel.cache.set(url, mockedMeta)
|
||||
|
||||
const result = await viewModel.getLinkMeta(url)
|
||||
|
||||
expect(getLinkMetaMockSpy).not.toHaveBeenCalled()
|
||||
expect(result).toEqual(mockedMeta)
|
||||
})
|
||||
|
||||
it('should return link meta if it is not cached', async () => {
|
||||
getLinkMetaMockSpy.mockResolvedValueOnce(mockedMeta)
|
||||
|
||||
const result = await viewModel.getLinkMeta(mockedMeta.url)
|
||||
|
||||
expect(getLinkMetaMockSpy).toHaveBeenCalledWith(mockedMeta.url)
|
||||
expect(result).toEqual(mockedMeta)
|
||||
})
|
||||
|
||||
it('should cache the link meta if it is successfully returned', async () => {
|
||||
getLinkMetaMockSpy.mockResolvedValueOnce(mockedMeta)
|
||||
|
||||
await viewModel.getLinkMeta(mockedMeta.url)
|
||||
|
||||
expect(viewModel.cache.get(mockedMeta.url)).toEqual(mockedMeta)
|
||||
})
|
||||
|
||||
it('should not cache the link meta if it fails to return', async () => {
|
||||
const url = 'http://example.com'
|
||||
const error = new Error('Failed to fetch link meta')
|
||||
getLinkMetaMockSpy.mockRejectedValueOnce(error)
|
||||
|
||||
try {
|
||||
await viewModel.getLinkMeta(url)
|
||||
fail('Error was not thrown')
|
||||
} catch (e) {
|
||||
expect(e).toEqual(error)
|
||||
expect(viewModel.cache.get(url)).toBeUndefined()
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
153
__tests__/state/models/log.test.ts
Normal file
153
__tests__/state/models/log.test.ts
Normal file
|
@ -0,0 +1,153 @@
|
|||
import {LogModel} from '../../../src/state/models/log'
|
||||
|
||||
describe('LogModel', () => {
|
||||
let logModel: LogModel
|
||||
|
||||
beforeEach(() => {
|
||||
logModel = new LogModel()
|
||||
jest.spyOn(console, 'debug')
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('should call a log method and add a log entry to the entries array', () => {
|
||||
logModel.debug('Test log')
|
||||
expect(logModel.entries.length).toEqual(1)
|
||||
expect(logModel.entries[0]).toEqual({
|
||||
id: logModel.entries[0].id,
|
||||
type: 'debug',
|
||||
summary: 'Test log',
|
||||
details: undefined,
|
||||
ts: logModel.entries[0].ts,
|
||||
})
|
||||
|
||||
logModel.warn('Test log')
|
||||
expect(logModel.entries.length).toEqual(2)
|
||||
expect(logModel.entries[1]).toEqual({
|
||||
id: logModel.entries[1].id,
|
||||
type: 'warn',
|
||||
summary: 'Test log',
|
||||
details: undefined,
|
||||
ts: logModel.entries[1].ts,
|
||||
})
|
||||
|
||||
logModel.error('Test log')
|
||||
expect(logModel.entries.length).toEqual(3)
|
||||
expect(logModel.entries[2]).toEqual({
|
||||
id: logModel.entries[2].id,
|
||||
type: 'error',
|
||||
summary: 'Test log',
|
||||
details: undefined,
|
||||
ts: logModel.entries[2].ts,
|
||||
})
|
||||
})
|
||||
|
||||
it('should call the console.debug after calling the debug method', () => {
|
||||
logModel.debug('Test log')
|
||||
expect(console.debug).toHaveBeenCalledWith('Test log', '')
|
||||
})
|
||||
|
||||
it('should call the serialize method', () => {
|
||||
logModel.debug('Test log')
|
||||
expect(logModel.serialize()).toEqual({
|
||||
entries: [
|
||||
{
|
||||
id: logModel.entries[0].id,
|
||||
type: 'debug',
|
||||
summary: 'Test log',
|
||||
details: undefined,
|
||||
ts: logModel.entries[0].ts,
|
||||
},
|
||||
],
|
||||
})
|
||||
})
|
||||
|
||||
it('should call the hydrate method with valid properties', () => {
|
||||
logModel.hydrate({
|
||||
entries: [
|
||||
{
|
||||
id: '123',
|
||||
type: 'debug',
|
||||
summary: 'Test log',
|
||||
details: undefined,
|
||||
ts: 123,
|
||||
},
|
||||
],
|
||||
})
|
||||
expect(logModel.entries).toEqual([
|
||||
{
|
||||
id: '123',
|
||||
type: 'debug',
|
||||
summary: 'Test log',
|
||||
details: undefined,
|
||||
ts: 123,
|
||||
},
|
||||
])
|
||||
})
|
||||
|
||||
it('should call the hydrate method with invalid properties', () => {
|
||||
logModel.hydrate({
|
||||
entries: [
|
||||
{
|
||||
id: '123',
|
||||
type: 'debug',
|
||||
summary: 'Test log',
|
||||
details: undefined,
|
||||
ts: 123,
|
||||
},
|
||||
{
|
||||
summary: 'Invalid entry',
|
||||
},
|
||||
],
|
||||
})
|
||||
expect(logModel.entries).toEqual([
|
||||
{
|
||||
id: '123',
|
||||
type: 'debug',
|
||||
summary: 'Test log',
|
||||
details: undefined,
|
||||
ts: 123,
|
||||
},
|
||||
])
|
||||
})
|
||||
|
||||
it('should stringify the details if it is not a string', () => {
|
||||
logModel.debug('Test log', {details: 'test'})
|
||||
expect(logModel.entries[0].details).toEqual('{\n "details": "test"\n}')
|
||||
})
|
||||
|
||||
it('should stringify the details object if it is of a specific error', () => {
|
||||
class TestError extends Error {
|
||||
constructor() {
|
||||
super()
|
||||
this.name = 'TestError'
|
||||
}
|
||||
}
|
||||
const error = new TestError()
|
||||
logModel.error('Test error log', error)
|
||||
expect(logModel.entries[0].details).toEqual('TestError')
|
||||
|
||||
class XRPCInvalidResponseErrorMock {
|
||||
validationError = {toString: () => 'validationError'}
|
||||
lexiconNsid = 'test'
|
||||
}
|
||||
const xrpcInvalidResponseError = new XRPCInvalidResponseErrorMock()
|
||||
logModel.error('Test error log', xrpcInvalidResponseError)
|
||||
expect(logModel.entries[1].details).toEqual(
|
||||
'{\n "validationError": {},\n "lexiconNsid": "test"\n}',
|
||||
)
|
||||
|
||||
class XRPCErrorMock {
|
||||
status = 'status'
|
||||
error = 'error'
|
||||
message = 'message'
|
||||
}
|
||||
const xrpcError = new XRPCErrorMock()
|
||||
logModel.error('Test error log', xrpcError)
|
||||
expect(logModel.entries[2].details).toEqual(
|
||||
'{\n "status": "status",\n "error": "error",\n "message": "message"\n}',
|
||||
)
|
||||
})
|
||||
})
|
183
__tests__/state/models/me.test.ts
Normal file
183
__tests__/state/models/me.test.ts
Normal file
|
@ -0,0 +1,183 @@
|
|||
import {RootStoreModel} from '../../../src/state/models/root-store'
|
||||
import {MeModel} from '../../../src/state/models/me'
|
||||
import {MembershipsViewModel} from './../../../src/state/models/memberships-view'
|
||||
import {NotificationsViewModel} from './../../../src/state/models/notifications-view'
|
||||
import {sessionClient, SessionServiceClient} from '@atproto/api'
|
||||
import {DEFAULT_SERVICE} from './../../../src/state/index'
|
||||
|
||||
describe('MeModel', () => {
|
||||
let rootStore: RootStoreModel
|
||||
let meModel: MeModel
|
||||
|
||||
beforeEach(() => {
|
||||
const api = sessionClient.service(DEFAULT_SERVICE) as SessionServiceClient
|
||||
rootStore = new RootStoreModel(api)
|
||||
meModel = new MeModel(rootStore)
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('should clear() correctly', () => {
|
||||
meModel.did = '123'
|
||||
meModel.handle = 'handle'
|
||||
meModel.displayName = 'John Doe'
|
||||
meModel.description = 'description'
|
||||
meModel.avatar = 'avatar'
|
||||
meModel.notificationCount = 1
|
||||
meModel.clear()
|
||||
expect(meModel.did).toEqual('')
|
||||
expect(meModel.handle).toEqual('')
|
||||
expect(meModel.displayName).toEqual('')
|
||||
expect(meModel.description).toEqual('')
|
||||
expect(meModel.avatar).toEqual('')
|
||||
expect(meModel.notificationCount).toEqual(0)
|
||||
expect(meModel.memberships).toBeUndefined()
|
||||
})
|
||||
|
||||
it('should hydrate() successfully with valid properties', () => {
|
||||
meModel.hydrate({
|
||||
did: '123',
|
||||
handle: 'handle',
|
||||
displayName: 'John Doe',
|
||||
description: 'description',
|
||||
avatar: 'avatar',
|
||||
})
|
||||
expect(meModel.did).toEqual('123')
|
||||
expect(meModel.handle).toEqual('handle')
|
||||
expect(meModel.displayName).toEqual('John Doe')
|
||||
expect(meModel.description).toEqual('description')
|
||||
expect(meModel.avatar).toEqual('avatar')
|
||||
})
|
||||
|
||||
it('should not hydrate() with invalid properties', () => {
|
||||
meModel.hydrate({
|
||||
did: '',
|
||||
handle: 'handle',
|
||||
displayName: 'John Doe',
|
||||
description: 'description',
|
||||
avatar: 'avatar',
|
||||
})
|
||||
expect(meModel.did).toEqual('')
|
||||
expect(meModel.handle).toEqual('')
|
||||
expect(meModel.displayName).toEqual('')
|
||||
expect(meModel.description).toEqual('')
|
||||
expect(meModel.avatar).toEqual('')
|
||||
|
||||
meModel.hydrate({
|
||||
did: '123',
|
||||
displayName: 'John Doe',
|
||||
description: 'description',
|
||||
avatar: 'avatar',
|
||||
})
|
||||
expect(meModel.did).toEqual('')
|
||||
expect(meModel.handle).toEqual('')
|
||||
expect(meModel.displayName).toEqual('')
|
||||
expect(meModel.description).toEqual('')
|
||||
expect(meModel.avatar).toEqual('')
|
||||
})
|
||||
|
||||
it('should load() successfully', async () => {
|
||||
jest
|
||||
.spyOn(rootStore.api.app.bsky.actor, 'getProfile')
|
||||
.mockImplementationOnce((): Promise<any> => {
|
||||
return Promise.resolve({
|
||||
data: {
|
||||
displayName: 'John Doe',
|
||||
description: 'description',
|
||||
avatar: 'avatar',
|
||||
},
|
||||
})
|
||||
})
|
||||
rootStore.session.data = {
|
||||
did: '123',
|
||||
handle: 'handle',
|
||||
service: 'test service',
|
||||
accessJwt: 'test token',
|
||||
refreshJwt: 'test token',
|
||||
}
|
||||
await meModel.load()
|
||||
expect(meModel.did).toEqual('123')
|
||||
expect(meModel.handle).toEqual('handle')
|
||||
expect(meModel.displayName).toEqual('John Doe')
|
||||
expect(meModel.description).toEqual('description')
|
||||
expect(meModel.avatar).toEqual('avatar')
|
||||
})
|
||||
|
||||
it('should load() successfully without profile data', async () => {
|
||||
jest
|
||||
.spyOn(rootStore.api.app.bsky.actor, 'getProfile')
|
||||
.mockImplementationOnce((): Promise<any> => {
|
||||
return Promise.resolve({
|
||||
data: null,
|
||||
})
|
||||
})
|
||||
rootStore.session.data = {
|
||||
did: '123',
|
||||
handle: 'handle',
|
||||
service: 'test service',
|
||||
accessJwt: 'test token',
|
||||
refreshJwt: 'test token',
|
||||
}
|
||||
await meModel.load()
|
||||
expect(meModel.did).toEqual('123')
|
||||
expect(meModel.handle).toEqual('handle')
|
||||
expect(meModel.displayName).toEqual('')
|
||||
expect(meModel.description).toEqual('')
|
||||
expect(meModel.avatar).toEqual('')
|
||||
})
|
||||
|
||||
it('should load() to nothing when no session', async () => {
|
||||
rootStore.session.data = null
|
||||
await meModel.load()
|
||||
expect(meModel.did).toEqual('')
|
||||
expect(meModel.handle).toEqual('')
|
||||
expect(meModel.displayName).toEqual('')
|
||||
expect(meModel.description).toEqual('')
|
||||
expect(meModel.avatar).toEqual('')
|
||||
expect(meModel.notificationCount).toEqual(0)
|
||||
expect(meModel.memberships).toBeUndefined()
|
||||
})
|
||||
|
||||
it('should serialize() key information', () => {
|
||||
meModel.did = '123'
|
||||
meModel.handle = 'handle'
|
||||
meModel.displayName = 'John Doe'
|
||||
meModel.description = 'description'
|
||||
meModel.avatar = 'avatar'
|
||||
|
||||
expect(meModel.serialize()).toEqual({
|
||||
did: '123',
|
||||
handle: 'handle',
|
||||
displayName: 'John Doe',
|
||||
description: 'description',
|
||||
avatar: 'avatar',
|
||||
})
|
||||
})
|
||||
|
||||
it('should clearNotificationCount() successfully', () => {
|
||||
meModel.clearNotificationCount()
|
||||
expect(meModel.notificationCount).toBe(0)
|
||||
})
|
||||
|
||||
it('should update notifs count with fetchStateUpdate()', async () => {
|
||||
meModel.notifications = {
|
||||
refresh: jest.fn(),
|
||||
} as unknown as NotificationsViewModel
|
||||
|
||||
jest
|
||||
.spyOn(rootStore.api.app.bsky.notification, 'getCount')
|
||||
.mockImplementationOnce((): Promise<any> => {
|
||||
return Promise.resolve({
|
||||
data: {
|
||||
count: 1,
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
await meModel.fetchStateUpdate()
|
||||
expect(meModel.notificationCount).toBe(1)
|
||||
expect(meModel.notifications.refresh).toHaveBeenCalled()
|
||||
})
|
||||
})
|
154
__tests__/state/models/navigation.test.ts
Normal file
154
__tests__/state/models/navigation.test.ts
Normal file
|
@ -0,0 +1,154 @@
|
|||
import {
|
||||
NavigationModel,
|
||||
NavigationTabModel,
|
||||
} from './../../../src/state/models/navigation'
|
||||
import * as flags from '../../../src/build-flags'
|
||||
|
||||
describe('NavigationModel', () => {
|
||||
let model: NavigationModel
|
||||
|
||||
beforeEach(() => {
|
||||
model = new NavigationModel()
|
||||
model.setTitle([0, 0], 'title')
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('should clear() to the correct base state', async () => {
|
||||
await model.clear()
|
||||
expect(model.tabCount).toBe(2)
|
||||
expect(model.tab).toEqual({
|
||||
fixedTabPurpose: 0,
|
||||
history: [
|
||||
{
|
||||
id: expect.anything(),
|
||||
ts: expect.anything(),
|
||||
url: '/',
|
||||
},
|
||||
],
|
||||
id: expect.anything(),
|
||||
index: 0,
|
||||
isNewTab: false,
|
||||
})
|
||||
})
|
||||
|
||||
it('should call the navigate method', async () => {
|
||||
const navigateSpy = jest.spyOn(model.tab, 'navigate')
|
||||
await model.navigate('testurl', 'teststring')
|
||||
expect(navigateSpy).toHaveBeenCalledWith('testurl', 'teststring')
|
||||
})
|
||||
|
||||
it('should call the refresh method', async () => {
|
||||
const refreshSpy = jest.spyOn(model.tab, 'refresh')
|
||||
await model.refresh()
|
||||
expect(refreshSpy).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('should call the isCurrentScreen method', () => {
|
||||
expect(model.isCurrentScreen(11, 0)).toEqual(false)
|
||||
})
|
||||
|
||||
it('should call the tab getter', () => {
|
||||
expect(model.tab).toEqual({
|
||||
fixedTabPurpose: 0,
|
||||
history: [
|
||||
{
|
||||
id: expect.anything(),
|
||||
ts: expect.anything(),
|
||||
url: '/',
|
||||
},
|
||||
],
|
||||
id: expect.anything(),
|
||||
index: 0,
|
||||
isNewTab: false,
|
||||
})
|
||||
})
|
||||
|
||||
it('should call the tabCount getter', () => {
|
||||
expect(model.tabCount).toBe(2)
|
||||
})
|
||||
|
||||
describe('tabs not enabled', () => {
|
||||
jest.mock('../../../src/build-flags', () => ({
|
||||
TABS_ENABLED: false,
|
||||
}))
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('should not create new tabs', () => {
|
||||
// @ts-expect-error
|
||||
flags.TABS_ENABLED = false
|
||||
model.newTab('testurl')
|
||||
expect(model.tab.isNewTab).toBe(false)
|
||||
expect(model.tabIndex).toBe(0)
|
||||
})
|
||||
|
||||
it('should not change the active tab', () => {
|
||||
// @ts-expect-error
|
||||
flags.TABS_ENABLED = false
|
||||
model.setActiveTab(2)
|
||||
expect(model.tabIndex).toBe(0)
|
||||
})
|
||||
|
||||
it('should note close tabs', () => {
|
||||
// @ts-expect-error
|
||||
flags.TABS_ENABLED = false
|
||||
model.closeTab(0)
|
||||
expect(model.tabCount).toBe(2)
|
||||
})
|
||||
})
|
||||
|
||||
describe('tabs enabled', () => {
|
||||
jest.mock('../../../src/build-flags', () => ({
|
||||
TABS_ENABLED: true,
|
||||
}))
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('should create new tabs', () => {
|
||||
// @ts-expect-error
|
||||
flags.TABS_ENABLED = true
|
||||
|
||||
model.newTab('testurl', 'title')
|
||||
expect(model.tab.isNewTab).toBe(true)
|
||||
expect(model.tabIndex).toBe(2)
|
||||
})
|
||||
|
||||
it('should change the current tab', () => {
|
||||
// @ts-expect-error
|
||||
flags.TABS_ENABLED = true
|
||||
|
||||
model.setActiveTab(0)
|
||||
expect(model.tabIndex).toBe(0)
|
||||
})
|
||||
|
||||
it('should close tabs', () => {
|
||||
// @ts-expect-error
|
||||
flags.TABS_ENABLED = true
|
||||
|
||||
model.closeTab(0)
|
||||
expect(model.tabs).toEqual([
|
||||
{
|
||||
fixedTabPurpose: 1,
|
||||
history: [
|
||||
{
|
||||
id: expect.anything(),
|
||||
ts: expect.anything(),
|
||||
url: '/notifications',
|
||||
},
|
||||
],
|
||||
id: expect.anything(),
|
||||
index: 0,
|
||||
isNewTab: false,
|
||||
},
|
||||
])
|
||||
expect(model.tabIndex).toBe(0)
|
||||
})
|
||||
})
|
||||
})
|
46
__tests__/state/models/onboard.test.ts
Normal file
46
__tests__/state/models/onboard.test.ts
Normal file
|
@ -0,0 +1,46 @@
|
|||
import {
|
||||
OnboardModel,
|
||||
OnboardStageOrder,
|
||||
} from '../../../src/state/models/onboard'
|
||||
|
||||
describe('OnboardModel', () => {
|
||||
let onboardModel: OnboardModel
|
||||
|
||||
beforeEach(() => {
|
||||
onboardModel = new OnboardModel()
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('should start/stop correctly', () => {
|
||||
onboardModel.start()
|
||||
expect(onboardModel.isOnboarding).toBe(true)
|
||||
onboardModel.stop()
|
||||
expect(onboardModel.isOnboarding).toBe(false)
|
||||
})
|
||||
|
||||
it('should call the next method until it has no more stages', () => {
|
||||
onboardModel.start()
|
||||
onboardModel.next()
|
||||
expect(onboardModel.stage).toBe(OnboardStageOrder[1])
|
||||
|
||||
onboardModel.next()
|
||||
expect(onboardModel.isOnboarding).toBe(false)
|
||||
expect(onboardModel.stage).toBe(OnboardStageOrder[0])
|
||||
})
|
||||
|
||||
it('serialize and hydrate', () => {
|
||||
const serialized = onboardModel.serialize()
|
||||
const newModel = new OnboardModel()
|
||||
newModel.hydrate(serialized)
|
||||
expect(newModel).toEqual(onboardModel)
|
||||
|
||||
onboardModel.start()
|
||||
onboardModel.next()
|
||||
const serialized2 = onboardModel.serialize()
|
||||
newModel.hydrate(serialized2)
|
||||
expect(newModel).toEqual(onboardModel)
|
||||
})
|
||||
})
|
73
__tests__/state/models/root-store.test.ts
Normal file
73
__tests__/state/models/root-store.test.ts
Normal file
|
@ -0,0 +1,73 @@
|
|||
import {RootStoreModel} from '../../../src/state/models/root-store'
|
||||
import {setupState} from '../../../src/state'
|
||||
|
||||
describe('rootStore', () => {
|
||||
let rootStore: RootStoreModel
|
||||
|
||||
beforeAll(() => {
|
||||
jest.useFakeTimers()
|
||||
})
|
||||
|
||||
beforeEach(async () => {
|
||||
rootStore = await setupState()
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('resolveName() handles inputs correctly', () => {
|
||||
const spyMethod = jest
|
||||
.spyOn(rootStore.api.com.atproto.handle, 'resolve')
|
||||
.mockResolvedValue({success: true, headers: {}, data: {did: 'testdid'}})
|
||||
|
||||
rootStore.resolveName('teststring')
|
||||
expect(spyMethod).toHaveBeenCalledWith({handle: 'teststring'})
|
||||
|
||||
expect(rootStore.resolveName('')).rejects.toThrow('Invalid handle: ""')
|
||||
|
||||
expect(rootStore.resolveName('did:123')).resolves.toReturnWith('did:123')
|
||||
})
|
||||
|
||||
it('should call the clearAll() resets state correctly', () => {
|
||||
rootStore.clearAll()
|
||||
|
||||
expect(rootStore.session.data).toEqual(null)
|
||||
expect(rootStore.nav.tabs).toEqual([
|
||||
{
|
||||
fixedTabPurpose: 0,
|
||||
history: [
|
||||
{
|
||||
id: expect.anything(),
|
||||
ts: expect.anything(),
|
||||
url: '/',
|
||||
},
|
||||
],
|
||||
id: expect.anything(),
|
||||
index: 0,
|
||||
isNewTab: false,
|
||||
},
|
||||
{
|
||||
fixedTabPurpose: 1,
|
||||
history: [
|
||||
{
|
||||
id: expect.anything(),
|
||||
ts: expect.anything(),
|
||||
url: '/notifications',
|
||||
},
|
||||
],
|
||||
id: expect.anything(),
|
||||
index: 0,
|
||||
isNewTab: false,
|
||||
},
|
||||
])
|
||||
expect(rootStore.nav.tabIndex).toEqual(0)
|
||||
expect(rootStore.me.did).toEqual('')
|
||||
expect(rootStore.me.handle).toEqual('')
|
||||
expect(rootStore.me.displayName).toEqual('')
|
||||
expect(rootStore.me.description).toEqual('')
|
||||
expect(rootStore.me.avatar).toEqual('')
|
||||
expect(rootStore.me.notificationCount).toEqual(0)
|
||||
expect(rootStore.me.memberships).toBeUndefined()
|
||||
})
|
||||
})
|
59
__tests__/state/models/shell-ui.test.ts
Normal file
59
__tests__/state/models/shell-ui.test.ts
Normal file
|
@ -0,0 +1,59 @@
|
|||
import {
|
||||
ConfirmModal,
|
||||
ImageLightbox,
|
||||
ShellUiModel,
|
||||
} from './../../../src/state/models/shell-ui'
|
||||
|
||||
describe('ShellUiModel', () => {
|
||||
let model: ShellUiModel
|
||||
|
||||
beforeEach(() => {
|
||||
model = new ShellUiModel()
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
|
||||
it('should call the openModal & closeModal method', () => {
|
||||
model.openModal(ConfirmModal)
|
||||
expect(model.isModalActive).toEqual(true)
|
||||
expect(model.activeModal).toEqual(ConfirmModal)
|
||||
|
||||
model.closeModal()
|
||||
expect(model.isModalActive).toEqual(false)
|
||||
expect(model.activeModal).toBeUndefined()
|
||||
})
|
||||
|
||||
it('should call the openLightbox & closeLightbox method', () => {
|
||||
model.openLightbox(new ImageLightbox('uri'))
|
||||
expect(model.isLightboxActive).toEqual(true)
|
||||
expect(model.activeLightbox).toEqual(new ImageLightbox('uri'))
|
||||
|
||||
model.closeLightbox()
|
||||
expect(model.isLightboxActive).toEqual(false)
|
||||
expect(model.activeLightbox).toBeUndefined()
|
||||
})
|
||||
|
||||
it('should call the openComposer & closeComposer method', () => {
|
||||
const composer = {
|
||||
replyTo: {
|
||||
uri: 'uri',
|
||||
cid: 'cid',
|
||||
text: 'text',
|
||||
author: {
|
||||
handle: 'handle',
|
||||
displayName: 'name',
|
||||
},
|
||||
},
|
||||
onPost: jest.fn(),
|
||||
}
|
||||
model.openComposer(composer)
|
||||
expect(model.isComposerActive).toEqual(true)
|
||||
expect(model.composerOpts).toEqual(composer)
|
||||
|
||||
model.closeComposer()
|
||||
expect(model.isComposerActive).toEqual(false)
|
||||
expect(model.composerOpts).toBeUndefined()
|
||||
})
|
||||
})
|
43
__tests__/view/com/composer/Autocomplete.test.tsx
Normal file
43
__tests__/view/com/composer/Autocomplete.test.tsx
Normal file
|
@ -0,0 +1,43 @@
|
|||
import React from 'react'
|
||||
import {Autocomplete} from '../../../../src/view/com/composer/Autocomplete'
|
||||
import {cleanup, fireEvent, render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('Autocomplete', () => {
|
||||
const onSelectMock = jest.fn()
|
||||
const mockedProps = {
|
||||
active: true,
|
||||
items: [
|
||||
{
|
||||
handle: 'handle.test',
|
||||
displayName: 'Test Display',
|
||||
},
|
||||
{
|
||||
handle: 'handle2.test',
|
||||
displayName: 'Test Display 2',
|
||||
},
|
||||
],
|
||||
onSelect: onSelectMock,
|
||||
}
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders a button for each user', async () => {
|
||||
const {findAllByTestId} = render(<Autocomplete {...mockedProps} />)
|
||||
const autocompleteButton = await findAllByTestId('autocompleteButton')
|
||||
expect(autocompleteButton.length).toBe(2)
|
||||
})
|
||||
|
||||
it('triggers onSelect by pressing the button', async () => {
|
||||
const {findAllByTestId} = render(<Autocomplete {...mockedProps} />)
|
||||
const autocompleteButton = await findAllByTestId('autocompleteButton')
|
||||
|
||||
fireEvent.press(autocompleteButton[0])
|
||||
expect(onSelectMock).toHaveBeenCalledWith('handle.test')
|
||||
|
||||
fireEvent.press(autocompleteButton[1])
|
||||
expect(onSelectMock).toHaveBeenCalledWith('handle2.test')
|
||||
})
|
||||
})
|
117
__tests__/view/com/composer/ComposePost.test.tsx
Normal file
117
__tests__/view/com/composer/ComposePost.test.tsx
Normal file
|
@ -0,0 +1,117 @@
|
|||
import React from 'react'
|
||||
import {ComposePost} from '../../../../src/view/com/composer/ComposePost'
|
||||
import {cleanup, fireEvent, render, waitFor} from '../../../../jest/test-utils'
|
||||
import * as apilib from '../../../../src/state/lib/api'
|
||||
import {
|
||||
mockedAutocompleteViewStore,
|
||||
mockedRootStore,
|
||||
} from '../../../../__mocks__/state-mock'
|
||||
import Toast from 'react-native-root-toast'
|
||||
|
||||
describe('ComposePost', () => {
|
||||
const mockedProps = {
|
||||
replyTo: {
|
||||
uri: 'testUri',
|
||||
cid: 'testCid',
|
||||
text: 'testText',
|
||||
author: {
|
||||
handle: 'test.handle',
|
||||
displayName: 'test name',
|
||||
avatar: '',
|
||||
},
|
||||
},
|
||||
onPost: jest.fn(),
|
||||
onClose: jest.fn(),
|
||||
}
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders post composer', async () => {
|
||||
const {findByTestId} = render(<ComposePost {...mockedProps} />)
|
||||
const composePostView = await findByTestId('composePostView')
|
||||
expect(composePostView).toBeTruthy()
|
||||
})
|
||||
|
||||
it('closes composer', async () => {
|
||||
const {findByTestId} = render(<ComposePost {...mockedProps} />)
|
||||
const composerCancelButton = await findByTestId('composerCancelButton')
|
||||
fireEvent.press(composerCancelButton)
|
||||
expect(mockedProps.onClose).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('changes text and publishes post', async () => {
|
||||
const postSpy = jest.spyOn(apilib, 'post').mockResolvedValue({
|
||||
uri: '',
|
||||
cid: '',
|
||||
})
|
||||
const toastSpy = jest.spyOn(Toast, 'show')
|
||||
|
||||
const wrapper = render(<ComposePost {...mockedProps} />)
|
||||
|
||||
const composerTextInput = await wrapper.findByTestId('composerTextInput')
|
||||
fireEvent.changeText(composerTextInput, 'testing publish')
|
||||
|
||||
const composerPublishButton = await wrapper.findByTestId(
|
||||
'composerPublishButton',
|
||||
)
|
||||
fireEvent.press(composerPublishButton)
|
||||
|
||||
expect(postSpy).toHaveBeenCalledWith(
|
||||
mockedRootStore,
|
||||
'testing publish',
|
||||
'testUri',
|
||||
[],
|
||||
new Set<string>(),
|
||||
expect.anything(),
|
||||
)
|
||||
|
||||
// Waits for request to be resolved
|
||||
await waitFor(() => {
|
||||
expect(mockedProps.onPost).toHaveBeenCalled()
|
||||
expect(mockedProps.onClose).toHaveBeenCalled()
|
||||
expect(toastSpy).toHaveBeenCalledWith('Your reply has been published', {
|
||||
animation: true,
|
||||
duration: 3500,
|
||||
hideOnPress: true,
|
||||
position: 50,
|
||||
shadow: true,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
it('selects autocomplete item', async () => {
|
||||
jest
|
||||
.spyOn(React, 'useMemo')
|
||||
.mockReturnValueOnce(mockedAutocompleteViewStore)
|
||||
|
||||
const {findAllByTestId} = render(<ComposePost {...mockedProps} />)
|
||||
const autocompleteButton = await findAllByTestId('autocompleteButton')
|
||||
|
||||
fireEvent.press(autocompleteButton[0])
|
||||
expect(mockedAutocompleteViewStore.setActive).toHaveBeenCalledWith(false)
|
||||
})
|
||||
|
||||
it('selects photos', async () => {
|
||||
const {findByTestId, queryByTestId} = render(
|
||||
<ComposePost {...mockedProps} />,
|
||||
)
|
||||
let photoCarouselPickerView = queryByTestId('photoCarouselPickerView')
|
||||
expect(photoCarouselPickerView).toBeFalsy()
|
||||
|
||||
const composerSelectPhotosButton = await findByTestId(
|
||||
'composerSelectPhotosButton',
|
||||
)
|
||||
fireEvent.press(composerSelectPhotosButton)
|
||||
|
||||
photoCarouselPickerView = await findByTestId('photoCarouselPickerView')
|
||||
expect(photoCarouselPickerView).toBeTruthy()
|
||||
|
||||
fireEvent.press(composerSelectPhotosButton)
|
||||
|
||||
photoCarouselPickerView = queryByTestId('photoCarouselPickerView')
|
||||
expect(photoCarouselPickerView).toBeFalsy()
|
||||
})
|
||||
})
|
92
__tests__/view/com/composer/PhotoCarouselPicker.test.tsx
Normal file
92
__tests__/view/com/composer/PhotoCarouselPicker.test.tsx
Normal file
|
@ -0,0 +1,92 @@
|
|||
import React from 'react'
|
||||
import {PhotoCarouselPicker} from '../../../../src/view/com/composer/PhotoCarouselPicker'
|
||||
import {cleanup, fireEvent, render} from '../../../../jest/test-utils'
|
||||
import {
|
||||
openCamera,
|
||||
openCropper,
|
||||
openPicker,
|
||||
} from 'react-native-image-crop-picker'
|
||||
|
||||
describe('PhotoCarouselPicker', () => {
|
||||
const mockedProps = {
|
||||
selectedPhotos: ['mock-uri', 'mock-uri-2'],
|
||||
onSelectPhotos: jest.fn(),
|
||||
localPhotos: {
|
||||
photos: [
|
||||
{
|
||||
node: {
|
||||
image: {
|
||||
uri: 'mock-uri',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders carousel picker', async () => {
|
||||
const {findByTestId} = render(<PhotoCarouselPicker {...mockedProps} />)
|
||||
const photoCarouselPickerView = await findByTestId(
|
||||
'photoCarouselPickerView',
|
||||
)
|
||||
expect(photoCarouselPickerView).toBeTruthy()
|
||||
})
|
||||
|
||||
it('triggers openCamera', async () => {
|
||||
const {findByTestId} = render(<PhotoCarouselPicker {...mockedProps} />)
|
||||
const openCameraButton = await findByTestId('openCameraButton')
|
||||
fireEvent.press(openCameraButton)
|
||||
|
||||
expect(openCamera).toHaveBeenCalledWith({
|
||||
compressImageQuality: 1,
|
||||
cropping: true,
|
||||
forceJpg: true,
|
||||
freeStyleCropEnabled: true,
|
||||
height: 1000,
|
||||
mediaType: 'photo',
|
||||
width: 1000,
|
||||
})
|
||||
})
|
||||
|
||||
it('triggers openCropper', async () => {
|
||||
const {findByTestId} = render(<PhotoCarouselPicker {...mockedProps} />)
|
||||
const openSelectPhotoButton = await findByTestId('openSelectPhotoButton')
|
||||
fireEvent.press(openSelectPhotoButton)
|
||||
|
||||
expect(openCropper).toHaveBeenCalledWith({
|
||||
compressImageQuality: 1,
|
||||
forceJpg: true,
|
||||
freeStyleCropEnabled: true,
|
||||
height: 1000,
|
||||
mediaType: 'photo',
|
||||
path: 'mock-uri',
|
||||
width: 1000,
|
||||
})
|
||||
})
|
||||
|
||||
it('triggers openPicker', async () => {
|
||||
const {findByTestId} = render(<PhotoCarouselPicker {...mockedProps} />)
|
||||
const openGalleryButton = await findByTestId('openGalleryButton')
|
||||
fireEvent.press(openGalleryButton)
|
||||
|
||||
expect(openPicker).toHaveBeenCalledWith({
|
||||
maxFiles: 2,
|
||||
mediaType: 'photo',
|
||||
multiple: true,
|
||||
})
|
||||
expect(openCropper).toHaveBeenCalledWith({
|
||||
compressImageQuality: 1,
|
||||
forceJpg: true,
|
||||
freeStyleCropEnabled: true,
|
||||
height: 1000,
|
||||
mediaType: 'photo',
|
||||
path: 'mock-uri',
|
||||
width: 1000,
|
||||
})
|
||||
})
|
||||
})
|
70
__tests__/view/com/composer/SelectedPhoto.test.tsx
Normal file
70
__tests__/view/com/composer/SelectedPhoto.test.tsx
Normal file
|
@ -0,0 +1,70 @@
|
|||
import React from 'react'
|
||||
import {SelectedPhoto} from '../../../../src/view/com/composer/SelectedPhoto'
|
||||
import {cleanup, fireEvent, render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('SelectedPhoto', () => {
|
||||
const mockedProps = {
|
||||
selectedPhotos: ['mock-uri', 'mock-uri-2'],
|
||||
onSelectPhotos: jest.fn(),
|
||||
}
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('has no photos to render', () => {
|
||||
const {queryByTestId} = render(
|
||||
<SelectedPhoto selectedPhotos={[]} onSelectPhotos={jest.fn()} />,
|
||||
)
|
||||
const selectedPhotosView = queryByTestId('selectedPhotosView')
|
||||
expect(selectedPhotosView).toBeNull()
|
||||
|
||||
const selectedPhotoImage = queryByTestId('selectedPhotoImage')
|
||||
expect(selectedPhotoImage).toBeNull()
|
||||
})
|
||||
|
||||
it('has 1 photos to render', async () => {
|
||||
const {findByTestId} = render(
|
||||
<SelectedPhoto
|
||||
selectedPhotos={['mock-uri']}
|
||||
onSelectPhotos={jest.fn()}
|
||||
/>,
|
||||
)
|
||||
const selectedPhotosView = await findByTestId('selectedPhotosView')
|
||||
expect(selectedPhotosView).toBeTruthy()
|
||||
|
||||
const selectedPhotoImage = await findByTestId('selectedPhotoImage')
|
||||
expect(selectedPhotoImage).toBeTruthy()
|
||||
// @ts-expect-error
|
||||
expect(selectedPhotoImage).toHaveStyle({width: 250})
|
||||
})
|
||||
|
||||
it('has 2 photos to render', async () => {
|
||||
const {findAllByTestId} = render(<SelectedPhoto {...mockedProps} />)
|
||||
const selectedPhotoImage = await findAllByTestId('selectedPhotoImage')
|
||||
expect(selectedPhotoImage[0]).toBeTruthy()
|
||||
// @ts-expect-error
|
||||
expect(selectedPhotoImage[0]).toHaveStyle({width: 175})
|
||||
})
|
||||
|
||||
it('has 3 photos to render', async () => {
|
||||
const {findAllByTestId} = render(
|
||||
<SelectedPhoto
|
||||
selectedPhotos={['mock-uri', 'mock-uri-2', 'mock-uri-3']}
|
||||
onSelectPhotos={jest.fn()}
|
||||
/>,
|
||||
)
|
||||
const selectedPhotoImage = await findAllByTestId('selectedPhotoImage')
|
||||
expect(selectedPhotoImage[0]).toBeTruthy()
|
||||
// @ts-expect-error
|
||||
expect(selectedPhotoImage[0]).toHaveStyle({width: 85})
|
||||
})
|
||||
|
||||
it('removes a photo', async () => {
|
||||
const {findAllByTestId} = render(<SelectedPhoto {...mockedProps} />)
|
||||
const removePhotoButton = await findAllByTestId('removePhotoButton')
|
||||
fireEvent.press(removePhotoButton[0])
|
||||
expect(mockedProps.onSelectPhotos).toHaveBeenCalledWith(['mock-uri-2'])
|
||||
})
|
||||
})
|
60
__tests__/view/com/login/CreateAccount.test.tsx
Normal file
60
__tests__/view/com/login/CreateAccount.test.tsx
Normal file
|
@ -0,0 +1,60 @@
|
|||
import React from 'react'
|
||||
import {Keyboard} from 'react-native'
|
||||
import {CreateAccount} from '../../../../src/view/com/login/CreateAccount'
|
||||
import {cleanup, fireEvent, render} from '../../../../jest/test-utils'
|
||||
import {
|
||||
mockedLogStore,
|
||||
mockedRootStore,
|
||||
mockedSessionStore,
|
||||
mockedShellStore,
|
||||
} from '../../../../__mocks__/state-mock'
|
||||
|
||||
describe('CreateAccount', () => {
|
||||
const mockedProps = {
|
||||
onPressBack: jest.fn(),
|
||||
}
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders form and creates new account', async () => {
|
||||
const {findByTestId} = render(<CreateAccount {...mockedProps} />)
|
||||
|
||||
const registerEmailInput = await findByTestId('registerEmailInput')
|
||||
expect(registerEmailInput).toBeTruthy()
|
||||
fireEvent.changeText(registerEmailInput, 'test@email.com')
|
||||
|
||||
const registerHandleInput = await findByTestId('registerHandleInput')
|
||||
expect(registerHandleInput).toBeTruthy()
|
||||
fireEvent.changeText(registerHandleInput, 'test.handle')
|
||||
|
||||
const registerPasswordInput = await findByTestId('registerPasswordInput')
|
||||
expect(registerPasswordInput).toBeTruthy()
|
||||
fireEvent.changeText(registerPasswordInput, 'testpass')
|
||||
|
||||
const registerIs13Input = await findByTestId('registerIs13Input')
|
||||
expect(registerIs13Input).toBeTruthy()
|
||||
fireEvent.press(registerIs13Input)
|
||||
|
||||
const createAccountButton = await findByTestId('createAccountButton')
|
||||
expect(createAccountButton).toBeTruthy()
|
||||
fireEvent.press(createAccountButton)
|
||||
|
||||
expect(mockedSessionStore.createAccount).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('renders and selects service', async () => {
|
||||
const keyboardSpy = jest.spyOn(Keyboard, 'dismiss')
|
||||
const {findByTestId} = render(<CreateAccount {...mockedProps} />)
|
||||
|
||||
const registerSelectServiceButton = await findByTestId(
|
||||
'registerSelectServiceButton',
|
||||
)
|
||||
expect(registerSelectServiceButton).toBeTruthy()
|
||||
fireEvent.press(registerSelectServiceButton)
|
||||
|
||||
expect(mockedShellStore.openModal).toHaveBeenCalled()
|
||||
expect(keyboardSpy).toHaveBeenCalled()
|
||||
})
|
||||
})
|
128
__tests__/view/com/login/Signin.test.tsx
Normal file
128
__tests__/view/com/login/Signin.test.tsx
Normal file
|
@ -0,0 +1,128 @@
|
|||
import React from 'react'
|
||||
import {Signin} from '../../../../src/view/com/login/Signin'
|
||||
import {cleanup, fireEvent, render} from '../../../../jest/test-utils'
|
||||
import {SessionServiceClient, sessionClient as AtpApi} from '@atproto/api'
|
||||
import {
|
||||
mockedLogStore,
|
||||
mockedRootStore,
|
||||
mockedSessionStore,
|
||||
mockedShellStore,
|
||||
} from '../../../../__mocks__/state-mock'
|
||||
import {Keyboard} from 'react-native'
|
||||
|
||||
describe('Signin', () => {
|
||||
const requestPasswordResetMock = jest.fn()
|
||||
const resetPasswordMock = jest.fn()
|
||||
jest.spyOn(AtpApi, 'service').mockReturnValue({
|
||||
com: {
|
||||
atproto: {
|
||||
account: {
|
||||
requestPasswordReset: requestPasswordResetMock,
|
||||
resetPassword: resetPasswordMock,
|
||||
},
|
||||
},
|
||||
},
|
||||
} as unknown as SessionServiceClient)
|
||||
const mockedProps = {
|
||||
onPressBack: jest.fn(),
|
||||
}
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders logs in form', async () => {
|
||||
const {findByTestId} = render(<Signin {...mockedProps} />)
|
||||
|
||||
const loginFormView = await findByTestId('loginFormView')
|
||||
expect(loginFormView).toBeTruthy()
|
||||
|
||||
const loginUsernameInput = await findByTestId('loginUsernameInput')
|
||||
expect(loginUsernameInput).toBeTruthy()
|
||||
|
||||
fireEvent.changeText(loginUsernameInput, 'testusername')
|
||||
|
||||
const loginPasswordInput = await findByTestId('loginPasswordInput')
|
||||
expect(loginPasswordInput).toBeTruthy()
|
||||
|
||||
fireEvent.changeText(loginPasswordInput, 'test pass')
|
||||
|
||||
const loginNextButton = await findByTestId('loginNextButton')
|
||||
expect(loginNextButton).toBeTruthy()
|
||||
|
||||
fireEvent.press(loginNextButton)
|
||||
|
||||
expect(mockedSessionStore.login).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('renders selects service from login form', async () => {
|
||||
const keyboardSpy = jest.spyOn(Keyboard, 'dismiss')
|
||||
const {findByTestId} = render(<Signin {...mockedProps} />)
|
||||
|
||||
const loginSelectServiceButton = await findByTestId(
|
||||
'loginSelectServiceButton',
|
||||
)
|
||||
expect(loginSelectServiceButton).toBeTruthy()
|
||||
|
||||
fireEvent.press(loginSelectServiceButton)
|
||||
|
||||
expect(mockedShellStore.openModal).toHaveBeenCalled()
|
||||
expect(keyboardSpy).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('renders new password form', async () => {
|
||||
const {findByTestId} = render(<Signin {...mockedProps} />)
|
||||
|
||||
const forgotPasswordButton = await findByTestId('forgotPasswordButton')
|
||||
expect(forgotPasswordButton).toBeTruthy()
|
||||
|
||||
fireEvent.press(forgotPasswordButton)
|
||||
const forgotPasswordView = await findByTestId('forgotPasswordView')
|
||||
expect(forgotPasswordView).toBeTruthy()
|
||||
|
||||
const forgotPasswordEmail = await findByTestId('forgotPasswordEmail')
|
||||
expect(forgotPasswordEmail).toBeTruthy()
|
||||
fireEvent.changeText(forgotPasswordEmail, 'test@email.com')
|
||||
|
||||
const newPasswordButton = await findByTestId('newPasswordButton')
|
||||
expect(newPasswordButton).toBeTruthy()
|
||||
fireEvent.press(newPasswordButton)
|
||||
|
||||
expect(requestPasswordResetMock).toHaveBeenCalled()
|
||||
|
||||
const newPasswordView = await findByTestId('newPasswordView')
|
||||
expect(newPasswordView).toBeTruthy()
|
||||
|
||||
const newPasswordInput = await findByTestId('newPasswordInput')
|
||||
expect(newPasswordInput).toBeTruthy()
|
||||
const resetCodeInput = await findByTestId('resetCodeInput')
|
||||
expect(resetCodeInput).toBeTruthy()
|
||||
|
||||
fireEvent.changeText(newPasswordInput, 'test pass')
|
||||
fireEvent.changeText(resetCodeInput, 'test reset code')
|
||||
|
||||
const setNewPasswordButton = await findByTestId('setNewPasswordButton')
|
||||
expect(setNewPasswordButton).toBeTruthy()
|
||||
|
||||
fireEvent.press(setNewPasswordButton)
|
||||
|
||||
expect(resetPasswordMock).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('renders forgot password form', async () => {
|
||||
const {findByTestId} = render(<Signin {...mockedProps} />)
|
||||
|
||||
const forgotPasswordButton = await findByTestId('forgotPasswordButton')
|
||||
expect(forgotPasswordButton).toBeTruthy()
|
||||
|
||||
fireEvent.press(forgotPasswordButton)
|
||||
const forgotPasswordSelectServiceButton = await findByTestId(
|
||||
'forgotPasswordSelectServiceButton',
|
||||
)
|
||||
expect(forgotPasswordSelectServiceButton).toBeTruthy()
|
||||
|
||||
fireEvent.press(forgotPasswordSelectServiceButton)
|
||||
|
||||
expect(mockedShellStore.openModal).toHaveBeenCalled()
|
||||
})
|
||||
})
|
109
__tests__/view/com/profile/ProfileHeader.test.tsx
Normal file
109
__tests__/view/com/profile/ProfileHeader.test.tsx
Normal file
|
@ -0,0 +1,109 @@
|
|||
import React from 'react'
|
||||
import {cleanup, fireEvent, render} from '../../../../jest/test-utils'
|
||||
import {ProfileViewModel} from '../../../../src/state/models/profile-view'
|
||||
import {ProfileHeader} from '../../../../src/view/com/profile/ProfileHeader'
|
||||
import {
|
||||
mockedNavigationStore,
|
||||
mockedProfileStore,
|
||||
mockedShellStore,
|
||||
} from '../../../../__mocks__/state-mock'
|
||||
|
||||
describe('ProfileHeader', () => {
|
||||
const mockedProps = {
|
||||
view: mockedProfileStore,
|
||||
onRefreshAll: jest.fn(),
|
||||
}
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders ErrorMessage on error', async () => {
|
||||
const {findByTestId} = render(
|
||||
<ProfileHeader
|
||||
{...{
|
||||
view: {
|
||||
...mockedProfileStore,
|
||||
hasError: true,
|
||||
} as ProfileViewModel,
|
||||
onRefreshAll: jest.fn(),
|
||||
}}
|
||||
/>,
|
||||
)
|
||||
|
||||
const profileHeaderHasError = await findByTestId('profileHeaderHasError')
|
||||
expect(profileHeaderHasError).toBeTruthy()
|
||||
})
|
||||
|
||||
it('presses and opens edit profile', async () => {
|
||||
const {findByTestId} = render(<ProfileHeader {...mockedProps} />)
|
||||
|
||||
const profileHeaderEditProfileButton = await findByTestId(
|
||||
'profileHeaderEditProfileButton',
|
||||
)
|
||||
expect(profileHeaderEditProfileButton).toBeTruthy()
|
||||
fireEvent.press(profileHeaderEditProfileButton)
|
||||
|
||||
expect(mockedShellStore.openModal).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('presses and opens followers page', async () => {
|
||||
const {findByTestId} = render(<ProfileHeader {...mockedProps} />)
|
||||
|
||||
const profileHeaderFollowersButton = await findByTestId(
|
||||
'profileHeaderFollowersButton',
|
||||
)
|
||||
expect(profileHeaderFollowersButton).toBeTruthy()
|
||||
fireEvent.press(profileHeaderFollowersButton)
|
||||
|
||||
expect(mockedNavigationStore.navigate).toHaveBeenCalledWith(
|
||||
'/profile/testhandle/followers',
|
||||
)
|
||||
})
|
||||
|
||||
it('presses and opens avatar modal', async () => {
|
||||
const {findByTestId} = render(<ProfileHeader {...mockedProps} />)
|
||||
|
||||
const profileHeaderAviButton = await findByTestId('profileHeaderAviButton')
|
||||
expect(profileHeaderAviButton).toBeTruthy()
|
||||
fireEvent.press(profileHeaderAviButton)
|
||||
|
||||
expect(mockedShellStore.openLightbox).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('presses and opens follows page', async () => {
|
||||
const {findByTestId} = render(<ProfileHeader {...mockedProps} />)
|
||||
|
||||
const profileHeaderFollowsButton = await findByTestId(
|
||||
'profileHeaderFollowsButton',
|
||||
)
|
||||
expect(profileHeaderFollowsButton).toBeTruthy()
|
||||
fireEvent.press(profileHeaderFollowsButton)
|
||||
|
||||
expect(mockedNavigationStore.navigate).toHaveBeenCalledWith(
|
||||
'/profile/testhandle/follows',
|
||||
)
|
||||
})
|
||||
|
||||
it('toggles following', async () => {
|
||||
const {findByTestId} = render(
|
||||
<ProfileHeader
|
||||
{...{
|
||||
view: {
|
||||
...mockedProfileStore,
|
||||
did: 'test did 2',
|
||||
} as ProfileViewModel,
|
||||
onRefreshAll: jest.fn(),
|
||||
}}
|
||||
/>,
|
||||
)
|
||||
|
||||
const profileHeaderToggleFollowButton = await findByTestId(
|
||||
'profileHeaderToggleFollowButton',
|
||||
)
|
||||
expect(profileHeaderToggleFollowButton).toBeTruthy()
|
||||
fireEvent.press(profileHeaderToggleFollowButton)
|
||||
|
||||
expect(mockedProps.view.toggleFollowing).toHaveBeenCalled()
|
||||
})
|
||||
})
|
17
__tests__/view/lib/useAnimatedValue.test.tsx
Normal file
17
__tests__/view/lib/useAnimatedValue.test.tsx
Normal file
|
@ -0,0 +1,17 @@
|
|||
import {renderHook} from '../../../jest/test-utils'
|
||||
import {useAnimatedValue} from '../../../src/view/lib/hooks/useAnimatedValue'
|
||||
|
||||
describe('useAnimatedValue', () => {
|
||||
it('creates an Animated.Value with the initial value passed to the hook', () => {
|
||||
const {result} = renderHook(() => useAnimatedValue(10))
|
||||
// @ts-expect-error
|
||||
expect(result.current.__getValue()).toEqual(10)
|
||||
})
|
||||
|
||||
it('returns the same Animated.Value instance on subsequent renders', () => {
|
||||
const {result, rerender} = renderHook(() => useAnimatedValue(10))
|
||||
const firstValue = result.current
|
||||
rerender({})
|
||||
expect(result.current).toBe(firstValue)
|
||||
})
|
||||
})
|
49
__tests__/view/lib/useOnMainScroll.test.tsx
Normal file
49
__tests__/view/lib/useOnMainScroll.test.tsx
Normal file
|
@ -0,0 +1,49 @@
|
|||
import React from 'react'
|
||||
import {fireEvent, render} from '../../../jest/test-utils'
|
||||
import {Home} from '../../../src/view/screens/Home'
|
||||
import {mockedRootStore, mockedShellStore} from '../../../__mocks__/state-mock'
|
||||
|
||||
describe('useOnMainScroll', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {},
|
||||
visible: true,
|
||||
}
|
||||
|
||||
it('toggles minimalShellMode to true', () => {
|
||||
jest.useFakeTimers()
|
||||
const {getByTestId} = render(<Home {...mockedProps} />)
|
||||
|
||||
fireEvent.scroll(getByTestId('homeFeed'), {
|
||||
nativeEvent: {
|
||||
contentOffset: {y: 20},
|
||||
contentSize: {height: 100},
|
||||
layoutMeasurement: {height: 50},
|
||||
},
|
||||
})
|
||||
|
||||
expect(mockedRootStore.shell.setMinimalShellMode).toHaveBeenCalledWith(true)
|
||||
})
|
||||
|
||||
it('toggles minimalShellMode to false', () => {
|
||||
jest.useFakeTimers()
|
||||
const {getByTestId} = render(<Home {...mockedProps} />, {
|
||||
...mockedRootStore,
|
||||
shell: {
|
||||
...mockedShellStore,
|
||||
minimalShellMode: true,
|
||||
},
|
||||
})
|
||||
|
||||
fireEvent.scroll(getByTestId('homeFeed'), {
|
||||
nativeEvent: {
|
||||
contentOffset: {y: 0},
|
||||
contentSize: {height: 100},
|
||||
layoutMeasurement: {height: 50},
|
||||
},
|
||||
})
|
||||
expect(mockedRootStore.shell.setMinimalShellMode).toHaveBeenCalledWith(
|
||||
false,
|
||||
)
|
||||
})
|
||||
})
|
|
@ -1,16 +0,0 @@
|
|||
import React from 'react'
|
||||
import {Contacts} from '../../../src/view/screens/Contacts'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('Contacts', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Contacts {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,16 +0,0 @@
|
|||
import React from 'react'
|
||||
import {Home} from '../../../src/view/screens/Home'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('Home', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Home {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,11 +1,37 @@
|
|||
import React from 'react'
|
||||
import {Login} from '../../../src/view/screens/Login'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
import {cleanup, fireEvent, render} from '../../../jest/test-utils'
|
||||
|
||||
describe('Login', () => {
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Login />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders initial screen', () => {
|
||||
const {getByTestId} = render(<Login />)
|
||||
const signUpScreen = getByTestId('signinOrCreateAccount')
|
||||
|
||||
expect(signUpScreen).toBeTruthy()
|
||||
})
|
||||
|
||||
it('renders Signin screen', () => {
|
||||
const {getByTestId} = render(<Login />)
|
||||
const signInButton = getByTestId('signInButton')
|
||||
|
||||
fireEvent.press(signInButton)
|
||||
|
||||
const signInScreen = getByTestId('signIn')
|
||||
expect(signInScreen).toBeTruthy()
|
||||
})
|
||||
|
||||
it('renders CreateAccount screen', () => {
|
||||
const {getByTestId} = render(<Login />)
|
||||
const createAccountButton = getByTestId('createAccountButton')
|
||||
|
||||
fireEvent.press(createAccountButton)
|
||||
|
||||
const createAccountScreen = getByTestId('createAccount')
|
||||
expect(createAccountScreen).toBeTruthy()
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,11 +1,21 @@
|
|||
import React from 'react'
|
||||
import {NotFound} from '../../../src/view/screens/NotFound'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
import {cleanup, fireEvent, render} from '../../../jest/test-utils'
|
||||
import {mockedNavigationStore} from '../../../__mocks__/state-mock'
|
||||
|
||||
describe('NotFound', () => {
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<NotFound />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('navigates home', async () => {
|
||||
const navigationSpy = jest.spyOn(mockedNavigationStore, 'navigate')
|
||||
const {getByTestId} = render(<NotFound />)
|
||||
const navigateHomeButton = getByTestId('navigateHomeButton')
|
||||
|
||||
fireEvent.press(navigateHomeButton)
|
||||
|
||||
expect(navigationSpy).toHaveBeenCalledWith('/')
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
import React from 'react'
|
||||
import {Notifications} from '../../../src/view/screens/Notifications'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('Notifications', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Notifications {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,11 +0,0 @@
|
|||
import React from 'react'
|
||||
import {Onboard} from '../../../src/view/screens/Onboard'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('Onboard', () => {
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Onboard />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,19 +0,0 @@
|
|||
import React from 'react'
|
||||
import {PostDownvotedBy} from '../../../src/view/screens/PostDownvotedBy'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('PostDownvotedBy', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
name: 'test name',
|
||||
rkey: '123123123',
|
||||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<PostDownvotedBy {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,19 +0,0 @@
|
|||
import React from 'react'
|
||||
import {PostRepostedBy} from '../../../src/view/screens/PostRepostedBy'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('PostRepostedBy', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
name: 'test name',
|
||||
rkey: '123123123',
|
||||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<PostRepostedBy {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,19 +0,0 @@
|
|||
import React from 'react'
|
||||
import {PostThread} from '../../../src/view/screens/PostThread'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('PostThread', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
name: 'test name',
|
||||
rkey: '123123123',
|
||||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<PostThread {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,19 +0,0 @@
|
|||
import React from 'react'
|
||||
import {PostUpvotedBy} from '../../../src/view/screens/PostUpvotedBy'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('PostUpvotedBy', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
name: 'test name',
|
||||
rkey: '123123123',
|
||||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<PostUpvotedBy {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,19 +0,0 @@
|
|||
import React from 'react'
|
||||
import {Profile} from '../../../src/view/screens/Profile'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('Profile', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
name: 'test name',
|
||||
user: 'test.user',
|
||||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Profile {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,18 +0,0 @@
|
|||
import React from 'react'
|
||||
import {ProfileFollowers} from '../../../src/view/screens/ProfileFollowers'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('ProfileFollowers', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
name: 'test name',
|
||||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<ProfileFollowers {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,18 +0,0 @@
|
|||
import React from 'react'
|
||||
import {ProfileFollows} from '../../../src/view/screens/ProfileFollows'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('ProfileFollows', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
name: 'test name',
|
||||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<ProfileFollows {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,18 +0,0 @@
|
|||
import React from 'react'
|
||||
import {ProfileMembers} from '../../../src/view/screens/ProfileMembers'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('ProfileMembers', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
name: 'test name',
|
||||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<ProfileMembers {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,9 +1,9 @@
|
|||
import React from 'react'
|
||||
import {Search} from '../../../src/view/screens/Search'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
import {cleanup, fireEvent, render} from '../../../jest/test-utils'
|
||||
|
||||
describe('Search', () => {
|
||||
jest.useFakeTimers()
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {
|
||||
|
@ -11,8 +11,20 @@ describe('Search', () => {
|
|||
},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Search {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders with query', async () => {
|
||||
const {findByTestId} = render(<Search {...mockedProps} />)
|
||||
const searchTextInput = await findByTestId('searchTextInput')
|
||||
|
||||
expect(searchTextInput).toBeTruthy()
|
||||
fireEvent.changeText(searchTextInput, 'test')
|
||||
|
||||
const searchScrollView = await findByTestId('searchScrollView')
|
||||
expect(searchScrollView).toBeTruthy()
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
import React from 'react'
|
||||
import {Settings} from '../../../src/view/screens/Settings'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('Settings', () => {
|
||||
const mockedProps = {
|
||||
navIdx: [0, 0] as [number, number],
|
||||
params: {},
|
||||
visible: true,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Settings {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,205 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Contacts renders correctly 1`] = `
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 30,
|
||||
"fontWeight": "bold",
|
||||
"paddingHorizontal": 12,
|
||||
"paddingVertical": 6,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Contacts
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 4,
|
||||
"flexDirection": "row",
|
||||
"marginBottom": 6,
|
||||
"marginHorizontal": 10,
|
||||
"paddingHorizontal": 8,
|
||||
"paddingVertical": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="magnifying-glass"
|
||||
size={16}
|
||||
style={
|
||||
Object {
|
||||
"color": "#645454",
|
||||
"marginRight": 8,
|
||||
}
|
||||
}
|
||||
/>
|
||||
<TextInput
|
||||
onChangeText={[Function]}
|
||||
placeholder="Search"
|
||||
placeholderTextColor="#968d8d"
|
||||
style={
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
value=""
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
onLayout={[Function]}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 12,
|
||||
"paddingHorizontal": 14,
|
||||
"paddingTop": 8,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#000000",
|
||||
"bottom": 0,
|
||||
"height": 4,
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"width": 0,
|
||||
}
|
||||
}
|
||||
/>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"marginRight": 14,
|
||||
"paddingHorizontal": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 16,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
All
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"marginRight": 14,
|
||||
"paddingHorizontal": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#645454",
|
||||
"fontSize": 16,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Following
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"marginRight": 14,
|
||||
"paddingHorizontal": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#645454",
|
||||
"fontSize": 16,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Scenes
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,594 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Home renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Bluesky
|
||||
</Text>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#968d8d",
|
||||
"fontSize": 18,
|
||||
"marginLeft": 6,
|
||||
"maxWidth": 200,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Private Beta
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 6,
|
||||
"flexDirection": "row",
|
||||
"margin": 2,
|
||||
"marginBottom": 0,
|
||||
"opacity": 1,
|
||||
"paddingHorizontal": 10,
|
||||
"paddingVertical": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
"width": 50,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={50}
|
||||
bbWidth={50}
|
||||
focusable={false}
|
||||
height={50}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 50,
|
||||
"width": 50,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={50}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
"marginLeft": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#968d8d",
|
||||
"fontSize": 17,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
What's up?
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 30,
|
||||
"paddingHorizontal": 14,
|
||||
"paddingVertical": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#645454",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Post
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,371 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Login renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 2,
|
||||
"justifyContent": "center",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flexDirection": "row",
|
||||
"justifyContent": "center",
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
bbHeight="100"
|
||||
bbWidth="100"
|
||||
focusable={false}
|
||||
height="100"
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 100,
|
||||
"width": 100,
|
||||
},
|
||||
]
|
||||
}
|
||||
width="100"
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
r="46"
|
||||
stroke={4294967295}
|
||||
strokeWidth={2}
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth={1}
|
||||
x1="30"
|
||||
x2="30"
|
||||
y1="0"
|
||||
y2="100"
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth={1}
|
||||
x1="74"
|
||||
x2="74"
|
||||
y1="0"
|
||||
y2="100"
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth={1}
|
||||
x1="0"
|
||||
x2="100"
|
||||
y1="22"
|
||||
y2="22"
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth={1}
|
||||
x1="0"
|
||||
x2="100"
|
||||
y1="74"
|
||||
y2="74"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={null}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "60",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
stroke={4294967295}
|
||||
strokeWidth={2}
|
||||
x={
|
||||
Array [
|
||||
"52",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"70",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="B"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 68,
|
||||
"fontWeight": "bold",
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Bluesky
|
||||
</Text>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 18,
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
[ private beta ]
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#0085ff",
|
||||
"borderColor": "#ffffff",
|
||||
"borderRadius": 10,
|
||||
"borderWidth": 1,
|
||||
"marginBottom": 20,
|
||||
"marginHorizontal": 20,
|
||||
"opacity": 1,
|
||||
"paddingVertical": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 18,
|
||||
"fontWeight": "bold",
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Create a new account
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"marginBottom": 20,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
bbHeight="1"
|
||||
bbWidth={750}
|
||||
focusable={false}
|
||||
height="1"
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"position": "absolute",
|
||||
"top": 10,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 1,
|
||||
"width": 750,
|
||||
},
|
||||
]
|
||||
}
|
||||
width={750}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth="1"
|
||||
x1="30"
|
||||
x2={355}
|
||||
y1="0"
|
||||
y2="0"
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth="1"
|
||||
x1={395}
|
||||
x2={720}
|
||||
y1="0"
|
||||
y2="0"
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 16,
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
or
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#0085ff",
|
||||
"borderColor": "#ffffff",
|
||||
"borderRadius": 10,
|
||||
"borderWidth": 1,
|
||||
"marginBottom": 20,
|
||||
"marginHorizontal": 20,
|
||||
"opacity": 1,
|
||||
"paddingVertical": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 18,
|
||||
"fontWeight": "bold",
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Sign in
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,431 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`NotFound renders correctly 1`] = `
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Page not found
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"justifyContent": "center",
|
||||
"paddingTop": 100,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 40,
|
||||
"fontWeight": "bold",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Page not found
|
||||
</Text>
|
||||
<View
|
||||
accessibilityRole="button"
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {},
|
||||
]
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#007AFF",
|
||||
"fontSize": 18,
|
||||
"margin": 8,
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Home
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,378 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Notifications renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Notifications
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
`;
|
|
@ -1,388 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Onboard renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#fff",
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RCTSafeAreaView
|
||||
emulateUnlessSupported={true}
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
onLayout={[Function]}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"flex": 1,
|
||||
"overflow": "hidden",
|
||||
},
|
||||
undefined,
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNCViewPager
|
||||
collapsable={false}
|
||||
initialPage={0}
|
||||
keyboardDismissMode="on-drag"
|
||||
layout={
|
||||
Object {
|
||||
"height": 0,
|
||||
"width": 750,
|
||||
}
|
||||
}
|
||||
layoutDirection="ltr"
|
||||
onMoveShouldSetResponderCapture={[Function]}
|
||||
onPageScroll={[Function]}
|
||||
onPageScrollStateChanged={[Function]}
|
||||
onPageSelected={[Function]}
|
||||
scrollEnabled={true}
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"bottom": 0,
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessibilityElementsHidden={false}
|
||||
importantForAccessibility="auto"
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"flex": 1,
|
||||
"overflow": "hidden",
|
||||
},
|
||||
Object {
|
||||
"width": 750,
|
||||
},
|
||||
Array [
|
||||
undefined,
|
||||
Object {
|
||||
"bottom": 0,
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
"paddingHorizontal": 16,
|
||||
"paddingTop": 80,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"fontSize": 42,
|
||||
"fontWeight": "bold",
|
||||
"marginBottom": 16,
|
||||
"textAlign": "center",
|
||||
},
|
||||
Object {
|
||||
"fontWeight": "400",
|
||||
},
|
||||
Object {
|
||||
"lineHeight": 60,
|
||||
"paddingBottom": 50,
|
||||
"paddingTop": 50,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Welcome to
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"fontWeight": "bold",
|
||||
},
|
||||
Object {
|
||||
"color": "#0085ff",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 56,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Bluesky
|
||||
</Text>
|
||||
</Text>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"fontSize": 18,
|
||||
"marginBottom": 16,
|
||||
"textAlign": "center",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 24,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Let's do a quick tour through the new features.
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"bottom": 0,
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessibilityElementsHidden={true}
|
||||
importantForAccessibility="no-hide-descendants"
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"flex": 1,
|
||||
"overflow": "hidden",
|
||||
},
|
||||
Object {
|
||||
"width": 750,
|
||||
},
|
||||
Array [
|
||||
undefined,
|
||||
Object {
|
||||
"bottom": 0,
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</RNCViewPager>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flexDirection": "row",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
/>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"opacity": 1,
|
||||
"padding": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
°
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"opacity": 1,
|
||||
"padding": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 0.5,
|
||||
}
|
||||
}
|
||||
>
|
||||
°
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 24,
|
||||
"paddingHorizontal": 32,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#0085ff",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 18,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Skip
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
/>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#0085ff",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 18,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Next
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</RCTSafeAreaView>
|
||||
</View>
|
||||
`;
|
|
@ -1,368 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`PostDownvotedBy renders correctly 1`] = `
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Downvoted by
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<ActivityIndicator />
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,368 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`PostRepostedBy renders correctly 1`] = `
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Reposted by
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<ActivityIndicator />
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,437 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`PostThread renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Post
|
||||
</Text>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#968d8d",
|
||||
"fontSize": 18,
|
||||
"marginLeft": 6,
|
||||
"maxWidth": 200,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
by test name
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RCTScrollView
|
||||
contentContainerStyle={
|
||||
Object {
|
||||
"paddingBottom": 200,
|
||||
}
|
||||
}
|
||||
data={Array []}
|
||||
getItem={[Function]}
|
||||
getItemCount={[Function]}
|
||||
keyExtractor={[Function]}
|
||||
onContentSizeChange={[Function]}
|
||||
onLayout={[Function]}
|
||||
onMomentumScrollBegin={[Function]}
|
||||
onMomentumScrollEnd={[Function]}
|
||||
onRefresh={[Function]}
|
||||
onScroll={[Function]}
|
||||
onScrollBeginDrag={[Function]}
|
||||
onScrollEndDrag={[Function]}
|
||||
onScrollToIndexFailed={[Function]}
|
||||
refreshControl={
|
||||
<RefreshControlMock
|
||||
onRefresh={[Function]}
|
||||
refreshing={false}
|
||||
/>
|
||||
}
|
||||
refreshing={false}
|
||||
removeClippedSubviews={false}
|
||||
renderItem={[Function]}
|
||||
scrollEventThrottle={50}
|
||||
stickyHeaderIndices={Array []}
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
viewabilityConfigCallbackPairs={Array []}
|
||||
>
|
||||
<RCTRefreshControl />
|
||||
<View />
|
||||
</RCTScrollView>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,368 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`PostUpvotedBy renders correctly 1`] = `
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Upvoted by
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<ActivityIndicator />
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,513 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Profile renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flexDirection": "column",
|
||||
"height": "100%",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
test name
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "#e7e9ea",
|
||||
"borderRadius": 6,
|
||||
"height": 120,
|
||||
"overflow": "hidden",
|
||||
"width": "100%",
|
||||
},
|
||||
undefined,
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#e7e9ea",
|
||||
"height": 120,
|
||||
"width": "100%",
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderColor": "#ffffff",
|
||||
"borderRadius": 42,
|
||||
"borderWidth": 2,
|
||||
"height": 84,
|
||||
"left": 10,
|
||||
"position": "absolute",
|
||||
"top": 80,
|
||||
"width": 84,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "#e7e9ea",
|
||||
"borderRadius": 6,
|
||||
"height": 80,
|
||||
"overflow": "hidden",
|
||||
"width": 80,
|
||||
},
|
||||
Object {
|
||||
"borderRadius": 40,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#e7e9ea",
|
||||
"height": 80,
|
||||
"width": 80,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"paddingBottom": 4,
|
||||
"paddingHorizontal": 14,
|
||||
"paddingTop": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"flexDirection": "row",
|
||||
"marginBottom": 12,
|
||||
"marginLeft": "auto",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "#e7e9ea",
|
||||
"borderRadius": 6,
|
||||
"height": 31,
|
||||
"overflow": "hidden",
|
||||
"width": 100,
|
||||
},
|
||||
Object {
|
||||
"borderRadius": 50,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#e7e9ea",
|
||||
"height": 31,
|
||||
"width": 100,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={Object {}}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 28,
|
||||
"fontWeight": "bold",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,386 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`ProfileFollowers renders correctly 1`] = `
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Followers
|
||||
</Text>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#968d8d",
|
||||
"fontSize": 18,
|
||||
"marginLeft": 6,
|
||||
"maxWidth": 200,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
of test name
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<ActivityIndicator />
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,386 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`ProfileFollows renders correctly 1`] = `
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Followed
|
||||
</Text>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#968d8d",
|
||||
"fontSize": 18,
|
||||
"marginLeft": 6,
|
||||
"maxWidth": 200,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
by test name
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<ActivityIndicator />
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,386 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`ProfileMembers renders correctly 1`] = `
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Members
|
||||
</Text>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#968d8d",
|
||||
"fontSize": 18,
|
||||
"marginLeft": 6,
|
||||
"maxWidth": 200,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
of test name
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View>
|
||||
<ActivityIndicator />
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,514 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Search renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Search
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingHorizontal": 16,
|
||||
"paddingVertical": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={24}
|
||||
bbWidth={24}
|
||||
color={4290886073}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={24}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={2}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"alignSelf": "center",
|
||||
"color": "#c1b9b9",
|
||||
"marginRight": 10,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 24,
|
||||
"width": 24,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4290886073}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={24}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={2}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
<TextInput
|
||||
onChangeText={[Function]}
|
||||
placeholder="Type your query here..."
|
||||
placeholderTextColor="#968d8d"
|
||||
returnKeyType="search"
|
||||
selectTextOnFocus={true}
|
||||
style={
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"flex": 1,
|
||||
"fontSize": 16,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RCTScrollView
|
||||
data={Array []}
|
||||
getItem={[Function]}
|
||||
getItemCount={[Function]}
|
||||
keyExtractor={[Function]}
|
||||
onContentSizeChange={[Function]}
|
||||
onLayout={[Function]}
|
||||
onMomentumScrollBegin={[Function]}
|
||||
onMomentumScrollEnd={[Function]}
|
||||
onScroll={[Function]}
|
||||
onScrollBeginDrag={[Function]}
|
||||
onScrollEndDrag={[Function]}
|
||||
removeClippedSubviews={false}
|
||||
renderItem={[Function]}
|
||||
scrollEventThrottle={50}
|
||||
stickyHeaderIndices={Array []}
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
viewabilityConfigCallbackPairs={Array []}
|
||||
>
|
||||
<View />
|
||||
</RCTScrollView>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,631 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Settings renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"flex": 1,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 6,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingTop": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 30,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"height": 30,
|
||||
"opacity": 1,
|
||||
"width": 40,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
focusable={false}
|
||||
height={30}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
pointerEvents="none"
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "baseline",
|
||||
"flexDirection": "row",
|
||||
"marginRight": "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"fontSize": 21,
|
||||
"fontWeight": "600",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Settings
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={18}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={18}
|
||||
bbWidth={18}
|
||||
color={4278190080}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={18}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={3}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
"position": "relative",
|
||||
"top": -1,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 18,
|
||||
"width": 18,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4278190080}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={18}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={3}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 20,
|
||||
"flexDirection": "row",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginLeft": 8,
|
||||
"opacity": 1,
|
||||
"width": 36,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="signal"
|
||||
size={18}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<
|
||||
icon="x"
|
||||
size={12}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"color": "#d1106f",
|
||||
"left": -4,
|
||||
"position": "relative",
|
||||
"top": 6,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"marginTop": 10,
|
||||
},
|
||||
Object {
|
||||
"paddingLeft": 10,
|
||||
},
|
||||
Object {
|
||||
"paddingRight": 10,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"flexDirection": "row",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Signed in as
|
||||
</Text>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
/>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#0085ff",
|
||||
},
|
||||
Object {
|
||||
"fontWeight": "bold",
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Sign out
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderRadius": 4,
|
||||
"flexDirection": "row",
|
||||
"marginVertical": 6,
|
||||
"paddingHorizontal": 10,
|
||||
"paddingVertical": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={40}
|
||||
bbWidth={40}
|
||||
focusable={false}
|
||||
height={40}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 40,
|
||||
"width": 40,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={40}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"marginLeft": 10,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"fontSize": 18,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
|
||||
</Text>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#645454",
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
@
|
||||
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,23 +0,0 @@
|
|||
import React from 'react'
|
||||
import {Composer} from '../../../../src/view/shell/mobile/Composer'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('Composer', () => {
|
||||
const mockedProps = {
|
||||
active: true,
|
||||
winHeight: 844,
|
||||
replyTo: {
|
||||
author: {avatar: undefined, displayName: 'Alice', handle: 'alice.test'},
|
||||
cid: 'bafyreieucrv36ylxrut4dr4jj264q2jj2vt2vfvhjfchgw3vua4gksvzia',
|
||||
text: 'Captain, maybe we ought to turn on the searchlights now. No… that’s just what they’ll be expecting us to do.',
|
||||
uri: 'at://did:plc:v3xz273ea2dzjpu2szsjzfue/app.bsky.feed.post/3jkcir3fhqv2u',
|
||||
},
|
||||
onPost: jest.fn(),
|
||||
onClose: jest.fn(),
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Composer {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
|
@ -1,15 +1,70 @@
|
|||
import React from 'react'
|
||||
import {Menu} from '../../../../src/view/shell/mobile/Menu'
|
||||
import renderer from 'react-test-renderer'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
import {cleanup, fireEvent, render} from '../../../../jest/test-utils'
|
||||
import {
|
||||
mockedNavigationStore,
|
||||
mockedShellStore,
|
||||
} from '../../../../__mocks__/state-mock'
|
||||
|
||||
describe('Menu', () => {
|
||||
const onCloseMock = jest.fn()
|
||||
|
||||
const mockedProps = {
|
||||
visible: true,
|
||||
onClose: jest.fn(),
|
||||
onClose: onCloseMock,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<Menu {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders menu', () => {
|
||||
const {getByTestId} = render(<Menu {...mockedProps} />)
|
||||
|
||||
const menuView = getByTestId('menuView')
|
||||
|
||||
expect(menuView).toBeTruthy()
|
||||
})
|
||||
|
||||
it('presses profile card button', () => {
|
||||
const {getByTestId} = render(<Menu {...mockedProps} />)
|
||||
|
||||
const profileCardButton = getByTestId('profileCardButton')
|
||||
fireEvent.press(profileCardButton)
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedNavigationStore.switchTo).toHaveBeenCalledWith(0, true)
|
||||
})
|
||||
|
||||
it('presses search button', () => {
|
||||
const {getByTestId} = render(<Menu {...mockedProps} />)
|
||||
|
||||
const searchBtn = getByTestId('searchBtn')
|
||||
fireEvent.press(searchBtn)
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedNavigationStore.switchTo).toHaveBeenCalledWith(0, true)
|
||||
expect(mockedNavigationStore.navigate).toHaveBeenCalledWith('/search')
|
||||
})
|
||||
|
||||
it("presses notifications menu item' button", () => {
|
||||
const {getAllByTestId} = render(<Menu {...mockedProps} />)
|
||||
|
||||
const menuItemButton = getAllByTestId('menuItemButton')
|
||||
fireEvent.press(menuItemButton[1])
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedNavigationStore.switchTo).toHaveBeenCalledWith(1, true)
|
||||
})
|
||||
|
||||
it('presses new scene button', () => {
|
||||
const {getAllByTestId} = render(<Menu {...mockedProps} />)
|
||||
|
||||
const menuItemButton = getAllByTestId('menuItemButton')
|
||||
fireEvent.press(menuItemButton[3])
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedShellStore.openModal).toHaveBeenCalled()
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,17 +1,99 @@
|
|||
import React from 'react'
|
||||
import {Animated} from 'react-native'
|
||||
import renderer from 'react-test-renderer'
|
||||
import {Animated, Share} from 'react-native'
|
||||
import {TabsSelector} from '../../../../src/view/shell/mobile/TabsSelector'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
import {cleanup, fireEvent, render} from '../../../../jest/test-utils'
|
||||
import {mockedNavigationStore} from '../../../../__mocks__/state-mock'
|
||||
|
||||
describe('TabsSelector', () => {
|
||||
const onCloseMock = jest.fn()
|
||||
|
||||
const mockedProps = {
|
||||
active: true,
|
||||
tabMenuInterp: new Animated.Value(0),
|
||||
onClose: jest.fn(),
|
||||
onClose: onCloseMock,
|
||||
}
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer.create(<TabsSelector {...mockedProps} />).toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
|
||||
afterAll(() => {
|
||||
jest.clearAllMocks()
|
||||
cleanup()
|
||||
})
|
||||
|
||||
it('renders tabs selector', () => {
|
||||
const {getByTestId} = render(<TabsSelector {...mockedProps} />)
|
||||
|
||||
const tabsSelectorView = getByTestId('tabsSelectorView')
|
||||
|
||||
expect(tabsSelectorView).toBeTruthy()
|
||||
})
|
||||
|
||||
it('renders nothing if inactive', () => {
|
||||
const {getByTestId} = render(
|
||||
<TabsSelector {...{...mockedProps, active: false}} />,
|
||||
)
|
||||
|
||||
const emptyView = getByTestId('emptyView')
|
||||
|
||||
expect(emptyView).toBeTruthy()
|
||||
})
|
||||
|
||||
it('presses share button', () => {
|
||||
const shareSpy = jest.spyOn(Share, 'share')
|
||||
const {getByTestId} = render(<TabsSelector {...mockedProps} />)
|
||||
|
||||
const shareButton = getByTestId('shareButton')
|
||||
fireEvent.press(shareButton)
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(shareSpy).toHaveBeenCalledWith({url: 'https://bsky.app/'})
|
||||
})
|
||||
|
||||
it('presses clone button', () => {
|
||||
const {getByTestId} = render(<TabsSelector {...mockedProps} />)
|
||||
|
||||
const cloneButton = getByTestId('cloneButton')
|
||||
fireEvent.press(cloneButton)
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedNavigationStore.newTab).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('presses new tab button', () => {
|
||||
const {getByTestId} = render(<TabsSelector {...mockedProps} />)
|
||||
|
||||
const newTabButton = getByTestId('newTabButton')
|
||||
fireEvent.press(newTabButton)
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedNavigationStore.newTab).toHaveBeenCalledWith('/')
|
||||
})
|
||||
|
||||
it('presses change tab button', () => {
|
||||
const {getAllByTestId} = render(<TabsSelector {...mockedProps} />)
|
||||
|
||||
const changeTabButton = getAllByTestId('changeTabButton')
|
||||
fireEvent.press(changeTabButton[0])
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedNavigationStore.newTab).toHaveBeenCalledWith('/')
|
||||
})
|
||||
|
||||
it('presses close tab button', () => {
|
||||
const {getAllByTestId} = render(<TabsSelector {...mockedProps} />)
|
||||
|
||||
const closeTabButton = getAllByTestId('closeTabButton')
|
||||
fireEvent.press(closeTabButton[0])
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedNavigationStore.setActiveTab).toHaveBeenCalledWith(0)
|
||||
})
|
||||
|
||||
it('presses swipes to close the tab', () => {
|
||||
const {getByTestId} = render(<TabsSelector {...mockedProps} />)
|
||||
|
||||
const tabsSwipable = getByTestId('tabsSwipable')
|
||||
fireEvent(tabsSwipable, 'swipeableRightOpen')
|
||||
|
||||
expect(onCloseMock).toHaveBeenCalled()
|
||||
expect(mockedNavigationStore.setActiveTab).toHaveBeenCalledWith(0)
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,659 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Composer renders correctly 1`] = `
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#fff",
|
||||
"bottom": 0,
|
||||
"paddingTop": 24,
|
||||
"position": "absolute",
|
||||
"top": 0,
|
||||
"transform": Array [
|
||||
Object {
|
||||
"translateY": 844,
|
||||
},
|
||||
],
|
||||
"width": "100%",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
onLayout={[Function]}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "#fff",
|
||||
"flex": 1,
|
||||
"flexDirection": "column",
|
||||
"height": "100%",
|
||||
"padding": 15,
|
||||
"paddingBottom": 0,
|
||||
},
|
||||
Object {
|
||||
"paddingBottom": 0,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<RCTSafeAreaView
|
||||
emulateUnlessSupported={true}
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"flexDirection": "row",
|
||||
"height": 55,
|
||||
"paddingBottom": 10,
|
||||
"paddingHorizontal": 5,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#0085ff",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 18,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Cancel
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
/>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<BVLinearGradient
|
||||
colors={
|
||||
Array [
|
||||
4292542719,
|
||||
4294901882,
|
||||
]
|
||||
}
|
||||
endPoint={
|
||||
Object {
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
}
|
||||
}
|
||||
locations={null}
|
||||
startPoint={
|
||||
Object {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
}
|
||||
}
|
||||
style={
|
||||
Object {
|
||||
"borderRadius": 20,
|
||||
"paddingHorizontal": 20,
|
||||
"paddingVertical": 6,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 16,
|
||||
},
|
||||
Object {
|
||||
"fontWeight": "bold",
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Reply
|
||||
</Text>
|
||||
</BVLinearGradient>
|
||||
</View>
|
||||
</View>
|
||||
<RCTScrollView
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"borderTopColor": "#e4e2e2",
|
||||
"borderTopWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingBottom": 16,
|
||||
"paddingTop": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={50}
|
||||
bbWidth={50}
|
||||
focusable={false}
|
||||
height={50}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 50,
|
||||
"width": 50,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={50}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-16742913,
|
||||
1,
|
||||
-14631929,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="A"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
"paddingLeft": 13,
|
||||
"paddingRight": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
onLongPress={[Function]}
|
||||
onPress={[Function]}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"fontSize": 16,
|
||||
},
|
||||
Object {
|
||||
"fontWeight": "bold",
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Alice
|
||||
</Text>
|
||||
<Text
|
||||
numberOfLines={6}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"fontSize": 16,
|
||||
},
|
||||
Object {
|
||||
"lineHeight": 20.8,
|
||||
},
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Captain, maybe we ought to turn on the searchlights now. No… that’s just what they’ll be expecting us to do.
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"borderTopColor": "#e4e2e2",
|
||||
"borderTopWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingTop": 16,
|
||||
},
|
||||
Object {
|
||||
"flex": 1,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={50}
|
||||
bbWidth={50}
|
||||
focusable={false}
|
||||
height={50}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 50,
|
||||
"width": 50,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={50}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
<TextInput
|
||||
multiline={true}
|
||||
onChangeText={[Function]}
|
||||
placeholder="Write your reply"
|
||||
placeholderTextColor="#968d8d"
|
||||
scrollEnabled={true}
|
||||
style={
|
||||
Object {
|
||||
"alignSelf": "flex-start",
|
||||
"color": "#000000",
|
||||
"flex": 1,
|
||||
"fontSize": 18,
|
||||
"marginLeft": 8,
|
||||
"padding": 5,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
</RCTScrollView>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderTopColor": "#e4e2e2",
|
||||
"borderTopWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingRight": 5,
|
||||
"paddingVertical": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
hitSlop={
|
||||
Object {
|
||||
"bottom": 10,
|
||||
"left": 10,
|
||||
"right": 10,
|
||||
"top": 10,
|
||||
}
|
||||
}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"opacity": 1,
|
||||
"paddingLeft": 5,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon={
|
||||
Array [
|
||||
"far",
|
||||
"image",
|
||||
]
|
||||
}
|
||||
size={24}
|
||||
style={
|
||||
Object {
|
||||
"color": "#0085ff",
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
/>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"marginRight": 10,
|
||||
},
|
||||
Object {
|
||||
"color": undefined,
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
256
|
||||
</Text>
|
||||
<View>
|
||||
<View
|
||||
indeterminateAnimationDuration={1000}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"overflow": "hidden",
|
||||
},
|
||||
undefined,
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
bbHeight={30}
|
||||
bbWidth={30}
|
||||
collapsable={false}
|
||||
focusable={false}
|
||||
height={30}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
width={30}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGPath
|
||||
d="M15 2.5
|
||||
A12.5 12.5 0 0 1 15 2.5"
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
"strokeLinecap",
|
||||
]
|
||||
}
|
||||
stroke={4278221567}
|
||||
strokeLinecap={0}
|
||||
strokeWidth={3}
|
||||
/>
|
||||
<RNSVGPath
|
||||
d="M15 0.5
|
||||
a14.5 14.5 0 0 1 0 29
|
||||
a14.5 14.5 0 0 1 0 -29"
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
"strokeLinecap",
|
||||
]
|
||||
}
|
||||
stroke={4293190370}
|
||||
strokeLinecap={0}
|
||||
strokeWidth={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderTopColor": "#e4e2e2",
|
||||
"borderTopWidth": 1,
|
||||
"bottom": 0,
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 1334,
|
||||
}
|
||||
}
|
||||
/>
|
||||
</RCTSafeAreaView>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,837 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Menu renders correctly 1`] = `
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#ffffff",
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"flexDirection": "row",
|
||||
"margin": 10,
|
||||
"marginBottom": 6,
|
||||
"opacity": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={60}
|
||||
bbWidth={60}
|
||||
focusable={false}
|
||||
height={60}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 60,
|
||||
"width": 60,
|
||||
},
|
||||
]
|
||||
}
|
||||
vbHeight={100}
|
||||
vbWidth={100}
|
||||
width={60}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGDefs>
|
||||
<RNSVGLinearGradient
|
||||
gradient={
|
||||
Array [
|
||||
0,
|
||||
-1292135,
|
||||
1,
|
||||
-2424577,
|
||||
]
|
||||
}
|
||||
gradientTransform={null}
|
||||
gradientUnits={0}
|
||||
name="grad"
|
||||
x1="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
y2="1"
|
||||
/>
|
||||
</RNSVGDefs>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={
|
||||
Array [
|
||||
1,
|
||||
"grad",
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
r="50"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={4294967295}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "50",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
x={
|
||||
Array [
|
||||
"50",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"67",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="X"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#2D2626",
|
||||
"fontSize": 24,
|
||||
"fontWeight": "bold",
|
||||
"marginLeft": 12,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
|
||||
</Text>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#423737",
|
||||
"fontSize": 18,
|
||||
"marginLeft": 12,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 8,
|
||||
"flexDirection": "row",
|
||||
"margin": 10,
|
||||
"marginBottom": 0,
|
||||
"opacity": 1,
|
||||
"paddingHorizontal": 12,
|
||||
"paddingVertical": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight={25}
|
||||
bbWidth={25}
|
||||
color={4284765268}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height={25}
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={2}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#645454",
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 25,
|
||||
"width": 25,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4284765268}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width={25}
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={2}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#423737",
|
||||
"fontSize": 19,
|
||||
"marginLeft": 8,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Search
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"paddingBottom": 10,
|
||||
"paddingHorizontal": 10,
|
||||
"paddingTop": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"flexDirection": "row",
|
||||
"opacity": 1,
|
||||
"paddingHorizontal": 6,
|
||||
"paddingVertical": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginRight": 12,
|
||||
"width": 36,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight="26"
|
||||
bbWidth="26"
|
||||
color={4282529591}
|
||||
focusable={false}
|
||||
height="26"
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#423737",
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 26,
|
||||
"width": 26,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4282529591}
|
||||
vbHeight={48}
|
||||
vbWidth={48}
|
||||
width="26"
|
||||
>
|
||||
<RNSVGGroup
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M 23.951 2 C 23.631 2.011 23.323 2.124 23.072 2.322 L 8.859 13.52 C 7.055 14.941 6 17.114 6 19.41 L 6 38.5 C 6 39.864 7.136 41 8.5 41 L 18.5 41 C 19.864 41 21 39.864 21 38.5 L 21 28.5 C 21 28.205 21.205 28 21.5 28 L 26.5 28 C 26.795 28 27 28.205 27 28.5 L 27 38.5 C 27 39.864 28.136 41 29.5 41 L 39.5 41 C 40.864 41 42 39.864 42 38.5 L 42 19.41 C 42 17.114 40.945 14.941 39.141 13.52 L 24.928 2.322 C 24.65 2.103 24.304 1.989 23.951 2 Z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
strokeWidth={4}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#2D2626",
|
||||
"fontSize": 19,
|
||||
},
|
||||
undefined,
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Home
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"flexDirection": "row",
|
||||
"opacity": 1,
|
||||
"paddingHorizontal": 6,
|
||||
"paddingVertical": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginRight": 12,
|
||||
"width": 36,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight="28"
|
||||
bbWidth="28"
|
||||
color={4282529591}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height="28"
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#423737",
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 28,
|
||||
"width": 28,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4282529591}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width="28"
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M0 0h24v24H0z"
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
/>
|
||||
<RNSVGPath
|
||||
d="M20 17h2v2H2v-2h2v-7a8 8 0 1 1 16 0v7zm-2 0v-7a6 6 0 1 0-12 0v7h12zm-9 4h6v2H9v-2z"
|
||||
fill={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
]
|
||||
}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#2D2626",
|
||||
"fontSize": 19,
|
||||
},
|
||||
undefined,
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Notifications
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"paddingBottom": 10,
|
||||
"paddingHorizontal": 10,
|
||||
"paddingTop": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 16,
|
||||
"fontWeight": "bold",
|
||||
"paddingHorizontal": 4,
|
||||
"paddingVertical": 8,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Scenes
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"borderBottomColor": "#f8f3f3",
|
||||
"borderBottomWidth": 1,
|
||||
"paddingBottom": 10,
|
||||
"paddingHorizontal": 10,
|
||||
"paddingTop": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"flexDirection": "row",
|
||||
"opacity": 1,
|
||||
"paddingHorizontal": 6,
|
||||
"paddingVertical": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginRight": 12,
|
||||
"width": 36,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight="30"
|
||||
bbWidth="30"
|
||||
color={4282529591}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height="30"
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={2}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#423737",
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4282529591}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width="30"
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={2}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#2D2626",
|
||||
"fontSize": 19,
|
||||
},
|
||||
undefined,
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Create a scene
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"flexDirection": "row",
|
||||
"opacity": 1,
|
||||
"paddingHorizontal": 6,
|
||||
"paddingVertical": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"height": 36,
|
||||
"justifyContent": "center",
|
||||
"marginRight": 12,
|
||||
"width": 36,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
align="xMidYMid"
|
||||
bbHeight="30"
|
||||
bbWidth="30"
|
||||
color={4282529591}
|
||||
fill="none"
|
||||
focusable={false}
|
||||
height="30"
|
||||
meetOrSlice={0}
|
||||
minX={0}
|
||||
minY={0}
|
||||
stroke="currentColor"
|
||||
strokeWidth={2}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"color": "#423737",
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 30,
|
||||
"width": 30,
|
||||
},
|
||||
]
|
||||
}
|
||||
tintColor={4282529591}
|
||||
vbHeight={24}
|
||||
vbWidth={24}
|
||||
width="30"
|
||||
>
|
||||
<RNSVGGroup
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={
|
||||
Array [
|
||||
2,
|
||||
]
|
||||
}
|
||||
strokeWidth={2}
|
||||
>
|
||||
<RNSVGPath
|
||||
d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
<RNSVGPath
|
||||
d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"
|
||||
propList={
|
||||
Array [
|
||||
"strokeLinecap",
|
||||
"strokeLinejoin",
|
||||
]
|
||||
}
|
||||
strokeLinecap={1}
|
||||
strokeLinejoin={1}
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<Text
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"color": "#2D2626",
|
||||
"fontSize": 19,
|
||||
},
|
||||
undefined,
|
||||
],
|
||||
]
|
||||
}
|
||||
>
|
||||
Settings
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"paddingHorizontal": 14,
|
||||
"paddingVertical": 18,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#968d8d",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Build version
|
||||
(
|
||||
)
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,651 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`TabsSelector renders correctly 1`] = `
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#fff",
|
||||
"borderTopColor": "#e4e2e2",
|
||||
"borderTopWidth": 1,
|
||||
"bottom": 55,
|
||||
"height": 320,
|
||||
"opacity": 1,
|
||||
"position": "absolute",
|
||||
"transform": Array [
|
||||
Object {
|
||||
"translateY": 320,
|
||||
},
|
||||
],
|
||||
"width": "100%",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
onLayout={[Function]}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"padding": 10,
|
||||
},
|
||||
Object {
|
||||
"borderBottomColor": "#e4e2e2",
|
||||
"borderBottomWidth": 1,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flexDirection": "row",
|
||||
"paddingTop": 2,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 4,
|
||||
"flex": 1,
|
||||
"flexDirection": "row",
|
||||
"justifyContent": "center",
|
||||
"marginRight": 5,
|
||||
"paddingLeft": 12,
|
||||
"paddingRight": 16,
|
||||
"paddingVertical": 10,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"marginRight": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="share"
|
||||
size={16}
|
||||
/>
|
||||
</View>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 16,
|
||||
"fontWeight": "500",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Share
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 4,
|
||||
"flex": 1,
|
||||
"flexDirection": "row",
|
||||
"justifyContent": "center",
|
||||
"marginRight": 5,
|
||||
"paddingLeft": 12,
|
||||
"paddingRight": 16,
|
||||
"paddingVertical": 10,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"marginRight": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon={
|
||||
Array [
|
||||
"far",
|
||||
"clone",
|
||||
]
|
||||
}
|
||||
size={16}
|
||||
/>
|
||||
</View>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 16,
|
||||
"fontWeight": "500",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Clone tab
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderRadius": 4,
|
||||
"flex": 1,
|
||||
"flexDirection": "row",
|
||||
"justifyContent": "center",
|
||||
"marginRight": 5,
|
||||
"paddingLeft": 12,
|
||||
"paddingRight": 16,
|
||||
"paddingVertical": 10,
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"marginRight": 8,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="plus"
|
||||
size={16}
|
||||
/>
|
||||
</View>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"fontSize": 16,
|
||||
"fontWeight": "500",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
New tab
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"padding": 10,
|
||||
},
|
||||
Object {
|
||||
"borderBottomColor": "#e4e2e2",
|
||||
"borderBottomWidth": 1,
|
||||
},
|
||||
Object {
|
||||
"backgroundColor": "#f8f3f3",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
<RCTScrollView
|
||||
style={
|
||||
Object {
|
||||
"height": 240,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View>
|
||||
<View
|
||||
collapsable={false}
|
||||
forwardedRef={[Function]}
|
||||
handlerTag={1}
|
||||
handlerType="PanGestureHandler"
|
||||
onGestureHandlerEvent={[Function]}
|
||||
onGestureHandlerStateChange={[Function]}
|
||||
onLayout={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"overflow": "hidden",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"bottom": 0,
|
||||
"flexDirection": "row",
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
"transform": Array [
|
||||
Object {
|
||||
"translateX": -10000,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"padding": 2,
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<View
|
||||
onLayout={[Function]}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"bottom": 0,
|
||||
"flexDirection": "row-reverse",
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
"transform": Array [
|
||||
Object {
|
||||
"translateX": -10000,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"padding": 2,
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<View
|
||||
onLayout={[Function]}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
collapsable={false}
|
||||
forwardedRef={[Function]}
|
||||
handlerTag={2}
|
||||
handlerType="TapGestureHandler"
|
||||
onGestureHandlerEvent={[Function]}
|
||||
onGestureHandlerStateChange={[Function]}
|
||||
pointerEvents="auto"
|
||||
style={
|
||||
Object {
|
||||
"transform": Array [
|
||||
Object {
|
||||
"translateX": -0,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"height": 46,
|
||||
"overflow": "hidden",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
collapsable={false}
|
||||
forwardedRef={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderColor": "#000000",
|
||||
"borderRadius": 4,
|
||||
"borderWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"height": 42,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"flex": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingLeft": 12,
|
||||
"paddingVertical": 12,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={Object {}}
|
||||
>
|
||||
<
|
||||
icon="house"
|
||||
size={20}
|
||||
/>
|
||||
</View>
|
||||
<Text
|
||||
ellipsizeMode="tail"
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"flex": 1,
|
||||
"fontSize": 16,
|
||||
"paddingHorizontal": 10,
|
||||
},
|
||||
Object {
|
||||
"fontWeight": "500",
|
||||
},
|
||||
],
|
||||
]
|
||||
}
|
||||
suppressHighlighting={true}
|
||||
>
|
||||
/
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"paddingRight": 16,
|
||||
"paddingVertical": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="x"
|
||||
size={14}
|
||||
style={
|
||||
Object {
|
||||
"color": "#655",
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
<View
|
||||
collapsable={false}
|
||||
forwardedRef={[Function]}
|
||||
handlerTag={3}
|
||||
handlerType="PanGestureHandler"
|
||||
onGestureHandlerEvent={[Function]}
|
||||
onGestureHandlerStateChange={[Function]}
|
||||
onLayout={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"overflow": "hidden",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"bottom": 0,
|
||||
"flexDirection": "row",
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
"transform": Array [
|
||||
Object {
|
||||
"translateX": -10000,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"padding": 2,
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<View
|
||||
onLayout={[Function]}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"bottom": 0,
|
||||
"flexDirection": "row-reverse",
|
||||
"left": 0,
|
||||
"position": "absolute",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
"transform": Array [
|
||||
Object {
|
||||
"translateX": -10000,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"padding": 2,
|
||||
},
|
||||
]
|
||||
}
|
||||
/>
|
||||
<View
|
||||
onLayout={[Function]}
|
||||
/>
|
||||
</View>
|
||||
<View
|
||||
collapsable={false}
|
||||
forwardedRef={[Function]}
|
||||
handlerTag={4}
|
||||
handlerType="TapGestureHandler"
|
||||
onGestureHandlerEvent={[Function]}
|
||||
onGestureHandlerStateChange={[Function]}
|
||||
pointerEvents="auto"
|
||||
style={
|
||||
Object {
|
||||
"transform": Array [
|
||||
Object {
|
||||
"translateX": -0,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
collapsable={false}
|
||||
style={
|
||||
Object {
|
||||
"height": 46,
|
||||
"overflow": "hidden",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
collapsable={false}
|
||||
forwardedRef={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"backgroundColor": "#f8f3f3",
|
||||
"borderColor": "#968d8d",
|
||||
"borderRadius": 4,
|
||||
"borderWidth": 1,
|
||||
"flexDirection": "row",
|
||||
"height": 42,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"alignItems": "center",
|
||||
"flex": 1,
|
||||
"flexDirection": "row",
|
||||
"paddingLeft": 12,
|
||||
"paddingVertical": 12,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={Object {}}
|
||||
>
|
||||
<
|
||||
icon="bell"
|
||||
size={20}
|
||||
/>
|
||||
</View>
|
||||
<Text
|
||||
ellipsizeMode="tail"
|
||||
numberOfLines={1}
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Array [
|
||||
Object {
|
||||
"flex": 1,
|
||||
"fontSize": 16,
|
||||
"paddingHorizontal": 10,
|
||||
},
|
||||
false,
|
||||
],
|
||||
]
|
||||
}
|
||||
suppressHighlighting={true}
|
||||
>
|
||||
/notifications
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"paddingRight": 16,
|
||||
"paddingVertical": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
icon="x"
|
||||
size={14}
|
||||
style={
|
||||
Object {
|
||||
"color": "#655",
|
||||
}
|
||||
}
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</RCTScrollView>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
`;
|
|
@ -1,421 +0,0 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`MobileShell renders correctly 1`] = `
|
||||
<BVLinearGradient
|
||||
colors={
|
||||
Array [
|
||||
4278222079,
|
||||
4278238463,
|
||||
]
|
||||
}
|
||||
endPoint={
|
||||
Object {
|
||||
"x": 0,
|
||||
"y": 1,
|
||||
}
|
||||
}
|
||||
locations={null}
|
||||
startPoint={
|
||||
Object {
|
||||
"x": 0,
|
||||
"y": 0.8,
|
||||
}
|
||||
}
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
"height": "100%",
|
||||
}
|
||||
}
|
||||
>
|
||||
<RCTSafeAreaView
|
||||
emulateUnlessSupported={true}
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 2,
|
||||
"justifyContent": "center",
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flexDirection": "row",
|
||||
"justifyContent": "center",
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
bbHeight="100"
|
||||
bbWidth="100"
|
||||
focusable={false}
|
||||
height="100"
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 100,
|
||||
"width": 100,
|
||||
},
|
||||
]
|
||||
}
|
||||
width="100"
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGCircle
|
||||
cx="50"
|
||||
cy="50"
|
||||
fill={null}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
r="46"
|
||||
stroke={4294967295}
|
||||
strokeWidth={2}
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth={1}
|
||||
x1="30"
|
||||
x2="30"
|
||||
y1="0"
|
||||
y2="100"
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth={1}
|
||||
x1="74"
|
||||
x2="74"
|
||||
y1="0"
|
||||
y2="100"
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth={1}
|
||||
x1="0"
|
||||
x2="100"
|
||||
y1="22"
|
||||
y2="22"
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth={1}
|
||||
x1="0"
|
||||
x2="100"
|
||||
y1="74"
|
||||
y2="74"
|
||||
/>
|
||||
<RNSVGText
|
||||
content={null}
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
fill={null}
|
||||
font={
|
||||
Object {
|
||||
"fontSize": "60",
|
||||
"fontWeight": "bold",
|
||||
"textAnchor": "middle",
|
||||
}
|
||||
}
|
||||
propList={
|
||||
Array [
|
||||
"fill",
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
rotate={Array []}
|
||||
stroke={4294967295}
|
||||
strokeWidth={2}
|
||||
x={
|
||||
Array [
|
||||
"52",
|
||||
]
|
||||
}
|
||||
y={
|
||||
Array [
|
||||
"70",
|
||||
]
|
||||
}
|
||||
>
|
||||
<RNSVGTSpan
|
||||
content="B"
|
||||
dx={Array []}
|
||||
dy={Array []}
|
||||
font={Object {}}
|
||||
rotate={Array []}
|
||||
x={Array []}
|
||||
y={Array []}
|
||||
/>
|
||||
</RNSVGText>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
</View>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 68,
|
||||
"fontWeight": "bold",
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Bluesky
|
||||
</Text>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 18,
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
[ private beta ]
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"flex": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#0085ff",
|
||||
"borderColor": "#ffffff",
|
||||
"borderRadius": 10,
|
||||
"borderWidth": 1,
|
||||
"marginBottom": 20,
|
||||
"marginHorizontal": 20,
|
||||
"opacity": 1,
|
||||
"paddingVertical": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 18,
|
||||
"fontWeight": "bold",
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Create a new account
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
style={
|
||||
Object {
|
||||
"marginBottom": 20,
|
||||
}
|
||||
}
|
||||
>
|
||||
<RNSVGSvgView
|
||||
bbHeight="1"
|
||||
bbWidth={750}
|
||||
focusable={false}
|
||||
height="1"
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"backgroundColor": "transparent",
|
||||
"borderWidth": 0,
|
||||
},
|
||||
Object {
|
||||
"position": "absolute",
|
||||
"top": 10,
|
||||
},
|
||||
Object {
|
||||
"flex": 0,
|
||||
"height": 1,
|
||||
"width": 750,
|
||||
},
|
||||
]
|
||||
}
|
||||
width={750}
|
||||
>
|
||||
<RNSVGGroup>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth="1"
|
||||
x1="30"
|
||||
x2={355}
|
||||
y1="0"
|
||||
y2="0"
|
||||
/>
|
||||
<RNSVGLine
|
||||
propList={
|
||||
Array [
|
||||
"stroke",
|
||||
"strokeWidth",
|
||||
]
|
||||
}
|
||||
stroke={4294967295}
|
||||
strokeWidth="1"
|
||||
x1={395}
|
||||
x2={720}
|
||||
y1="0"
|
||||
y2="0"
|
||||
/>
|
||||
</RNSVGGroup>
|
||||
</RNSVGSvgView>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 16,
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
or
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessible={true}
|
||||
collapsable={false}
|
||||
focusable={true}
|
||||
onClick={[Function]}
|
||||
onResponderGrant={[Function]}
|
||||
onResponderMove={[Function]}
|
||||
onResponderRelease={[Function]}
|
||||
onResponderTerminate={[Function]}
|
||||
onResponderTerminationRequest={[Function]}
|
||||
onStartShouldSetResponder={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#0085ff",
|
||||
"borderColor": "#ffffff",
|
||||
"borderRadius": 10,
|
||||
"borderWidth": 1,
|
||||
"marginBottom": 20,
|
||||
"marginHorizontal": 20,
|
||||
"opacity": 1,
|
||||
"paddingVertical": 16,
|
||||
}
|
||||
}
|
||||
>
|
||||
<Text
|
||||
style={
|
||||
Array [
|
||||
Object {
|
||||
"color": "#000000",
|
||||
},
|
||||
Object {
|
||||
"color": "#ffffff",
|
||||
"fontSize": 18,
|
||||
"fontWeight": "bold",
|
||||
"textAlign": "center",
|
||||
},
|
||||
]
|
||||
}
|
||||
>
|
||||
Sign in
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</RCTSafeAreaView>
|
||||
<View
|
||||
enablePanDownToClose={true}
|
||||
index={-1}
|
||||
keyboardBehavior="fillParent"
|
||||
onChange={[Function]}
|
||||
snapPoints={
|
||||
Array [
|
||||
"10%",
|
||||
]
|
||||
}
|
||||
>
|
||||
<View />
|
||||
</View>
|
||||
</BVLinearGradient>
|
||||
`;
|
|
@ -1,18 +0,0 @@
|
|||
import React from 'react'
|
||||
import {MobileShell} from '../../../../src/view/shell/mobile'
|
||||
import renderer from 'react-test-renderer'
|
||||
import {SafeAreaProvider} from 'react-native-safe-area-context'
|
||||
// import {render} from '../../../../jest/test-utils'
|
||||
|
||||
describe('MobileShell', () => {
|
||||
it('renders correctly', () => {
|
||||
const tree = renderer
|
||||
.create(
|
||||
<SafeAreaProvider>
|
||||
<MobileShell />
|
||||
</SafeAreaProvider>,
|
||||
)
|
||||
.toJSON()
|
||||
expect(tree).toMatchSnapshot()
|
||||
})
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue