From a333fef254c2dd14ff4f6360123ba2c713dcbd1a Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Mon, 3 Apr 2023 17:38:31 -0700 Subject: [PATCH 01/26] Save State: Control Test --- packages/e2e-test-app-fabric/jest.config.js | 12 ++-- .../test/visitAllPages.test.js | 62 +++++++++++++++++++ 2 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 packages/e2e-test-app-fabric/test/visitAllPages.test.js diff --git a/packages/e2e-test-app-fabric/jest.config.js b/packages/e2e-test-app-fabric/jest.config.js index 06d65f81854..4f3581fadd7 100644 --- a/packages/e2e-test-app-fabric/jest.config.js +++ b/packages/e2e-test-app-fabric/jest.config.js @@ -23,10 +23,10 @@ module.exports = { roots: ['/test/'], // The test environment that will be used for testing - testEnvironment: '@react-native-windows/automation', + //testEnvironment: '@react-native-windows/automation', // The pattern or patterns Jest uses to detect test files - testRegex: '.*\\.test\\.ts$', + testRegex: '.*\\.test\\.js$', // Default timeout of a test in milliseconds testTimeout: 70000, @@ -40,7 +40,7 @@ module.exports = { '^.+\\.[jt]sx?$': defaultTransform, }, - snapshotResolver: 'react-native-windows/jest-snapshot-resolver.js', + //snapshotResolver: 'react-native-windows/jest-snapshot-resolver.js', // An array of regexp pattern strings that are matched against all source file paths before transformation. // If the file path matches any of the patterns, it will not be transformed. @@ -54,10 +54,10 @@ module.exports = { // A list of paths to modules that run some code to configure or set up the testing framework // before each test file in the suite is executed - setupFilesAfterEnv: ['react-native-windows/jest/setup', './jest.setup.js'], + //setupFilesAfterEnv: ['react-native-windows/jest/setup', './jest.setup.js'], - testEnvironmentOptions: { + /*testEnvironmentOptions: { app: 'RNTesterApp', enableAutomationChannel: true, - }, + },*/ }; diff --git a/packages/e2e-test-app-fabric/test/visitAllPages.test.js b/packages/e2e-test-app-fabric/test/visitAllPages.test.js new file mode 100644 index 00000000000..f92377e3e89 --- /dev/null +++ b/packages/e2e-test-app-fabric/test/visitAllPages.test.js @@ -0,0 +1,62 @@ +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * @format + */ + +//import {goToApiExample, goToComponentExample} from './RNTesterNavigation'; +//import {verifyNoErrorLogs} from './Helpers'; + +/*afterEach(async () => { + await verifyNoErrorLogs(); +});*/ + +type RNTesterExampleModule = { + title: string; + description: string; +}; + +type RNTesterModuleInfo = { + key: string; + module: RNTesterExampleModule; +}; + +type RNTesterList = { + APIs: RNTesterModuleInfo[]; + Components: RNTesterModuleInfo[]; +}; + +//const testerList: RNTesterList = require('@react-native-windows/tester/js/utils/RNTesterList'); + +//const apiExamples = testerList.APIs.map(e => e.module.title); +//const componentExamples = testerList.Components.map(e => e.module.title); + +describe('visitAllPages', () => { + /*for (const component of componentExamples) { + test(component, async () => await goToComponentExample(component)); + } + + for (const api of apiExamples) { + if (api === 'Transforms') + // disable until either transformExample uses units, or that isn't an error + continue; + + test(api, async () => { + await goToApiExample(api); + + if (api === 'Invalid Props') { + // InvalidPropsExample shows an expected error + await verifyNoErrorLogs((errors: string[]) => { + const expectedInvalidPropError = + "Value '' for width is invalid. Cannot be converted to YGValue. Did you forget the %? Otherwise, simply use integer value."; + expect(errors).toContain(expectedInvalidPropError); + return errors.filter(err => err !== expectedInvalidPropError); + }); + } + }); + }*/ + test('control', () => { + expect(true).toBe(true); + }); +}); From a5224d79a23e11bc21d82de19de173d9275ef801 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 4 Apr 2023 10:58:54 -0700 Subject: [PATCH 02/26] Save State: App Launch by AutomationClient --- packages/e2e-test-app-fabric/jest.config.js | 12 ++++++------ packages/e2e-test-app-fabric/jest.setup.js | 4 ++-- packages/e2e-test-app-fabric/metro.config.js | 2 -- packages/e2e-test-app-fabric/package.json | 2 +- packages/e2e-test-app-fabric/tsconfig.json | 2 +- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/e2e-test-app-fabric/jest.config.js b/packages/e2e-test-app-fabric/jest.config.js index 4f3581fadd7..44fe0a566d5 100644 --- a/packages/e2e-test-app-fabric/jest.config.js +++ b/packages/e2e-test-app-fabric/jest.config.js @@ -23,7 +23,7 @@ module.exports = { roots: ['/test/'], // The test environment that will be used for testing - //testEnvironment: '@react-native-windows/automation', + testEnvironment: '@react-native-windows/automation', // The pattern or patterns Jest uses to detect test files testRegex: '.*\\.test\\.js$', @@ -44,7 +44,7 @@ module.exports = { // An array of regexp pattern strings that are matched against all source file paths before transformation. // If the file path matches any of the patterns, it will not be transformed. - transformIgnorePatterns: ['jest-runner'], + transformIgnorePatterns: ['jest-runner', 'node_modules\\\\safe-buffer'], // Specifies the maximum number of workers the worker-pool will spawn for running tests. maxWorkers: 1, @@ -54,10 +54,10 @@ module.exports = { // A list of paths to modules that run some code to configure or set up the testing framework // before each test file in the suite is executed - //setupFilesAfterEnv: ['react-native-windows/jest/setup', './jest.setup.js'], + setupFilesAfterEnv: ['react-native-windows/jest/setup', './jest.setup.js'], - /*testEnvironmentOptions: { - app: 'RNTesterApp', + testEnvironmentOptions: { + app: `windows\\Debug\\RNTesterApp-Fabric.exe`, enableAutomationChannel: true, - },*/ + }, }; diff --git a/packages/e2e-test-app-fabric/jest.setup.js b/packages/e2e-test-app-fabric/jest.setup.js index a2141d74c08..544fcc6b4fd 100644 --- a/packages/e2e-test-app-fabric/jest.setup.js +++ b/packages/e2e-test-app-fabric/jest.setup.js @@ -9,9 +9,9 @@ const fs = require('fs'); const path = require('path'); const sanitizeFilename = require('sanitize-filename'); -const {LogBox} = require('react-native'); +//const {LogBox} = require('react-native'); const screenshotDir = './errorShots'; fs.mkdirSync(screenshotDir, {recursive: true}); -LogBox.ignoreAllLogs(true); +//LogBox.ignoreAllLogs(true); diff --git a/packages/e2e-test-app-fabric/metro.config.js b/packages/e2e-test-app-fabric/metro.config.js index b2496c3c066..a2170e0cd82 100644 --- a/packages/e2e-test-app-fabric/metro.config.js +++ b/packages/e2e-test-app-fabric/metro.config.js @@ -12,12 +12,10 @@ const path = require('path'); const rnwPath = fs.realpathSync( path.dirname(require.resolve('react-native-windows/package.json')), ); -console.log(rnwPath); const rnwTesterPath = fs.realpathSync( path.dirname(require.resolve('@react-native-windows/tester/package.json')), ); -console.log(rnwTesterPath); const devPackages = { 'react-native': path.normalize(rnwPath), diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index 32477ce3269..949cd155fbb 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -51,4 +51,4 @@ "engines": { "node": ">= 16" } -} +} \ No newline at end of file diff --git a/packages/e2e-test-app-fabric/tsconfig.json b/packages/e2e-test-app-fabric/tsconfig.json index 3dd4a07382c..01ba8e955ef 100644 --- a/packages/e2e-test-app-fabric/tsconfig.json +++ b/packages/e2e-test-app-fabric/tsconfig.json @@ -5,7 +5,7 @@ }, "include": [ "app", - "test", "index.ts", + "test", "index.js", ], "exclude": [ "node_modules" From 594f2fe0c478794aada8b7cb274a6ddbe92f4d39 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:39:41 -0700 Subject: [PATCH 03/26] Save State: Add Helpers File --- packages/e2e-test-app-fabric/test/Helpers.ts | 35 +++++++++++++++++++ .../test/visitAllPages.test.js | 6 ++-- 2 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 packages/e2e-test-app-fabric/test/Helpers.ts diff --git a/packages/e2e-test-app-fabric/test/Helpers.ts b/packages/e2e-test-app-fabric/test/Helpers.ts new file mode 100644 index 00000000000..05e0901fd4d --- /dev/null +++ b/packages/e2e-test-app-fabric/test/Helpers.ts @@ -0,0 +1,35 @@ +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * @format + */ + +import {AutomationClient} from '@react-native-windows/automation-channel'; + +declare global { + const automationClient: AutomationClient | undefined; +} + +type ErrorsResult = { + errors: string[]; +}; + +export async function verifyNoErrorLogs( + errorFilter?: (errors: string[]) => string[], +): Promise { + if (!automationClient) { + throw new Error('RPC client is not enabled'); + } + + const response = await automationClient.invoke('ListErrors', {}); + + if (response.type === 'error') { + throw new Error(response.message); + } + + const result = response.result as ErrorsResult; + + const errors = errorFilter ? errorFilter(result.errors) : result.errors; + expect(errors.join('\n')).toBeFalsy(); +} diff --git a/packages/e2e-test-app-fabric/test/visitAllPages.test.js b/packages/e2e-test-app-fabric/test/visitAllPages.test.js index f92377e3e89..5aed792ec94 100644 --- a/packages/e2e-test-app-fabric/test/visitAllPages.test.js +++ b/packages/e2e-test-app-fabric/test/visitAllPages.test.js @@ -6,11 +6,11 @@ */ //import {goToApiExample, goToComponentExample} from './RNTesterNavigation'; -//import {verifyNoErrorLogs} from './Helpers'; +import {verifyNoErrorLogs} from './Helpers'; -/*afterEach(async () => { +afterEach(async () => { await verifyNoErrorLogs(); -});*/ +}); type RNTesterExampleModule = { title: string; From be034f1000ba57215f3107d4629ff1f4703b5ef0 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 11 Apr 2023 12:02:40 -0700 Subject: [PATCH 04/26] Save State: Launch App + Control Test --- packages/e2e-test-app-fabric/jest.config.js | 2 +- .../test/RNTesterNavigation.ts | 46 +++++++++++++++++++ .../test/visitAllPages.test.js | 11 +++-- .../windows/RNTesterApp-Fabric.sln | 14 ++++++ .../AutolinkedNativeModules.g.cpp | 18 ++++++++ .../AutolinkedNativeModules.g.props | 6 +++ .../AutolinkedNativeModules.g.targets | 10 ++++ 7 files changed, 101 insertions(+), 6 deletions(-) create mode 100644 packages/e2e-test-app-fabric/test/RNTesterNavigation.ts create mode 100644 packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.cpp create mode 100644 packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.props create mode 100644 packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.targets diff --git a/packages/e2e-test-app-fabric/jest.config.js b/packages/e2e-test-app-fabric/jest.config.js index 44fe0a566d5..1bbe04d2a68 100644 --- a/packages/e2e-test-app-fabric/jest.config.js +++ b/packages/e2e-test-app-fabric/jest.config.js @@ -58,6 +58,6 @@ module.exports = { testEnvironmentOptions: { app: `windows\\Debug\\RNTesterApp-Fabric.exe`, - enableAutomationChannel: true, + enableAutomationChannel: false, }, }; diff --git a/packages/e2e-test-app-fabric/test/RNTesterNavigation.ts b/packages/e2e-test-app-fabric/test/RNTesterNavigation.ts new file mode 100644 index 00000000000..b6435b60450 --- /dev/null +++ b/packages/e2e-test-app-fabric/test/RNTesterNavigation.ts @@ -0,0 +1,46 @@ +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * @format + */ + +import {app} from '@react-native-windows/automation'; + +/** + * Visit an example on the RNTester Components tab + */ +export async function goToComponentExample(example: string) { + const componentsTabButton = await app.findElementByTestID('components-tab'); + await componentsTabButton.click(); + await goToExample(example); +} + +/** + * Visit an example on the RNTester APIs tab + */ +export async function goToApiExample(example: string) { + const componentsTabButton = await app.findElementByTestID('apis-tab'); + await componentsTabButton.click(); + await goToExample(example); +} + +async function goToExample(example: string) { + // Filter the list down to the one test, to improve the stability of selectors + const searchBox = await app.findElementByTestID('explorer_search'); + await searchBox.setValue(regexEscape(example)); + + const exampleButton = await app.findElementByTestID(example); + await exampleButton.click(); + + // Make sure we've launched the example by waiting until the search box is + // no longer present, but make sure we haven't crashed by checking that nav + // buttons are still visible + await app.waitUntil(async () => !(await exampleButton.isDisplayed())); + const componentsTab = await app.findElementByTestID('components-tab'); + expect(await componentsTab.isDisplayed()).toBe(true); +} + +function regexEscape(str: string): string { + return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); +} diff --git a/packages/e2e-test-app-fabric/test/visitAllPages.test.js b/packages/e2e-test-app-fabric/test/visitAllPages.test.js index 5aed792ec94..1a700098e37 100644 --- a/packages/e2e-test-app-fabric/test/visitAllPages.test.js +++ b/packages/e2e-test-app-fabric/test/visitAllPages.test.js @@ -5,11 +5,11 @@ * @format */ -//import {goToApiExample, goToComponentExample} from './RNTesterNavigation'; -import {verifyNoErrorLogs} from './Helpers'; +import {goToApiExample, goToComponentExample} from './RNTesterNavigation'; +//import {verifyNoErrorLogs} from './Helpers'; afterEach(async () => { - await verifyNoErrorLogs(); + //await verifyNoErrorLogs(); }); type RNTesterExampleModule = { @@ -35,8 +35,8 @@ type RNTesterList = { describe('visitAllPages', () => { /*for (const component of componentExamples) { test(component, async () => await goToComponentExample(component)); - } - + }*/ + /* for (const api of apiExamples) { if (api === 'Transforms') // disable until either transformExample uses units, or that isn't an error @@ -56,6 +56,7 @@ describe('visitAllPages', () => { } }); }*/ + test('control', () => { expect(true).toBe(true); }); diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.sln b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.sln index 86f1e9225ef..4feda32eaeb 100644 --- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.sln +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.sln @@ -25,6 +25,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Share EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\..\..\vnext\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutomationChannel", "..\..\..\node_modules\@react-native-windows\automation-channel\windows\AutomationChannel\AutomationChannel.vcxproj", "{C0A69310-6119-46DC-A6D6-0BAB7826DC92}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 @@ -117,6 +119,18 @@ Global {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32 {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32 {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Deploy.0 = Release|Win32 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Debug|ARM64.Build.0 = Debug|ARM64 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Debug|x64.ActiveCfg = Debug|x64 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Debug|x64.Build.0 = Debug|x64 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Debug|x86.ActiveCfg = Debug|Win32 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Debug|x86.Build.0 = Debug|Win32 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Release|ARM64.ActiveCfg = Release|ARM64 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Release|ARM64.Build.0 = Release|ARM64 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Release|x64.ActiveCfg = Release|x64 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Release|x64.Build.0 = Release|x64 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Release|x86.ActiveCfg = Release|Win32 + {C0A69310-6119-46DC-A6D6-0BAB7826DC92}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.cpp b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.cpp new file mode 100644 index 00000000000..14af20ba9ce --- /dev/null +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.cpp @@ -0,0 +1,18 @@ +// AutolinkedNativeModules.g.cpp contents generated by "react-native autolink-windows" +// clang-format off +#include "pch.h" +#include "AutolinkedNativeModules.g.h" + +// Includes from @react-native-windows/automation-channel +#include + +namespace winrt::Microsoft::ReactNative +{ + +void RegisterAutolinkedNativeModulePackages(winrt::Windows::Foundation::Collections::IVector const& packageProviders) +{ + // IReactPackageProviders from @react-native-windows/automation-channel + packageProviders.Append(winrt::AutomationChannel::ReactPackageProvider()); +} + +} diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.props b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.props new file mode 100644 index 00000000000..aba33fd9286 --- /dev/null +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.props @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.targets b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.targets new file mode 100644 index 00000000000..aa9e244030d --- /dev/null +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/AutolinkedNativeModules.g.targets @@ -0,0 +1,10 @@ + + + + + + + {c0a69310-6119-46dc-a6d6-0bab7826dc92} + + + From 0dc995247c557b8874a61ad2b122e9d764599e7e Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 12 Apr 2023 13:50:54 -0700 Subject: [PATCH 05/26] Save State --- packages/e2e-test-app-fabric/jest.config.js | 18 +++++++++++++++++- .../test/RNTesterNavigation.ts | 4 ++-- ...tAllPages.test.js => visitAllPages.test.ts} | 6 +++--- 3 files changed, 22 insertions(+), 6 deletions(-) rename packages/e2e-test-app-fabric/test/{visitAllPages.test.js => visitAllPages.test.ts} (92%) diff --git a/packages/e2e-test-app-fabric/jest.config.js b/packages/e2e-test-app-fabric/jest.config.js index 1bbe04d2a68..bc0df407ed2 100644 --- a/packages/e2e-test-app-fabric/jest.config.js +++ b/packages/e2e-test-app-fabric/jest.config.js @@ -26,7 +26,7 @@ module.exports = { testEnvironment: '@react-native-windows/automation', // The pattern or patterns Jest uses to detect test files - testRegex: '.*\\.test\\.js$', + testRegex: '.*\\.test\\.ts$', // Default timeout of a test in milliseconds testTimeout: 70000, @@ -59,5 +59,21 @@ module.exports = { testEnvironmentOptions: { app: `windows\\Debug\\RNTesterApp-Fabric.exe`, enableAutomationChannel: false, + winAppDriverBin: 'D:\\WindowsApplicationDriver\\WinAppDriver.exe', }, + + moduleFileExtensions: [ + 'js', + 'windows.js', + 'android.js', + 'mjs', + 'cjs', + 'jsx', + 'ts', + 'windows.ts', + 'tsx', + 'windows.tsx', + 'json', + 'node', + ], }; diff --git a/packages/e2e-test-app-fabric/test/RNTesterNavigation.ts b/packages/e2e-test-app-fabric/test/RNTesterNavigation.ts index b6435b60450..10cf237c4fe 100644 --- a/packages/e2e-test-app-fabric/test/RNTesterNavigation.ts +++ b/packages/e2e-test-app-fabric/test/RNTesterNavigation.ts @@ -11,8 +11,8 @@ import {app} from '@react-native-windows/automation'; * Visit an example on the RNTester Components tab */ export async function goToComponentExample(example: string) { - const componentsTabButton = await app.findElementByTestID('components-tab'); - await componentsTabButton.click(); + //const componentsTabButton = await app.findElementByTestID('components-tab'); + //await componentsTabButton.click(); await goToExample(example); } diff --git a/packages/e2e-test-app-fabric/test/visitAllPages.test.js b/packages/e2e-test-app-fabric/test/visitAllPages.test.ts similarity index 92% rename from packages/e2e-test-app-fabric/test/visitAllPages.test.js rename to packages/e2e-test-app-fabric/test/visitAllPages.test.ts index 1a700098e37..d6ba979f960 100644 --- a/packages/e2e-test-app-fabric/test/visitAllPages.test.js +++ b/packages/e2e-test-app-fabric/test/visitAllPages.test.ts @@ -33,9 +33,9 @@ type RNTesterList = { //const componentExamples = testerList.Components.map(e => e.module.title); describe('visitAllPages', () => { - /*for (const component of componentExamples) { - test(component, async () => await goToComponentExample(component)); - }*/ + //for (const component of componentExamples) { + test('Button', async () => await goToComponentExample('Button')); + //} /* for (const api of apiExamples) { if (api === 'Transforms') From ad60e39a0910dd7bb651d6c0f14cc7e4a7c126af Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 10 May 2023 18:09:20 -0700 Subject: [PATCH 06/26] Save State --- packages/e2e-test-app-fabric/test/visitAllPages.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/e2e-test-app-fabric/test/visitAllPages.test.ts b/packages/e2e-test-app-fabric/test/visitAllPages.test.ts index d6ba979f960..4ce64eb26e8 100644 --- a/packages/e2e-test-app-fabric/test/visitAllPages.test.ts +++ b/packages/e2e-test-app-fabric/test/visitAllPages.test.ts @@ -34,7 +34,7 @@ type RNTesterList = { describe('visitAllPages', () => { //for (const component of componentExamples) { - test('Button', async () => await goToComponentExample('Button')); + //test('Button', async () => await goToComponentExample('Button')); //} /* for (const api of apiExamples) { From 6bd28ad80acd4c41f12cb038ef1174ffa77303fd Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Fri, 12 May 2023 10:40:56 -0700 Subject: [PATCH 07/26] Save State --- packages/e2e-test-app-fabric/babel.config.js | 3 ++ packages/e2e-test-app-fabric/jest.config.js | 6 ++- packages/e2e-test-app-fabric/package.json | 1 + .../__snapshots__/snapshotPages.test.js.snap | 5 ++ .../test/snapshotPages.test.js | 18 +++++++ .../test/visitAllPages.test.ts | 54 +------------------ 6 files changed, 33 insertions(+), 54 deletions(-) create mode 100644 packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap create mode 100644 packages/e2e-test-app-fabric/test/snapshotPages.test.js diff --git a/packages/e2e-test-app-fabric/babel.config.js b/packages/e2e-test-app-fabric/babel.config.js index 839f62a25a7..6dd5138c683 100644 --- a/packages/e2e-test-app-fabric/babel.config.js +++ b/packages/e2e-test-app-fabric/babel.config.js @@ -1,3 +1,6 @@ module.exports = { extends: "@rnw-scripts/babel-react-native-config", + plugins: [ + "@react-native/babel-plugin-codegen" + ] }; \ No newline at end of file diff --git a/packages/e2e-test-app-fabric/jest.config.js b/packages/e2e-test-app-fabric/jest.config.js index bc0df407ed2..94fd7c2c803 100644 --- a/packages/e2e-test-app-fabric/jest.config.js +++ b/packages/e2e-test-app-fabric/jest.config.js @@ -23,10 +23,12 @@ module.exports = { roots: ['/test/'], // The test environment that will be used for testing - testEnvironment: '@react-native-windows/automation', + // This environment causes the app to launch and close after testing is complete. + // Temporarily disabling due to breaks in UIA implementation. + //testEnvironment: '@react-native-windows/automation', // The pattern or patterns Jest uses to detect test files - testRegex: '.*\\.test\\.ts$', + testRegex: ['.*\\.test\\.ts$', '.*\\.test\\.js$'], // Default timeout of a test in milliseconds testTimeout: 70000, diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index 949cd155fbb..602b3c9d200 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -27,6 +27,7 @@ "@babel/preset-env": "^7.8.4", "@babel/preset-typescript": "^7.8.3", "@babel/runtime": "^7.8.4", + "@react-native/babel-plugin-codegen": "0.73.0", "@react-native-windows/automation": "^0.3.97", "@react-native-windows/automation-commands": "^0.1.117", "@rnw-scripts/babel-node-config": "2.3.0", diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap new file mode 100644 index 00000000000..594eee1c795 --- /dev/null +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -0,0 +1,5 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Control 1`] = `"View"`; + +exports[`Control2 1`] = `null`; diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js new file mode 100644 index 00000000000..44fa96a3d13 --- /dev/null +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -0,0 +1,18 @@ +const React = require('react'); +import {create, act} from 'react-test-renderer'; +const Example = require('@react-native-windows/tester/js/examples/View/ViewExample.windows'); +const ReactNative = require('react-native'); + +function Control(props) { + return ; +} + +test('Control', () => { + const tree = create('View').toJSON(); + expect(tree).toMatchSnapshot(); +}); + +test('Control2', () => { + const tree = create().toJSON(); + expect(tree).toMatchSnapshot(); +}); \ No newline at end of file diff --git a/packages/e2e-test-app-fabric/test/visitAllPages.test.ts b/packages/e2e-test-app-fabric/test/visitAllPages.test.ts index 4ce64eb26e8..b09ddb2411e 100644 --- a/packages/e2e-test-app-fabric/test/visitAllPages.test.ts +++ b/packages/e2e-test-app-fabric/test/visitAllPages.test.ts @@ -4,60 +4,10 @@ * * @format */ - -import {goToApiExample, goToComponentExample} from './RNTesterNavigation'; -//import {verifyNoErrorLogs} from './Helpers'; - -afterEach(async () => { - //await verifyNoErrorLogs(); -}); - -type RNTesterExampleModule = { - title: string; - description: string; -}; - -type RNTesterModuleInfo = { - key: string; - module: RNTesterExampleModule; -}; - -type RNTesterList = { - APIs: RNTesterModuleInfo[]; - Components: RNTesterModuleInfo[]; -}; - -//const testerList: RNTesterList = require('@react-native-windows/tester/js/utils/RNTesterList'); - -//const apiExamples = testerList.APIs.map(e => e.module.title); -//const componentExamples = testerList.Components.map(e => e.module.title); - describe('visitAllPages', () => { - //for (const component of componentExamples) { - //test('Button', async () => await goToComponentExample('Button')); - //} - /* - for (const api of apiExamples) { - if (api === 'Transforms') - // disable until either transformExample uses units, or that isn't an error - continue; - - test(api, async () => { - await goToApiExample(api); - - if (api === 'Invalid Props') { - // InvalidPropsExample shows an expected error - await verifyNoErrorLogs((errors: string[]) => { - const expectedInvalidPropError = - "Value '' for width is invalid. Cannot be converted to YGValue. Did you forget the %? Otherwise, simply use integer value."; - expect(errors).toContain(expectedInvalidPropError); - return errors.filter(err => err !== expectedInvalidPropError); - }); - } - }); - }*/ - test('control', () => { expect(true).toBe(true); }); }); + +export {}; From 04ce7d4a433dbaf6d7686307616088a1db7a619b Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Mon, 15 May 2023 16:15:23 -0700 Subject: [PATCH 08/26] Save State --- packages/e2e-test-app-fabric/test/snapshotPages.test.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index 44fa96a3d13..9b1c8ba7148 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -1,11 +1,6 @@ const React = require('react'); import {create, act} from 'react-test-renderer'; const Example = require('@react-native-windows/tester/js/examples/View/ViewExample.windows'); -const ReactNative = require('react-native'); - -function Control(props) { - return ; -} test('Control', () => { const tree = create('View').toJSON(); From e0aa896c8bc59b5a08fc19e7447e93260664fe0e Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Mon, 15 May 2023 17:06:17 -0700 Subject: [PATCH 09/26] Adjust DeviceInfo --- .../windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp | 2 +- yarn.lock | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp index 6597293233e..b7eaf751f63 100644 --- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp @@ -52,7 +52,7 @@ struct CompReactPackageProvider public: // IReactPackageProvider void CreatePackage(winrt::Microsoft::ReactNative::IReactPackageBuilder const &packageBuilder) noexcept { AddAttributedModules(packageBuilder, true); - packageBuilder.AddModule(L"DeviceInfo", winrt::Microsoft::ReactNative::MakeTurboModuleProvider()); + packageBuilder.AddTurboModule(L"DeviceInfo", winrt::Microsoft::ReactNative::MakeModuleProvider()); } }; diff --git a/yarn.lock b/yarn.lock index f02667d441e..032d575255c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2328,6 +2328,13 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== +"@react-native/babel-plugin-codegen@0.72.3": + version "0.72.3" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.72.3.tgz#c984073369a29eb15fb9235f8076d5f6c617cb61" + integrity sha512-Mtb7YPeOAIFc1XL4LPqahXQ9tVN8qPK92Qhpd+Vcj2bviWf5xvoMmC5bNDbIdHd6UifhmzfVoHRLSAfW79s1rQ== + dependencies: + "@react-native/codegen" "*" + "@react-native/babel-plugin-codegen@0.73.0": version "0.73.0" resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.0.tgz#8cc8ffe8c2c8f270990d053f751f237b5b9e6e94" From d6ed3d530a05f24291788c91d81436ab6ba09d51 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:45:20 -0700 Subject: [PATCH 10/26] Save State --- packages/e2e-test-app-fabric/test/snapshotPages.test.js | 7 ++++++- .../windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index 9b1c8ba7148..c27375396b5 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -1,6 +1,5 @@ const React = require('react'); import {create, act} from 'react-test-renderer'; -const Example = require('@react-native-windows/tester/js/examples/View/ViewExample.windows'); test('Control', () => { const tree = create('View').toJSON(); @@ -8,6 +7,12 @@ test('Control', () => { }); test('Control2', () => { + global.__fbBatchedBridgeConfig = true; + const PlatformConstants = 'react-native/Libraries/Utilities/NativePlatformConstantsAndroid.js'; + + jest.mock('react-native/Libraries/Utilities/NativePlatformConstantsAndroid.js'); + + const Example = require('@react-native-windows/tester/js/examples-win/Switch/SwitchExample.windows'); const tree = create().toJSON(); expect(tree).toMatchSnapshot(); }); \ No newline at end of file diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp index b7eaf751f63..d711eb1c8d0 100644 --- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp @@ -191,7 +191,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) case WM_GETOBJECT: { if (lParam == UiaRootObjectId) { auto windowData = WindowData::GetFromWindow(hWnd); - if (!windowData->m_windowInited) + if (windowData == nullptr || !windowData->m_windowInited) break; auto hwndHost = windowData->m_CompositionHwndHost; From a7e6356cb473c3ce428b59586e491b60610444e3 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Thu, 13 Jul 2023 16:06:39 -0700 Subject: [PATCH 11/26] Save State --- packages/e2e-test-app-fabric/jest.config.js | 4 ++-- .../windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp | 5 +++-- yarn.lock | 7 ------- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/packages/e2e-test-app-fabric/jest.config.js b/packages/e2e-test-app-fabric/jest.config.js index 94fd7c2c803..5fe70037939 100644 --- a/packages/e2e-test-app-fabric/jest.config.js +++ b/packages/e2e-test-app-fabric/jest.config.js @@ -25,7 +25,7 @@ module.exports = { // The test environment that will be used for testing // This environment causes the app to launch and close after testing is complete. // Temporarily disabling due to breaks in UIA implementation. - //testEnvironment: '@react-native-windows/automation', + testEnvironment: '@react-native-windows/automation', // The pattern or patterns Jest uses to detect test files testRegex: ['.*\\.test\\.ts$', '.*\\.test\\.js$'], @@ -60,7 +60,7 @@ module.exports = { testEnvironmentOptions: { app: `windows\\Debug\\RNTesterApp-Fabric.exe`, - enableAutomationChannel: false, + enableAutomationChannel: true, winAppDriverBin: 'D:\\WindowsApplicationDriver\\WinAppDriver.exe', }, diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp index d711eb1c8d0..2b4f17107f5 100644 --- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp @@ -195,9 +195,10 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) break; auto hwndHost = windowData->m_CompositionHwndHost; - winrt::com_ptr spReps; + /*winrt::com_ptr spReps; hwndHost.UiaProvider().as(spReps); - LRESULT lResult = UiaReturnRawElementProvider(hWnd, wParam, lParam, spReps.get()); + LRESULT lResult = UiaReturnRawElementProvider(hWnd, wParam, lParam, spReps.get());*/ + LRESULT lResult{}; return lResult; } } diff --git a/yarn.lock b/yarn.lock index 032d575255c..f02667d441e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2328,13 +2328,6 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/babel-plugin-codegen@0.72.3": - version "0.72.3" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.72.3.tgz#c984073369a29eb15fb9235f8076d5f6c617cb61" - integrity sha512-Mtb7YPeOAIFc1XL4LPqahXQ9tVN8qPK92Qhpd+Vcj2bviWf5xvoMmC5bNDbIdHd6UifhmzfVoHRLSAfW79s1rQ== - dependencies: - "@react-native/codegen" "*" - "@react-native/babel-plugin-codegen@0.73.0": version "0.73.0" resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.0.tgz#8cc8ffe8c2c8f270990d053f751f237b5b9e6e94" From b88d068e9abc7ee9f76ecf0ae7e86a5acc7582d0 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 25 Jul 2023 17:12:58 -0700 Subject: [PATCH 12/26] Save State: Control Tests --- packages/e2e-test-app-fabric/jest.config.js | 2 +- packages/e2e-test-app-fabric/test/snapshotPages.test.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/e2e-test-app-fabric/jest.config.js b/packages/e2e-test-app-fabric/jest.config.js index 5fe70037939..079529b254a 100644 --- a/packages/e2e-test-app-fabric/jest.config.js +++ b/packages/e2e-test-app-fabric/jest.config.js @@ -25,7 +25,7 @@ module.exports = { // The test environment that will be used for testing // This environment causes the app to launch and close after testing is complete. // Temporarily disabling due to breaks in UIA implementation. - testEnvironment: '@react-native-windows/automation', + // testEnvironment: '@react-native-windows/automation', // The pattern or patterns Jest uses to detect test files testRegex: ['.*\\.test\\.ts$', '.*\\.test\\.js$'], diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index c27375396b5..548576e75db 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -5,7 +5,7 @@ test('Control', () => { const tree = create('View').toJSON(); expect(tree).toMatchSnapshot(); }); - +/* test('Control2', () => { global.__fbBatchedBridgeConfig = true; const PlatformConstants = 'react-native/Libraries/Utilities/NativePlatformConstantsAndroid.js'; @@ -15,4 +15,4 @@ test('Control2', () => { const Example = require('@react-native-windows/tester/js/examples-win/Switch/SwitchExample.windows'); const tree = create().toJSON(); expect(tree).toMatchSnapshot(); -}); \ No newline at end of file +});*/ \ No newline at end of file From d82b2f70618aa0d842043c539cbee00938cbec53 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 25 Jul 2023 17:14:54 -0700 Subject: [PATCH 13/26] Save State: Min Repro BatchedBridge --- .../e2e-test-app-fabric/test/snapshotPages.test.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index 548576e75db..16b4ea2437e 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -5,14 +5,9 @@ test('Control', () => { const tree = create('View').toJSON(); expect(tree).toMatchSnapshot(); }); -/* -test('Control2', () => { - global.__fbBatchedBridgeConfig = true; - const PlatformConstants = 'react-native/Libraries/Utilities/NativePlatformConstantsAndroid.js'; - - jest.mock('react-native/Libraries/Utilities/NativePlatformConstantsAndroid.js'); - const Example = require('@react-native-windows/tester/js/examples-win/Switch/SwitchExample.windows'); +test('Control2', () => { + const Example = require('@react-native-windows/tester/js/examples-win/Switch/SwitchExample'); const tree = create().toJSON(); expect(tree).toMatchSnapshot(); -});*/ \ No newline at end of file +}); \ No newline at end of file From d490424cbd897e4eb5990aba85fe7ba7fd4f56e8 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 25 Jul 2023 17:23:10 -0700 Subject: [PATCH 14/26] Save State: Component Control Test Working! --- packages/e2e-test-app-fabric/package.json | 9 +- .../__snapshots__/snapshotPages.test.js.snap | 4 +- .../test/snapshotPages.test.js | 11 +- yarn.lock | 438 +++++++++++++++--- 4 files changed, 379 insertions(+), 83 deletions(-) diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index 602b3c9d200..4adc23a6c5d 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -8,7 +8,7 @@ "lint:fix": "rnw-scripts lint:fix", "watch": "rnw-scripts watch", "windows": "react-native run-windows", - "e2etest": "jest", + "e2etest": "react-native rnx-test --platform windows", "e2etest:updateSnapshots": "jest -u", "e2etest:debug": "jest --config ./jest.debug.config.js" }, @@ -27,16 +27,17 @@ "@babel/preset-env": "^7.8.4", "@babel/preset-typescript": "^7.8.3", "@babel/runtime": "^7.8.4", - "@react-native/babel-plugin-codegen": "0.73.0", "@react-native-windows/automation": "^0.3.97", "@react-native-windows/automation-commands": "^0.1.117", + "@react-native/babel-plugin-codegen": "0.73.0", "@rnw-scripts/babel-node-config": "2.3.0", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.1", "@rnw-scripts/just-task": "2.3.12", "@rnw-scripts/metro-dev-config": "0.0.0", "@rnw-scripts/ts-config": "2.0.4", - "@rnx-kit/jest-preset": "^0.1.0", + "@rnx-kit/cli": "^0.16.9", + "@rnx-kit/jest-preset": "^0.1.14", "@types/jest": "^29.2.2", "@types/node": "^16.0.0", "@types/react": "^18.0.18", @@ -52,4 +53,4 @@ "engines": { "node": ">= 16" } -} \ No newline at end of file +} diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index 594eee1c795..290d0945bcd 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -1,5 +1,3 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Control 1`] = `"View"`; - -exports[`Control2 1`] = `null`; +exports[`Component Control 1`] = ``; diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index 16b4ea2437e..3dc7079fb89 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -1,13 +1,8 @@ const React = require('react'); import {create, act} from 'react-test-renderer'; +import {View} from 'react-native'; -test('Control', () => { - const tree = create('View').toJSON(); - expect(tree).toMatchSnapshot(); -}); - -test('Control2', () => { - const Example = require('@react-native-windows/tester/js/examples-win/Switch/SwitchExample'); - const tree = create().toJSON(); +test('Component Control', () => { + const tree = create().toJSON(); expect(tree).toMatchSnapshot(); }); \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index f02667d441e..f3436571610 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1412,6 +1412,116 @@ tar "^6.1.11" tar-stream "^2.1.4" +"@esbuild/android-arm64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.16.tgz#34f562abc0015933aabd41b3d50d8d3359e30155" + integrity sha512-wsCqSPqLz+6Ov+OM4EthU43DyYVVyfn15S4j1bJzylDpc1r1jZFFfJQNfDuT8SlgwuqpmpJXK4uPlHGw6ve7eA== + +"@esbuild/android-arm@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.16.tgz#ef6f9aa59a79a9b9330a2e73f7eb402c6630c267" + integrity sha512-gCHjjQmA8L0soklKbLKA6pgsLk1byULuHe94lkZDzcO3/Ta+bbeewJioEn1Fr7kgy9NWNFy/C+MrBwC6I/WCug== + +"@esbuild/android-x64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.16.tgz#ed7444cb17542932c67b15e20528686853239cfd" + integrity sha512-ldsTXolyA3eTQ1//4DS+E15xl0H/3DTRJaRL0/0PgkqDsI0fV/FlOtD+h0u/AUJr+eOTlZv4aC9gvfppo3C4sw== + +"@esbuild/darwin-arm64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.16.tgz#3c5a083e6e08a50f478fa243939989d86be1c6bf" + integrity sha512-aBxruWCII+OtluORR/KvisEw0ALuw/qDQWvkoosA+c/ngC/Kwk0lLaZ+B++LLS481/VdydB2u6tYpWxUfnLAIw== + +"@esbuild/darwin-x64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.16.tgz#a8f3b61bee2807131cbe28eb164ad2b0333b59f5" + integrity sha512-6w4Dbue280+rp3LnkgmriS1icOUZDyPuZo/9VsuMUTns7SYEiOaJ7Ca1cbhu9KVObAWfmdjUl4gwy9TIgiO5eA== + +"@esbuild/freebsd-arm64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.16.tgz#9bdbb3f0e5f0842b21c9b8602e70c106174ac24c" + integrity sha512-x35fCebhe9s979DGKbVAwXUOcTmCIE32AIqB9CB1GralMIvxdnMLAw5CnID17ipEw9/3MvDsusj/cspYt2ZLNQ== + +"@esbuild/freebsd-x64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.16.tgz#24f73956436495cc7a5a4bf06be6b661aea6a2c1" + integrity sha512-YM98f+PeNXF3GbxIJlUsj+McUWG1irguBHkszCIwfr3BXtXZsXo0vqybjUDFfu9a8Wr7uUD/YSmHib+EeGAFlg== + +"@esbuild/linux-arm64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.16.tgz#244569757f9cbd912f5a595a8ad8144f8c915f13" + integrity sha512-XIqhNUxJiuy+zsR77+H5Z2f7s4YRlriSJKtvx99nJuG5ATuJPjmZ9n0ANgnGlPCpXGSReFpgcJ7O3SMtzIFeiQ== + +"@esbuild/linux-arm@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.16.tgz#d63923c63af534032cc5ea0b2a0b3de10f8357f5" + integrity sha512-b5ABb+5Ha2C9JkeZXV+b+OruR1tJ33ePmv9ZwMeETSEKlmu/WJ45XTTG+l6a2KDsQtJJ66qo/hbSGBtk0XVLHw== + +"@esbuild/linux-ia32@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.16.tgz#a8825ccea6309f0bccfc5d87b43163ba804c2f20" + integrity sha512-no+pfEpwnRvIyH+txbBAWtjxPU9grslmTBfsmDndj7bnBmr55rOo/PfQmRfz7Qg9isswt1FP5hBbWb23fRWnow== + +"@esbuild/linux-loong64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.16.tgz#f530e820fc3c61cf2206155b994aeab53b6d25be" + integrity sha512-Zbnczs9ZXjmo0oZSS0zbNlJbcwKXa/fcNhYQjahDs4Xg18UumpXG/lwM2lcSvHS3mTrRyCYZvJbmzYc4laRI1g== + +"@esbuild/linux-mips64el@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.16.tgz#2d47ace539257896865d243641bd6716684a1e82" + integrity sha512-YMF7hih1HVR/hQVa/ot4UVffc5ZlrzEb3k2ip0nZr1w6fnYypll9td2qcoMLvd3o8j3y6EbJM3MyIcXIVzXvQQ== + +"@esbuild/linux-ppc64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.16.tgz#d6913e7e9be9e242a6a20402800141bdbe7009f7" + integrity sha512-Wkz++LZ29lDwUyTSEnzDaaP5OveOgTU69q9IyIw9WqLRxM4BjTBjz9un4G6TOvehWpf/J3gYVFN96TjGHrbcNQ== + +"@esbuild/linux-riscv64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.16.tgz#8f33b627389c8234fe61f4636c134f17fb1d9b09" + integrity sha512-LFMKZ30tk78/mUv1ygvIP+568bwf4oN6reG/uczXnz6SvFn4e2QUFpUpZY9iSJT6Qpgstrhef/nMykIXZtZWGQ== + +"@esbuild/linux-s390x@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.16.tgz#4d44c030f78962cf410f604f92fcc1505e4afdde" + integrity sha512-3ZC0BgyYHYKfZo3AV2/66TD/I9tlSBaW7eWTEIkrQQKfJIifKMMttXl9FrAg+UT0SGYsCRLI35Gwdmm96vlOjg== + +"@esbuild/linux-x64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.16.tgz#8846d00e16b1e93eb488c8b4dd51c946adfc236f" + integrity sha512-xu86B3647DihHJHv/wx3NCz2Dg1gjQ8bbf9cVYZzWKY+gsvxYmn/lnVlqDRazObc3UMwoHpUhNYaZset4X8IPA== + +"@esbuild/netbsd-x64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.16.tgz#6514a86bd07744f3100d2813ea2fb6520d53e72e" + integrity sha512-uVAgpimx9Ffw3xowtg/7qQPwHFx94yCje+DoBx+LNm2ePDpQXHrzE+Sb0Si2VBObYz+LcRps15cq+95YM7gkUw== + +"@esbuild/openbsd-x64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.16.tgz#ae67ce766d58aab6c0e6037f1a76f15df4a2a5fe" + integrity sha512-6OjCQM9wf7z8/MBi6BOWaTL2AS/SZudsZtBziXMtNI8r/U41AxS9x7jn0ATOwVy08OotwkPqGRMkpPR2wcTJXA== + +"@esbuild/sunos-x64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.16.tgz#998efe8a58374b7351ac710455051639a6ce6a05" + integrity sha512-ZoNkruFYJp9d1LbUYCh8awgQDvB9uOMZqlQ+gGEZR7v6C+N6u7vPr86c+Chih8niBR81Q/bHOSKGBK3brJyvkQ== + +"@esbuild/win32-arm64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.16.tgz#8de33682243508eef8d4de1816df2c05adad2b21" + integrity sha512-+j4anzQ9hrs+iqO+/wa8UE6TVkKua1pXUb0XWFOx0FiAj6R9INJ+WE//1/Xo6FG1vB5EpH3ko+XcgwiDXTxcdw== + +"@esbuild/win32-ia32@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.16.tgz#95c9f4274fb3ef9e449d464ffe3e3b7fa091503b" + integrity sha512-5PFPmq3sSKTp9cT9dzvI67WNfRZGvEVctcZa1KGjDDu4n3H8k59Inbk0du1fz0KrAbKKNpJbdFXQMDUz7BG4rQ== + +"@esbuild/win32-x64@0.18.16": + version "0.18.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.16.tgz#5be58d31d0120c68af8e38b702e6937ce764cd68" + integrity sha512-sCIVrrtcWN5Ua7jYXNG1xD199IalrbfV2+0k/2Zf2OyV2FtnQnMgdzgpRAbi4AWlKJj1jkX+M+fEGPQj6BQB4w== + "@eslint-community/eslint-utils@^4.2.0": version "4.2.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz#a831e6e468b4b2b5ae42bf658bea015bf10bc518" @@ -2427,6 +2537,11 @@ resolved "https://registry.yarnpkg.com/@reactions/component/-/component-2.0.2.tgz#40f8c1c2c37baabe57a0c944edb9310dc1ec6642" integrity sha1-QPjBwsN7qr5XoMlE7bkxDcHsZkI= +"@rnx-kit/align-deps@^2.2.2": + version "2.2.4" + resolved "https://registry.yarnpkg.com/@rnx-kit/align-deps/-/align-deps-2.2.4.tgz#3ed70da68276163ee9b362f1c625ccc4e17d364d" + integrity sha512-sLbQMBU6LvYesH6AsIHKsN6e90PU1JGyjzvZDXYX8VnxqgjmEkgqHF8/PFAKi0lP+OUzDZk6bmSo3cbhd6OqXg== + "@rnx-kit/babel-preset-metro-react-native@^1.1.4": version "1.1.4" resolved "https://registry.yarnpkg.com/@rnx-kit/babel-preset-metro-react-native/-/babel-preset-metro-react-native-1.1.4.tgz#7c526987208547614f7fc43ed6e001b183083dd7" @@ -2434,6 +2549,40 @@ dependencies: babel-plugin-const-enum "^1.0.0" +"@rnx-kit/cli@^0.16.9": + version "0.16.9" + resolved "https://registry.yarnpkg.com/@rnx-kit/cli/-/cli-0.16.9.tgz#69947223ebb12f75e0a349cb4ee61e9ffb846146" + integrity sha512-R93xEfLj/v6fclHBFmlfBW9zulDcFV6QnkWB3ypP2GJ5bJA8kEu7nXKybgfcV/wDRqOFVj40PcBaiGP1/30XOw== + dependencies: + "@rnx-kit/align-deps" "^2.2.2" + "@rnx-kit/config" "^0.6.2" + "@rnx-kit/console" "^1.0.11" + "@rnx-kit/metro-plugin-cyclic-dependencies-detector" "^1.1.1" + "@rnx-kit/metro-plugin-duplicates-checker" "^2.1.1" + "@rnx-kit/metro-plugin-typescript" "^0.4.1" + "@rnx-kit/metro-serializer" "^1.0.11" + "@rnx-kit/metro-serializer-esbuild" "^0.1.22" + "@rnx-kit/metro-service" "^3.0.4" + "@rnx-kit/third-party-notices" "^1.3.3" + "@rnx-kit/tools-language" "^2.0.0" + "@rnx-kit/tools-node" "^2.0.0" + "@rnx-kit/tools-react-native" "^1.3.1" + chalk "^4.1.0" + find-up "^5.0.0" + fs-extra "^10.0.0" + ora "^5.4.1" + qrcode "^1.5.0" + readline "^1.3.0" + +"@rnx-kit/config@^0.6.2", "@rnx-kit/config@^0.6.3": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@rnx-kit/config/-/config-0.6.4.tgz#b6f447e475cb4d3ad115f98512af6757cc642b27" + integrity sha512-/TEM41vFTU7O76MA6OjRNcGRvbYsiRon9ZOKaBQUomNfMVO9w1ts0Ax5SUC+q9ik7i4HDsjfwoMv3c+qmRq5+w== + dependencies: + "@rnx-kit/console" "^1.0.11" + "@rnx-kit/tools-node" "^2.0.0" + semver "^7.0.0" + "@rnx-kit/console@^1.0.0", "@rnx-kit/console@^1.0.11": version "1.0.11" resolved "https://registry.yarnpkg.com/@rnx-kit/console/-/console-1.0.11.tgz#63c9124080424fefb10252d6b3f6bd16e8f71529" @@ -2441,7 +2590,7 @@ dependencies: chalk "^4.1.0" -"@rnx-kit/jest-preset@^0.1.0": +"@rnx-kit/jest-preset@^0.1.0", "@rnx-kit/jest-preset@^0.1.14": version "0.1.14" resolved "https://registry.yarnpkg.com/@rnx-kit/jest-preset/-/jest-preset-0.1.14.tgz#f9fc2d5f813fc3c9b1fb74e192ec9a35ba5fff78" integrity sha512-gM/tz/VOdBWxF1n9prwnGbQUnFudt1eRqVrIZWRI5qikbKUEKyzK57iMjEGSZBIA+EpkOzEI+UOzKpW47zL0Yw== @@ -2461,7 +2610,15 @@ "@rnx-kit/tools-react-native" "^1.3.1" "@rnx-kit/tools-workspaces" "^0.1.3" -"@rnx-kit/metro-plugin-duplicates-checker@^2.1.0": +"@rnx-kit/metro-plugin-cyclic-dependencies-detector@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@rnx-kit/metro-plugin-cyclic-dependencies-detector/-/metro-plugin-cyclic-dependencies-detector-1.1.2.tgz#587dba02447d32c7a1e51e2469ff2ea0ce3bde10" + integrity sha512-NiAyZy8KRGo/+5F+Qdw0zTYJmEfcxpv1tjA83y3zenKCZyxL3IRDeI/moCBerxjU0usSGjEFraxJk9HklnV4jw== + dependencies: + "@rnx-kit/console" "^1.0.11" + "@rnx-kit/tools-node" "^2.0.0" + +"@rnx-kit/metro-plugin-duplicates-checker@^2.1.0", "@rnx-kit/metro-plugin-duplicates-checker@^2.1.1": version "2.1.2" resolved "https://registry.yarnpkg.com/@rnx-kit/metro-plugin-duplicates-checker/-/metro-plugin-duplicates-checker-2.1.2.tgz#3784525dd412ab9a1a900ff2be697107b5b28121" integrity sha512-77urwex95u8eHGpYJKnu6JVkT2WjB08Cg9qot4XbwM7y7WD0kLQcJrvCkqekQbtg6kolOyk6jCz84zNeyhyLqw== @@ -2469,6 +2626,32 @@ "@rnx-kit/console" "^1.0.11" "@rnx-kit/tools-node" "^2.0.0" +"@rnx-kit/metro-plugin-typescript@^0.4.1": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@rnx-kit/metro-plugin-typescript/-/metro-plugin-typescript-0.4.3.tgz#edd73c1afc0911a63c9371bba81766058ef4ac97" + integrity sha512-ehyHCHnGYlTFi7eAxAY/ZAZDzquOb/L/0LDq3asfbAQwTeF8M9+FQTCTk3R8O3gIAnoQVvhXzJ3pmD+iBiNAjg== + dependencies: + "@rnx-kit/config" "^0.6.3" + "@rnx-kit/console" "^1.0.0" + "@rnx-kit/tools-node" "^2.0.0" + "@rnx-kit/tools-react-native" "^1.3.1" + "@rnx-kit/typescript-service" "^1.5.6" + semver "^7.0.0" + typescript ">=4.7.0" + +"@rnx-kit/metro-serializer-esbuild@^0.1.22": + version "0.1.26" + resolved "https://registry.yarnpkg.com/@rnx-kit/metro-serializer-esbuild/-/metro-serializer-esbuild-0.1.26.tgz#2a4a5e2f5f1248f8f694069d934c0edc97979396" + integrity sha512-W0dCYRhmImgCtR4q/BZNiNj9GxHYhATI0+T6zGholkZSBsu/C0eUY8mX0w1QORYlFZRYMzbbnoDBiMr2wRge4A== + dependencies: + "@rnx-kit/console" "^1.0.11" + "@rnx-kit/tools-node" "^2.0.0" + "@rnx-kit/tools-react-native" "^1.3.1" + esbuild "^0.18.0" + esbuild-plugin-lodash "^1.2.0" + fast-glob "^3.2.7" + semver "^7.0.0" + "@rnx-kit/metro-serializer@^1.0.11": version "1.0.11" resolved "https://registry.yarnpkg.com/@rnx-kit/metro-serializer/-/metro-serializer-1.0.11.tgz#703a61c70dafa0e89253ad2df7f45f60eaac6bbb" @@ -2476,6 +2659,24 @@ dependencies: semver "^7.0.0" +"@rnx-kit/metro-service@^3.0.4": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@rnx-kit/metro-service/-/metro-service-3.0.5.tgz#c7e1259eaeebda00f14ba9f9fc154b9021ae4b61" + integrity sha512-te9JDNtkPbEROYuW+KbYHZ2yv3QTz4LqrITU34uRUEwCtUirDR6sxaaB+p4vUO3EuahWMQpTSCeVfLggCv0Kow== + dependencies: + "@rnx-kit/tools-language" "^2.0.0" + chalk "^4.1.0" + +"@rnx-kit/third-party-notices@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@rnx-kit/third-party-notices/-/third-party-notices-1.3.3.tgz#febc4609b32c95cabc00bd18546c2b96bcc89241" + integrity sha512-VPmrG0goSMlnlGa2aOFr4yzo6upT6KxqXeRSq5yPDnoSHuU4AeOPihWJHRw6Yw5PP+C629XbJnM5RcHEKhpZMg== + dependencies: + "@rnx-kit/console" "^1.0.11" + "@rnx-kit/tools-node" "^2.0.0" + spdx-expression-parse "^3.0.1" + yargs "^16.0.0" + "@rnx-kit/tools-language@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@rnx-kit/tools-language/-/tools-language-2.0.0.tgz#f6b12f9c7f1aa5245f2e6db4f03855a9a3d40add" @@ -2508,6 +2709,14 @@ read-yaml-file "^2.1.0" strip-json-comments "^3.1.1" +"@rnx-kit/typescript-service@^1.5.6": + version "1.5.6" + resolved "https://registry.yarnpkg.com/@rnx-kit/typescript-service/-/typescript-service-1.5.6.tgz#f1b608113316e21dc9998d70a5b1a44a8b6f1665" + integrity sha512-3Q1PpLI0oJ5XUZfr7lro72gWDBqWX6J7O6OHGibNtciE21ZaNCFLWbAzpabDz4NbZ7dcuYhr1j3JUCnNpJ7GAg== + dependencies: + "@rnx-kit/tools-node" "^2.0.0" + chalk "^4.1.0" + "@rushstack/node-core-library@3.45.3": version "3.45.3" resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.3.tgz#8db2befbbf23969e08d2bc69d5d91ba812c01640" @@ -3330,7 +3539,7 @@ ansi-regex@^2.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== -ansi-regex@^4.0.0: +ansi-regex@^4.0.0, ansi-regex@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== @@ -3340,6 +3549,11 @@ ansi-regex@^5.0.0, ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -5084,6 +5298,11 @@ diff@^3.2.0: resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + dir-glob@^2.0.0, dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -5165,6 +5384,11 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -5341,6 +5565,39 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +esbuild-plugin-lodash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/esbuild-plugin-lodash/-/esbuild-plugin-lodash-1.2.0.tgz#6395b64cbb9b23a1bee3e37fbbdd98c50bd0b53a" + integrity sha512-8CyR67Z/VMvcJ4ABYYSaR2hhioeuoFVII1IsyPb6AwAKN57VQW8jFXyY27OwH4FGU3h3OVwwQ/GVNbo+RgpTGA== + +esbuild@^0.18.0: + version "0.18.16" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.16.tgz#bbeb058c556152bcbff4e8168e7c93020ccf09c3" + integrity sha512-1xLsOXrDqwdHxyXb/x/SOyg59jpf/SH7YMvU5RNSU7z3TInaASNJWNFJ6iRvLvLETZMasF3d1DdZLg7sgRimRQ== + optionalDependencies: + "@esbuild/android-arm" "0.18.16" + "@esbuild/android-arm64" "0.18.16" + "@esbuild/android-x64" "0.18.16" + "@esbuild/darwin-arm64" "0.18.16" + "@esbuild/darwin-x64" "0.18.16" + "@esbuild/freebsd-arm64" "0.18.16" + "@esbuild/freebsd-x64" "0.18.16" + "@esbuild/linux-arm" "0.18.16" + "@esbuild/linux-arm64" "0.18.16" + "@esbuild/linux-ia32" "0.18.16" + "@esbuild/linux-loong64" "0.18.16" + "@esbuild/linux-mips64el" "0.18.16" + "@esbuild/linux-ppc64" "0.18.16" + "@esbuild/linux-riscv64" "0.18.16" + "@esbuild/linux-s390x" "0.18.16" + "@esbuild/linux-x64" "0.18.16" + "@esbuild/netbsd-x64" "0.18.16" + "@esbuild/openbsd-x64" "0.18.16" + "@esbuild/sunos-x64" "0.18.16" + "@esbuild/win32-arm64" "0.18.16" + "@esbuild/win32-ia32" "0.18.16" + "@esbuild/win32-x64" "0.18.16" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -6322,13 +6579,28 @@ glob-hasher@^1.3.0: glob-hasher-win32-arm64-msvc "1.3.0" glob-hasher-win32-x64-msvc "1.3.0" -glob-parent@^3.1.0, glob-parent@^5.1.2, glob-parent@^6.0.2, glob-parent@~5.1.2: +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" @@ -6451,11 +6723,6 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -6943,6 +7210,11 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-callable@^1.1.3, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -7021,7 +7293,7 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^2.1.1: +is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= @@ -7048,6 +7320,13 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== + dependencies: + is-extglob "^2.1.0" + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -7109,7 +7388,7 @@ is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-object@^2.0.4: +is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== @@ -7121,11 +7400,6 @@ is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-primitive@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-3.0.1.tgz#98c4db1abff185485a657fc2905052b940524d05" - integrity sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w== - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -7495,16 +7769,6 @@ jest-junit@^10.0.0: uuid "^3.3.3" xml "^1.0.1" -jest-junit@^13.0.0: - version "13.2.0" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-13.2.0.tgz#66eeb86429aafac8c1745a70f44ace185aacb943" - integrity sha512-B0XNlotl1rdsvFZkFfoa19mc634+rrd8E4Sskb92Bb8MmSXeWV9XJGUyctunZS1W410uAxcyYuPUGVnbcOH8cg== - dependencies: - mkdirp "^1.0.4" - strip-ansi "^6.0.1" - uuid "^8.3.2" - xml "^1.0.1" - jest-leak-detector@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz#cf4bdea9615c72bac4a3a7ba7e7930f9c0610c8c" @@ -8047,7 +8311,26 @@ keyv@^4.0.0: compress-brotli "^1.3.8" json-buffer "3.0.1" -kind-of@6.0.3, kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^4.0.0, kind-of@^5.0.0, kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -9593,18 +9876,6 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-notifier@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-9.0.1.tgz#cea837f4c5e733936c7b9005e6545cea825d1af4" - integrity sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - node-releases@^2.0.12: version "2.0.12" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" @@ -9635,11 +9906,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@^4.5.1: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" @@ -10106,6 +10372,11 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -10240,6 +10511,11 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -10415,6 +10691,16 @@ pure-rand@^6.0.0: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.0.tgz#701996ceefa253507923a0e864c17ab421c04a7c" integrity sha512-rLSBxJjP+4DQOgcJAx6RZHT2he2pkhQdSnofG5VWyVl6GRq/K02ISOuOLcsMOrtKDIJb8JN2zm3FFzWNbezdPw== +qrcode@^1.5.0: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" @@ -11128,13 +11414,15 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-value@^2.0.0, set-value@^2.0.1, set-value@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-4.1.0.tgz#aa433662d87081b75ad88a4743bd450f044e7d09" - integrity sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw== +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== dependencies: - is-plain-object "^2.0.4" - is-primitive "^3.0.1" + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" setprototypeof@1.2.0: version "1.2.0" @@ -11186,11 +11474,6 @@ shelljs@^0.8.4, shelljs@^0.8.5: interpret "^1.0.0" rechoir "^0.6.2" -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" @@ -11385,7 +11668,7 @@ spdx-exceptions@^2.1.0: resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== -spdx-expression-parse@^3.0.0: +spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== @@ -11398,7 +11681,7 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== -split-string@^3.0.2: +split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== @@ -11556,13 +11839,34 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1, strip-ansi@^5.0.0, strip-ansi@^5.2.0, strip-ansi@^6.0.0, strip-ansi@^6.0.1, strip-ansi@^7.0.1: +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -11957,6 +12261,11 @@ typescript@5.0.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== +typescript@>=4.7.0: + version "5.1.6" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" + integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== + typescript@^4.4.3: version "4.8.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" @@ -12186,7 +12495,7 @@ uuid@^3.3.2, uuid@^3.3.3: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.0.0, uuid@^8.3.0, uuid@^8.3.2: +uuid@^8.0.0, uuid@^8.3.0: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== @@ -12464,13 +12773,6 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" - integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== - dependencies: - async-limiter "~1.0.0" - ws@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" @@ -12595,7 +12897,7 @@ yargs@^15.1.0, yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.1.0, yargs@^16.2.0: +yargs@^16.0.0, yargs@^16.1.0, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -12652,7 +12954,7 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== -z-schema@^5.0.2, z-schema@~5.0.2: +z-schema@~5.0.2: version "5.0.6" resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.6.tgz#46d6a687b15e4a4369e18d6cb1c7b8618fc256c5" integrity sha512-+XR1GhnWklYdfr8YaZv/iu+vY+ux7V5DS5zH1DQf6bO5ufrt/5cgNhVO5qyhsjFXvsqQb/f08DWE9b6uPscyAg== From 5b4b68a9b8a93993960f0dea21859bae5089becf Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 25 Jul 2023 17:34:17 -0700 Subject: [PATCH 15/26] Save State: Iterate through RNTester Pages with Control Tests --- .../test/snapshotPages.test.js | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index 3dc7079fb89..41cea8243fb 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -2,7 +2,41 @@ const React = require('react'); import {create, act} from 'react-test-renderer'; import {View} from 'react-native'; +type RNTesterExampleModule = { + title: string; + description: string; +}; + +type RNTesterModuleInfo = { + key: string; + module: RNTesterExampleModule; +}; + +type RNTesterList = { + APIs: RNTesterModuleInfo[]; + Components: RNTesterModuleInfo[]; +}; + +const testerList: RNTesterList = require('@react-native-windows/tester/js/utils/RNTesterList'); + +const apiExamples = testerList.APIs.map(e => e.module.title); +const componentExamples = testerList.Components.map(e => e.module.title); + test('Component Control', () => { const tree = create().toJSON(); expect(tree).toMatchSnapshot(); +}); + +describe('snapshotAllPages', () => { + for (const component of componentExamples) { + test(component, () => {expect(true).toBe(true)}); + } + + for (const api of apiExamples) { + if (api === 'Transforms') + // disable until either transformExample uses units, or that isn't an error + continue; + + test(api, () => {expect(true).toBe(true)}); + } }); \ No newline at end of file From 47a85134510a4d9b226412b995bbcde5b0c17a64 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Tue, 25 Jul 2023 18:17:16 -0700 Subject: [PATCH 16/26] Save State: Component Snapshot Tests, Exit 1 Issue Present --- packages/e2e-test-app-fabric/jest.setup.js | 2 + .../__snapshots__/snapshotPages.test.js.snap | 62014 ++++++++++++++++ .../test/snapshotPages.test.js | 22 +- 3 files changed, 62035 insertions(+), 3 deletions(-) diff --git a/packages/e2e-test-app-fabric/jest.setup.js b/packages/e2e-test-app-fabric/jest.setup.js index 544fcc6b4fd..a235aead994 100644 --- a/packages/e2e-test-app-fabric/jest.setup.js +++ b/packages/e2e-test-app-fabric/jest.setup.js @@ -14,4 +14,6 @@ const sanitizeFilename = require('sanitize-filename'); const screenshotDir = './errorShots'; fs.mkdirSync(screenshotDir, {recursive: true}); +process.env.NODE_ENV = 'test'; + //LogBox.ignoreAllLogs(true); diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index 290d0945bcd..da9c62758ef 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -1,3 +1,62017 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Component Control 1`] = ``; + +exports[`Explicit Component 1`] = ` + + + Blue background + + +`; + +exports[`snapshotAllPages ActivityIndicator 1`] = ` + +`; + +exports[`snapshotAllPages ActivityIndicator 2`] = ` + + + + +`; + +exports[`snapshotAllPages ActivityIndicator 3`] = ` + + + + + + +`; + +exports[`snapshotAllPages ActivityIndicator 4`] = ` + +`; + +exports[`snapshotAllPages ActivityIndicator 5`] = ` + + + + + + +`; + +exports[`snapshotAllPages ActivityIndicator 6`] = ` + +`; + +exports[`snapshotAllPages ActivityIndicator 7`] = ` + +`; + +exports[`snapshotAllPages ActivityIndicator 8`] = ` + +`; + +exports[`snapshotAllPages Button 1`] = ` + + + + + Submit Application + + + + +`; + +exports[`snapshotAllPages Button 2`] = ` + + + + + Cancel Application + + + + +`; + +exports[`snapshotAllPages Button 3`] = ` + + + + + + Cancel + + + + + + + + + Submit + + + + + +`; + +exports[`snapshotAllPages Button 4`] = ` + + + + + + Cancel + + + + + + + + + Save For Later + + + + + + + + + Submit + + + + + +`; + +exports[`snapshotAllPages Button 5`] = ` + + + + + Submit Application + + + + +`; + +exports[`snapshotAllPages Button 6`] = ` + + + + + Submit Application + + + + +`; + +exports[`snapshotAllPages Button 7`] = ` + + + + + Submit Application + + + + +`; + +exports[`snapshotAllPages Button 8`] = ` + + + + + Submit Application + + + + +`; + +exports[`snapshotAllPages Button 9`] = ` + + + + + + Default Button + + + + + + + + + Button with accessible=false + + + + + + + + + Button with focusable=false + + + + + + + + + Button with accessible=false and focusable=false + + + + + +`; + +exports[`snapshotAllPages Display:none Style 1`] = ` + + + + + + + Display:none style with TextInput + + + + + + + toggle display:none TextInput + + + + + + + + + + + + +`; + +exports[`snapshotAllPages Fast Path Texts 1`] = ` + + + Text without curly brackets + + +`; + +exports[`snapshotAllPages Fast Path Texts 2`] = ` + + + text within curly brackets + + +`; + +exports[`snapshotAllPages Fast Path Texts 3`] = ` + + + I am a string / I am a variable + + +`; + +exports[`snapshotAllPages Fast Path Texts 4`] = ` + + + + + + UPDATE STATE + + + + + + non state text: initial state text + + +`; + +exports[`snapshotAllPages Fast Path Texts 5`] = ` + + + + + + UPDATE STATE + + + + + + first string + + +`; + +exports[`snapshotAllPages Fast Path Texts 6`] = ` + + + I'm a + slowText + because my string interpolation needs to all be within a pair of curly brackets. + + + I'm + + a slow text because I'm nested with other + + + texts + + + +`; + +exports[`snapshotAllPages Fast Path Texts 7`] = ` + + + + + + UPDATE STATE + + + + + + +`; + +exports[`snapshotAllPages FlatList 1`] = ` + + + + Simple list of items + + + + + + + + + + + + + Virtualized + : + + + + + + Horizontal + : + + + + + + Fixed Height + : + + + + + + Log Viewable + : + + + + + + Inverted + : + + + + + + Empty + : + + + + + + Debug + : + + + + + + onPress Disabled + : + + + + + + Text Selectable + : + + + + + + Use FlatListItemComponent + : + + + + + + Is RTL + : + + + + + + Maintain content position + : + + + + + + + + + } + refreshing={false} + removeClippedSubviews={false} + renderItem={[Function]} + scrollEventThrottle={0.0001} + stickyHeaderIndices={[]} + style={{}} + viewabilityConfig={ + { + "minimumViewTime": 3000, + "viewAreaCoveragePercentThreshold": 100, + "waitForInteraction": true, + } + } + viewabilityConfigCallbackPairs={ + [ + { + "onViewableItemsChanged": [Function], + "viewabilityConfig": { + "minimumViewTime": 3000, + "viewAreaCoveragePercentThreshold": 100, + "waitForInteraction": true, + }, + }, + ] + } + > + + + + + + + LIST HEADER + + + + + + + + + + + + Item 550 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentu + + + + + + + + + + + Item 551 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret m + + + + + + + + + + + Item 552 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id + + + + + + + + + + + Item 553 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur + + + + + + + + + + + Item 554 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequu + + + + + + + + + + + Item 555 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, a + + + + + + + + + + + Item 556 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam i + + + + + + + + + + + Item 557 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, + + + + + + + + + + + Item 558 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputa + + + + + + + + + + + Item 559 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. E + + + + + + + + + + + + LIST FOOTER + + + + + + + + + +`; + +exports[`snapshotAllPages FlatList 2`] = ` + + + + + + + + Test + + + + + + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + Ice Cream + + + + + + +`; + +exports[`snapshotAllPages FlatList 3`] = ` + + + + + + + + Test + + + + + + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + +`; + +exports[`snapshotAllPages FlatList 4`] = ` +[ + + + Menu + + , + + + + contentInset top: 44 + + + + + + Toggle header size + + + + + + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + , +] +`; + +exports[`snapshotAllPages FlatList 5`] = ` + + + + inverted false + + + + + + Toggle true + + + + + + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + +`; + +exports[`snapshotAllPages FlatList 6`] = ` + + + + + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + +`; + +exports[`snapshotAllPages FlatList 7`] = ` + + + + + + + Pizza + + + + + Separator for leading Pizza and trailing undefined has not been pressed + + + + + + + Burger + + + + + Separator for leading Burger and trailing undefined has not been pressed + + + + + + + Risotto + + + + + Separator for leading Risotto and trailing undefined has not been pressed + + + + + + + French Fries + + + + + Separator for leading French Fries and trailing undefined has not been pressed + + + + + + + Onion Rings + + + + + Separator for leading Onion Rings and trailing undefined has not been pressed + + + + + + + Fried Shrimps + + + + + Separator for leading Fried Shrimps and trailing undefined has not been pressed + + + + + + + Water + + + + + Separator for leading Water and trailing undefined has not been pressed + + + + + + + Coke + + + + + Separator for leading Coke and trailing undefined has not been pressed + + + + + + + Beer + + + + + Separator for leading Beer and trailing undefined has not been pressed + + + + + + + Cheesecake + + + + + Separator for leading Cheesecake and trailing undefined has not been pressed + + + + + + + +`; + +exports[`snapshotAllPages FlatList 8`] = ` + + + + <FlatList> - MultiColumn + + + + + + + + numColumns: + + + + + + + Virtualized + : + + + + + + Fixed Height + : + + + + + + Log Viewable + : + + + + + + + + } + refreshing={false} + removeClippedSubviews={false} + renderItem={[Function]} + scrollEventThrottle={50} + stickyHeaderIndices={[]} + viewabilityConfigCallbackPairs={ + [ + { + "onViewableItemsChanged": [Function], + "viewabilityConfig": undefined, + }, + ] + } + > + + + + + + + LIST HEADER + + + + + + + + + + + + + Item 0 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sa + + + + + + + + + + Item 1 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam cas + + + + + + + + + + + + + + Item 2 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, ve + + + + + + + + + + Item 3 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te me + + + + + + + + + + + + + + Item 4 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam i + + + + + + + + + + Item 5 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Se + + + + + + + + + + + + + + Item 6 + - + Lorem ipsum dolor sit amet + + + + + + + + + + Item 7 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In + + + + + + + + + + + + + + Item 8 + - + Lorem ipsum dolor sit amet, ius ad pertinax oporter + + + + + + + + + + Item 9 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur n + + + + + + + + + + + + + + Item 10 + - + Lorem ipsum dolor sit a + + + + + + + + + + Item 11 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrum + + + + + + + + + + + + + + Item 12 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi a + + + + + + + + + + Item 13 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur ne + + + + + + + + + + + + + + Item 14 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre + + + + + + + + + + Item 15 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. + + + + + + + + + + + + + + Item 16 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam inte + + + + + + + + + + Item 17 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an + + + + + + + + + + + + + + Item 18 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint + + + + + + + + + + Item 19 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit ref + + + + + + + + + + + + + LIST FOOTER + + + + + + + + +`; + +exports[`snapshotAllPages FlatList 9`] = ` + + + + + + Sticky Pizza + + + + + + + Burger + + + + + + + Sticky Risotto + + + + + + + French Fries + + + + + + + Sticky Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + +`; + +exports[`snapshotAllPages FlatList 10`] = ` + + + + + Outer Viewable: + + + + + + + Outer Rendered: + + + + + + + Inner Viewable: + + + + + + + Inner Rendered: + + + + + + + + + + Header + + + + + + + + +`; + +exports[`snapshotAllPages Flyout 1`] = ` + + + + Placement Options: + + + + + + + + + Open Flyout + + + + + + + + + + + Open Flyout without Target + + + + + + + + + + + Open Flyout with Offset + + + + + + + + Text Input to Anchor flyout to: + + + + + +`; + +exports[`snapshotAllPages Glyph UWP 1`] = ` + + + Glyph: default Accent color + + + + Glyph: red + + + + Multiple glyphs: red + + + + Multiple glyphs + + + +`; + +exports[`snapshotAllPages Keyboard extension Example 1`] = ` + + + + + OnKeyDown Key and Code + + + + + + + + + OnKeyDownCapture Key and Code + + + + + + + + + + + OnKeyUp Key and Code + + + + + + + + + OnKeyUpCapture Key and Code + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages LegacyControlStyleTest 1`] = ` + + + + + + + + + + + Show Round Border + + + + + +`; + +exports[`snapshotAllPages LegacyImageTest 1`] = ` + + + + + + + + + Show Border + + + + + + + + + Set image to RTL + + + + + +`; + +exports[`snapshotAllPages LegacyLoginTest 1`] = ` + + + + + + + + Show Password + + + + + + + LOGIN + + + + +`; + +exports[`snapshotAllPages LegacySelectableTextTest 1`] = ` + + + Pressed: + 0 + times. + + + Text before + + + click here + + + text after + + + + + + Toggle Selectable + + + + + + + + + Clear State + + + + + +`; + +exports[`snapshotAllPages LegacyTextHitTestTest 1`] = ` + + + Pressed: + 0 + times. + + + Nested + + + pressable + + + text: + + + Click here + + + + + + Nested text inside pressable text: + + + + Click here + + + + + Multiline pressable test: + + + Click here +or click here. + + + + Multiline pressable RTL text: + + + أحب اللغة +العربية + + + + RTL text in LTR flow direction: + + + أحب اللغة العربية + + + + RTL text in RTL flow direction: + + + أحب اللغة العربية + + + + LTR text in RTL flow direction: + + + Click here + + + + Bidirectional text in a single run: + + + أحب اللغة العربية hello + + + + Bidirectional text in separate runs: + + + أحب اللغة العربية + hello + + + + Add pressable inline text child: + + + Click to add + + + + + Click anywhere to toggle pressability: + + + Click here + + + + Wrapped text pressability: + + + + + abcdef + + + + + + + + Clear State + + + + + +`; + +exports[`snapshotAllPages LegacyTextInputTest 1`] = ` + + + + + + <Log Start> + + +`; + +exports[`snapshotAllPages Popup 1`] = ` + + + The following tests popup Anchor + + + + Text Input to Anchor popup to: + + + + + + + + + + Open Popup + + + + + + +`; + +exports[`snapshotAllPages Popup 2`] = ` + + + + + + Toggle popup + + + + + +`; + +exports[`snapshotAllPages Popup 3`] = ` + + + + + + Toggle popup + + + + + +`; + +exports[`snapshotAllPages Pressable 1`] = ` +[ + + + + Press Me + + + , + + + , +] +`; + +exports[`snapshotAllPages Pressable 2`] = ` + + + + Press Me + + + +`; + +exports[`snapshotAllPages Pressable 3`] = ` + + + + + Press Me + + + + + +`; + +exports[`snapshotAllPages Pressable 4`] = ` + + + + + +`; + +exports[`snapshotAllPages Pressable 5`] = ` + + + + + + radius 30 + + + + + + + radius 150 + + + + + + + radius 70, with border + + + + + + + + with border, default color and radius + + + + + + + + + use foreground + + + +`; + +exports[`snapshotAllPages Pressable 6`] = ` +[ + + Text has built-in onPress handling + , + + + , +] +`; + +exports[`snapshotAllPages Pressable 7`] = ` + + + + + Press Me + + + + + +`; + +exports[`snapshotAllPages Pressable 8`] = ` + + + + 3D Touch is not available on this device + + + + + + Press Me + + + + +`; + +exports[`snapshotAllPages Pressable 9`] = ` + + + + + Press Outside This View + + + + + + + +`; + +exports[`snapshotAllPages Pressable 10`] = ` + + + + + + Missing Ref! + + +`; + +exports[`snapshotAllPages Pressable 11`] = ` +[ + + + Disabled Pressable + + , + + + Enabled Pressable + + , +] +`; + +exports[`snapshotAllPages Pressable 12`] = ` + + + + Press Me + + + +`; + +exports[`snapshotAllPages Pressable 13`] = ` +[ + + + + Press Me + + + , + + + , + + + + Click to focus textbox + + + , +] +`; + +exports[`snapshotAllPages Pressable 14`] = ` +[ + + + + Press Me + + + + , + + + + defaultText + + , +] +`; + +exports[`snapshotAllPages Pressable 15`] = ` +[ + + + + Press Me + + + , + , +] +`; + +exports[`snapshotAllPages Pressable 16`] = ` + + + +`; + +exports[`snapshotAllPages Pressable 17`] = ` + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages Pressable 18`] = ` + + + + Pressable with accessible=true and focusable=true + + + + + Pressable with accessible=false + + + + + Pressable with focusable=false + + + + + Pressable with accessible=false and focusable=false + + + +`; + +exports[`snapshotAllPages Pressable 19`] = ` + + + + Pressable with ToolTip "Pressable" + + + +`; + +exports[`snapshotAllPages Pressable 20`] = ` + + + + Parent Pressable + + + + Child Pressable + + + + +`; + +exports[`snapshotAllPages Pressable 21`] = ` + + + View #1, front is visible, back is hidden. + + + + + Front + + + + + Back (You should not see this) + + + + + View #2, front is hidden, back is visible. + + + + + Front (You should not see this) + + + + + Back + + + + +`; + +exports[`snapshotAllPages ScrollView 1`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + Scroll to top + + + + + Scroll to bottom + + + + + Flash scroll indicators + + + +`; + +exports[`snapshotAllPages ScrollView 2`] = ` + + + + LTR Layout + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + Scroll to start + + + + + Scroll to end + + + + +`; + +exports[`snapshotAllPages ScrollView 3`] = ` + + + + RTL Layout + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + Scroll to start + + + + + Scroll to end + + + + +`; + +exports[`snapshotAllPages ScrollView 4`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + Scrolling enabled = true + + + + Disable Scrolling + + + + + Enable Scrolling + + + +`; + +exports[`snapshotAllPages ScrollView 5`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + + setContentContainerStyle + + + + + setContentInset + + + + +`; + +exports[`snapshotAllPages ScrollView 6`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + + Deceleration Rate: normal + + + + +`; + +exports[`snapshotAllPages ScrollView 7`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + + setDisableIntervalMomentum: false + + + + + setDisableScrollViewPanResponder: false + + + + +`; + +exports[`snapshotAllPages ScrollView 8`] = ` + + + + + STICKY HEADER + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + + invertStickyHeaders: false + + + + + Scroll to top + + + + + Scroll to bottom + + + + +`; + +exports[`snapshotAllPages ScrollView 9`] = ` + + + + + + Sticky Header 1 + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + Sticky Header 2 + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + Sticky Header 3 + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + + Scroll to top + + + + + Scroll to bottom + + + + +`; + +exports[`snapshotAllPages ScrollView 10`] = ` + + + + + + + + Press to change color + + + + + + + + + + + + + + + + + + + + scroll to top + + + + + + + + + scroll to bottom + + + + + + + +`; + +exports[`snapshotAllPages ScrollView 11`] = ` + + + + + + + Button + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + Keyboard Dismiss Mode + + + + + none + + + + + on-drag + + + + + Keyboard Should Persist taps + + + + + never + + + + + always + + + + + handled + + + + +`; + +exports[`snapshotAllPages ScrollView 12`] = ` + + + Content Size Changed: + original + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + Change Content Size + + + +`; + +exports[`snapshotAllPages ScrollView 13`] = ` + + + Scroll State: + none + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + +`; + +exports[`snapshotAllPages ScrollView 14`] = ` + + + onScroll: + none + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + +`; + +exports[`snapshotAllPages ScrollView 15`] = ` + + + } + style={ + [ + { + "backgroundColor": "#eeeeee", + "height": 300, + }, + { + "height": 200, + }, + ] + } + > + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + +`; + +exports[`snapshotAllPages ScrollView 16`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + removeClippedSubviews: false + + + +`; + +exports[`snapshotAllPages ScrollView 17`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + setScrollIndicatorInsets + + + + + showsHorizontalScrollIndicator: true + + + + + showsVerticalScrollIndicator: true + + + +`; + +exports[`snapshotAllPages ScrollView 18`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + + + snapToEnd: true + + + + + snapToStart: true + + + + + setSnapToInterval + + + + + reset snapToOffsets + + + +`; + +exports[`snapshotAllPages ScrollView 19`] = ` + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + +`; + +exports[`snapshotAllPages ScrollView 20`] = ` + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + + + + Add to top + + + + + Remove top + + + + + Change height top + + + + + + + Add to end + + + + + Remove end + + + + + Change height end + + + + +`; + +exports[`snapshotAllPages ScrollViewAnimated 1`] = ` + + + + + + + + Scroll me horizontally + + + + + + +`; + +exports[`snapshotAllPages ScrollViewSimpleExample 1`] = ` + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + Item 12 + + + + + Item 13 + + + + + Item 14 + + + + + Item 15 + + + + + Item 16 + + + + + Item 17 + + + + + Item 18 + + + + + Item 19 + + + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + Item 12 + + + + + Item 13 + + + + + Item 14 + + + + + Item 15 + + + + + Item 16 + + + + + Item 17 + + + + + Item 18 + + + + + Item 19 + + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + Item 12 + + + + + Item 13 + + + + + Item 14 + + + + + Item 15 + + + + + Item 16 + + + + + Item 17 + + + + + Item 18 + + + + + Item 19 + + + + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + Item 12 + + + + + Item 13 + + + + + Item 14 + + + + + Item 15 + + + + + Item 16 + + + + + Item 17 + + + + + Item 18 + + + + + Item 19 + + + + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + Item 12 + + + + + Item 13 + + + + + Item 14 + + + + + Item 15 + + + + + Item 16 + + + + + Item 17 + + + + + Item 18 + + + + + Item 19 + + + + + + + + + Item 0 + + + + + Item 1 + + + + + Item 2 + + + + + Item 3 + + + + + Item 4 + + + + + Item 5 + + + + + Item 6 + + + + + Item 7 + + + + + Item 8 + + + + + Item 9 + + + + + Item 10 + + + + + Item 11 + + + + + Item 12 + + + + + Item 13 + + + + + Item 14 + + + + + Item 15 + + + + + Item 16 + + + + + Item 17 + + + + + Item 18 + + + + + Item 19 + + + + + + +`; + +exports[`snapshotAllPages SectionList 1`] = ` +[ + + + Menu + + , + + + + contentInset top: 44 + + + + + + Toggle header size + + + + + + + + + + Main dishes + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + Sides + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + + , +] +`; + +exports[`snapshotAllPages SectionList 2`] = ` + + + + + + + + Test + + + + + + + + + + Main dishes + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + Sides + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + + +`; + +exports[`snapshotAllPages SectionList 3`] = ` + + + + + + + + + Main dishes + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + Sides + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + + +`; + +exports[`snapshotAllPages SectionList 4`] = ` + + + + + + Main dishes + + + + + + + Section separator for leading undefined and trailing Pizza has not been pressed + + + + + Pizza + + + + + separator for leading Pizza and trailing Burger has not been pressed + + + + + + + + + Burger + + + + + separator for leading Burger and trailing Risotto has not been pressed + + + + + + + + + Risotto + + + + + Section separator for leading Risotto and trailing undefined has not been pressed + + + + + + + + Sides + + + + + + + Section separator for leading undefined and trailing French Fries has not been pressed + + + + + French Fries + + + + + separator for leading French Fries and trailing Onion Rings has not been pressed + + + + + + + + + Onion Rings + + + + + separator for leading Onion Rings and trailing Fried Shrimps has not been pressed + + + + + + + + + Fried Shrimps + + + + + Section separator for leading Fried Shrimps and trailing undefined has not been pressed + + + + + + + + + +`; + +exports[`snapshotAllPages SectionList 5`] = ` + + + + stickySectionHeadersEnabled false + + + + + + Sticky On + + + + + + + + + + Main dishes + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + Sides + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + + +`; + +exports[`snapshotAllPages SectionList 6`] = ` + + + + inverted false + + + + + + Toggle true + + + + + + + + + + Main dishes + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + Sides + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + + +`; + +exports[`snapshotAllPages SectionList 7`] = ` + + + + + + + + Virtualized + : + + + + + + Log Viewable + : + + + + + + Debug + : + + + + + + Inverted + : + + + + + + + + scroll to: + + + + + + + Top + + + + + + + + + + + 3rd Section + + + + + + + + + + + 6th Section + + + + + + + + + + + Out of Viewable Area (See warning) + + + + + + + + + + } + refreshing={false} + renderItem={[Function]} + scrollEventThrottle={0.0001} + stickyHeaderIndices={ + [ + 1, + 3, + 6, + 10, + ] + } + style={ + { + "backgroundColor": "white", + } + } + viewabilityConfig={ + { + "minimumViewTime": 3000, + "viewAreaCoveragePercentThreshold": 100, + "waitForInteraction": true, + } + } + > + + + + + + + LIST HEADER + + + + + + + + + SECTION HEADER: + empty section + + + + + + + + SECTION FOOTER: + empty section + + + + + + + + SECTION HEADER: + s1 + + + + + + + + + SECTION SEPARATOR + + + + + Item In Header Section + - + Section s1 + + + + + + SECTION SEPARATOR + + + + + + + + SECTION FOOTER: + s1 + + + + + + + + SECTION HEADER: + s2 + + + + + + + + + SECTION SEPARATOR + + + + + ITEM SEPARATOR + + + + + + + + + SECTION SEPARATOR + + + + + + + + SECTION FOOTER: + s2 + + + + + + + + SECTION HEADER: + 0 - 9 + + + + + + + + + + + LIST FOOTER + + + + + + + + +`; + +exports[`snapshotAllPages SwipeableCard 1`] = ` +[ + + + + + + + + + Section # + 0 + + + + + + + + Section # + 1 + + + + + + + + Section # + 2 + + + + + + + + Section # + 3 + + + + + + + + Section # + 4 + + + + + + + + , + + + + + + + + + Section # + 0 + + + + + + + + Section # + 1 + + + + + + + + Section # + 2 + + + + + + + + Section # + 3 + + + + + + + + Section # + 4 + + + + + + + + , +] +`; + +exports[`snapshotAllPages Switch 1`] = ` + + + + + Off + + + + + + On + + + +`; + +exports[`snapshotAllPages Switch 2`] = ` + + + + + Off + + + + + + On + + + +`; + +exports[`snapshotAllPages Switch 3`] = ` + + + + + + Off + + + + + + + On + + + +`; + +exports[`snapshotAllPages Switch 4`] = ` + +`; + +exports[`snapshotAllPages Switch 5`] = ` + + + + +`; + +exports[`snapshotAllPages Switch 6`] = ` + + + +`; + +exports[`snapshotAllPages Switch 7`] = ` + + + +`; + +exports[`snapshotAllPages Switch 8`] = ` + + + + + + + + + + +`; + +exports[`snapshotAllPages Text 1`] = ` + + + + + + + textTransform + + + + + + + This + + text should be uppercased. + + + This TEXT SHOULD be lowercased. + + + This text should be CAPITALIZED. + + + Mixed: + + + uppercase + + + LoWeRcAsE + + + capitalize each word + + + + Should be "ABC": + + a + + b + + c + + + + + + Should be "XyZ": + + x + + y + + z + + + + + Should be "xYz": + + x + + y + + z + + + + + Click to toggle uppercase: + + + Hello + + + + + Click to change raw text: + + + Hello + World + + + + + + Click to toggle fast text on next line (should remain uppercase): + + + Howdy + + + + + + + + + Wrap + + + + + The text should wrap if it goes on multiple lines. See, this is going to the next line. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus felis eget augue condimentum suscipit. Suspendisse hendrerit, libero aliquet malesuada tempor, urna nibh consectetur tellus, vitae efficitur quam erat non mi. Maecenas vitae eros sit amet quam vestibulum porta sed sit amet tellus. Fusce quis lectus congue, fringilla arcu id, luctus urna. Cras sagittis ornare mauris sit amet dictum. Vestibulum feugiat laoreet fringilla. Vivamus ac diam vehicula felis venenatis sagittis vitae ultrices elit. Curabitur libero augue, laoreet quis orci vitae, congue euismod massa. Aenean nec odio sed urna vehicula fermentum non a magna. Quisque ut commodo neque, eget eleifend odio. Sed sit amet lacinia sem. Suspendisse in metus in purus scelerisque vestibulum. Nam metus dui, efficitur nec metus non, tincidunt pharetra sapien. Praesent id convallis metus, ut malesuada arcu. Quisque quam libero, pharetra eu tellus ac, aliquam fringilla erat. Quisque tempus in lorem ac suscipit. + + + + + + + Padding + + + + + This text is indented by 10px padding on all sides. + + + + + + + Font Family + + + + + Sans-Serif + + + Sans-Serif Bold + + + Serif + + + Serif Bold + + + Monospace + + + Monospace Bold (After 5.0) + + + + + + + Android Material Design fonts + + + + + + + Roboto Regular + + + Roboto Italic + + + Roboto Bold + + + Roboto Bold Italic + + + Roboto Light + + + Roboto Light Italic + + + Roboto Thin (After 4.2) + + + Roboto Thin Italic (After 4.2) + + + Roboto Condensed + + + Roboto Condensed Italic + + + Roboto Condensed Bold + + + Roboto Condensed Bold Italic + + + Roboto Medium (After 5.0) + + + Roboto Medium Italic (After 5.0) + + + + + + + + + Custom Fonts + + + + + + + NotoSerif Regular + + + NotoSerif Bold Italic + + + NotoSerif Italic (Missing Font file) + + + + + + + + + Font Size + + + + + Size 23 + + + Size 8 + + + + + + + Color + + + + + Red color + + + Blue color + + + + + + + Font Weight + + + + + Move fast and be bold + + + Move fast and be bold + + + + + + + Font Style + + + + + Move fast and be bold + + + Move fast and be bold + + + + + + + Font Style and Weight + + + + + Move fast and be bold + + + + + + + Text Decoration + + + + + Solid underline + + + None textDecoration + + + Solid line-through + + + Both underline and line-through + + + Mixed text with + + + underline + + and + + + line-through + + + text nodes + + + + + + + Nested + + + + + (Normal text, + + (R)red + + (G)green + + (B)blue + + (C)cyan + + (M)magenta + + (Y)yellow + + (K)black + + + + + + + + + (and bold + + (and tiny bold italic blue + + (and tiny normal blue) + + ) + + ) + + ) + + + (Serif + + (Serif Bold Italic + + (Monospace Normal + + (Sans-Serif Bold + + (and Sans-Serif Normal) + + ) + + ) + + ) + + ) + + + + Entity Name + + + + + + + + Text Align + + + + + + auto (default) - english LTR + + + أحب اللغة العربية auto (default) - arabic RTL + + + left left left left left left left left left left left left left left left + + + center center center center center center center center center center center + + + right right right right right right right right right right right right right + + + + + + + + Unicode + + + + + + + 星际争霸是世界上最好的游戏。 + + + + + 星际争霸是世界上最好的游戏。 + + + + + 星际争霸是世界上最好的游戏。 + + + + + 星际争霸是世界上最好的游戏。星际争霸是世界上最好的游戏。星际争霸是世界上最好的游戏。星际争霸是世界上最好的游戏。 + + + + + + + + + Spaces + + + + + A + generated + + string + and some     spaces + + + + + + + Line Height + + + + + + Holisticly formulate inexpensive ideas before best-of-breed benefits. + + Continually + + expedite magnetic potentialities rather than client-focused interfaces. + + + Holisticly formulate inexpensive ideas before best-of-breed benefits. + + Continually + + expedite magnetic potentialities rather than client-focused interfaces. + + + + + + + + Letter Spacing + + + + + + letterSpacing = 0 + + + letterSpacing = 2 + + + letterSpacing = 9 + + + + With size and background color + + + + letterSpacing = -1 + + + [letterSpacing = 3] + + [Nested letterSpacing = 0] + + + [Nested letterSpacing = 6] + + + + + + + + + Empty Text + + + + + + + + + + Toggling Attributes + + + + + + Tap the controls below to change attributes. + + + + See how it will even work on + + + this nested text + + + + + + Toggle Weight + + (with highlight onPress) + + + Increase Size (suppressHighlighting true) + + + + + + + + backgroundColor new examples + + + + + + Outer pink + + + Outer + + red nested + + + + Outer + + + nested white on blue + + + + Outer pink + + nested red + + + + Outer on green + + + nested white on inherit green + + + + Outer orange on green + + + nested white on blue + + + + Outer orange + + + nested white on blue + + + + + nested orange inherit on blue + + + + Outer no_color + + + START_NESTED green + + + DEEPER_NESTED magenta on blue + + + END_NESTED + + + attributes. + + + Outer no_color + + + START_NESTED no_color + + + DEEPER_NESTED blue + + + END_NESTED + + + attributes. + + + Outer no_color + + + START_NESTED green + + DEEPER_NESTED inherit green + + + END_NESTED + + + attributes. + + + Outer red + + + START_NESTED inherit red + + DEEPER_NESTED inherit red + + + END_NESTED + + + attributes. + + + Outer red + + + START_NESTED green + + + DEEPER_NESTED blue + + + END_NESTED + + + attributes. + + + + + + + + backgroundColor attribute + + + + + Red background, + + + blue background, + + + inherited blue background, + + + nested green background. + + + + + + Same alpha as background, + + Inherited alpha from background, + + Reapply alpha + + + + + + + + + containerBackgroundColor attribute + + + + + + + + + Default containerBackgroundColor (inherited) + backgroundColor wash + + + containerBackgroundColor: 'transparent' + backgroundColor wash + + + + + + + numberOfLines attribute + + + + + 1 + + + Maximum of one line no matter now much I write here. If I keep writing it + ' + ll just truncate after one line. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus felis eget augue condimentum suscipit. Suspendisse hendrerit, libero aliquet malesuada tempor, urna nibh consectetur tellus, vitae efficitur quam erat non mi. Maecenas vitae eros sit amet quam vestibulum porta sed sit amet tellus. Fusce quis lectus congue, fringilla arcu id, luctus urna. Cras sagittis ornare mauris sit amet dictum. Vestibulum feugiat laoreet fringilla. Vivamus ac diam vehicula felis venenatis sagittis vitae ultrices elit. Curabitur libero augue, laoreet quis orci vitae, congue euismod massa. Aenean nec odio sed urna vehicula fermentum non a magna. Quisque ut commodo neque, eget eleifend odio. Sed sit amet lacinia sem. Suspendisse in metus in purus scelerisque vestibulum. Nam metus dui, efficitur nec metus non, tincidunt pharetra sapien. Praesent id convallis metus, ut malesuada arcu. Quisque quam libero, pharetra eu tellus ac, aliquam fringilla erat. Quisque tempus in lorem ac suscipit. + + + 2 + + + Maximum of two lines no matter now much I write here. If I keep writing it + ' + ll just truncate after two lines. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus felis eget augue condimentum suscipit. Suspendisse hendrerit, libero aliquet malesuada tempor, urna nibh consectetur tellus, vitae efficitur quam erat non mi. Maecenas vitae eros sit amet quam vestibulum porta sed sit amet tellus. Fusce quis lectus congue, fringilla arcu id, luctus urna. Cras sagittis ornare mauris sit amet dictum. Vestibulum feugiat laoreet fringilla. Vivamus ac diam vehicula felis venenatis sagittis vitae ultrices elit. Curabitur libero augue, laoreet quis orci vitae, congue euismod massa. Aenean nec odio sed urna vehicula fermentum non a magna. Quisque ut commodo neque, eget eleifend odio. Sed sit amet lacinia sem. Suspendisse in metus in purus scelerisque vestibulum. Nam metus dui, efficitur nec metus non, tincidunt pharetra sapien. Praesent id convallis metus, ut malesuada arcu. Quisque quam libero, pharetra eu tellus ac, aliquam fringilla erat. Quisque tempus in lorem ac suscipit. + + + (default) infinity + + + No maximum lines specified no matter now much I write here. If I keep writing it + ' + ll just keep going and going. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus felis eget augue condimentum suscipit. Suspendisse hendrerit, libero aliquet malesuada tempor, urna nibh consectetur tellus, vitae efficitur quam erat non mi. Maecenas vitae eros sit amet quam vestibulum porta sed sit amet tellus. Fusce quis lectus congue, fringilla arcu id, luctus urna. Cras sagittis ornare mauris sit amet dictum. Vestibulum feugiat laoreet fringilla. Vivamus ac diam vehicula felis venenatis sagittis vitae ultrices elit. Curabitur libero augue, laoreet quis orci vitae, congue euismod massa. Aenean nec odio sed urna vehicula fermentum non a magna. Quisque ut commodo neque, eget eleifend odio. Sed sit amet lacinia sem. Suspendisse in metus in purus scelerisque vestibulum. Nam metus dui, efficitur nec metus non, tincidunt pharetra sapien. Praesent id convallis metus, ut malesuada arcu. Quisque quam libero, pharetra eu tellus ac, aliquam fringilla erat. Quisque tempus in lorem ac suscipit. + + + + + + + selectable attribute + + + + + This text is selectable if you click-and-hold, and will offer the native Android selection menus. + + + + + + + selectionColor attribute + + + + + This text will have a orange highlight on selection. + + + + + + + Inline images + + + + + This text contains an inline image + + + Neat, huh? + + + + + + + Text shadow + + + + + Demo text shadow + + + + + + + Ellipsize mode + + + + + + (default) tail + + + This very long text should be truncated with dots in the end. + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus felis eget augue condimentum suscipit. Suspendisse hendrerit, libero aliquet malesuada tempor, urna nibh consectetur tellus, vitae efficitur quam erat non mi. Maecenas vitae eros sit amet quam vestibulum porta sed sit amet tellus. Fusce quis lectus congue, fringilla arcu id, luctus urna. Cras sagittis ornare mauris sit amet dictum. Vestibulum feugiat laoreet fringilla. Vivamus ac diam vehicula felis venenatis sagittis vitae ultrices elit. Curabitur libero augue, laoreet quis orci vitae, congue euismod massa. Aenean nec odio sed urna vehicula fermentum non a magna. Quisque ut commodo neque, eget eleifend odio. Sed sit amet lacinia sem. Suspendisse in metus in purus scelerisque vestibulum. Nam metus dui, efficitur nec metus non, tincidunt pharetra sapien. Praesent id convallis metus, ut malesuada arcu. Quisque quam libero, pharetra eu tellus ac, aliquam fringilla erat. Quisque tempus in lorem ac suscipit. + + + middle + + + This very long text should be truncated with dots in the middle. + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus felis eget augue condimentum suscipit. Suspendisse hendrerit, libero aliquet malesuada tempor, urna nibh consectetur tellus, vitae efficitur quam erat non mi. Maecenas vitae eros sit amet quam vestibulum porta sed sit amet tellus. Fusce quis lectus congue, fringilla arcu id, luctus urna. Cras sagittis ornare mauris sit amet dictum. Vestibulum feugiat laoreet fringilla. Vivamus ac diam vehicula felis venenatis sagittis vitae ultrices elit. Curabitur libero augue, laoreet quis orci vitae, congue euismod massa. Aenean nec odio sed urna vehicula fermentum non a magna. Quisque ut commodo neque, eget eleifend odio. Sed sit amet lacinia sem. Suspendisse in metus in purus scelerisque vestibulum. Nam metus dui, efficitur nec metus non, tincidunt pharetra sapien. Praesent id convallis metus, ut malesuada arcu. Quisque quam libero, pharetra eu tellus ac, aliquam fringilla erat. Quisque tempus in lorem ac suscipit. + + + head + + + This very long text should be truncated with dots in the beginning. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus felis eget augue condimentum suscipit. Suspendisse hendrerit, libero aliquet malesuada tempor, urna nibh consectetur tellus, vitae efficitur quam erat non mi. Maecenas vitae eros sit amet quam vestibulum porta sed sit amet tellus. Fusce quis lectus congue, fringilla arcu id, luctus urna. Cras sagittis ornare mauris sit amet dictum. Vestibulum feugiat laoreet fringilla. Vivamus ac diam vehicula felis venenatis sagittis vitae ultrices elit. Curabitur libero augue, laoreet quis orci vitae, congue euismod massa. Aenean nec odio sed urna vehicula fermentum non a magna. Quisque ut commodo neque, eget eleifend odio. Sed sit amet lacinia sem. Suspendisse in metus in purus scelerisque vestibulum. Nam metus dui, efficitur nec metus non, tincidunt pharetra sapien. Praesent id convallis metus, ut malesuada arcu. Quisque quam libero, pharetra eu tellus ac, aliquam fringilla erat. Quisque tempus in lorem ac suscipit. + + + clip + + + This very long text should be clipped and this will not be visible. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dapibus felis eget augue condimentum suscipit. Suspendisse hendrerit, libero aliquet malesuada tempor, urna nibh consectetur tellus, vitae efficitur quam erat non mi. Maecenas vitae eros sit amet quam vestibulum porta sed sit amet tellus. Fusce quis lectus congue, fringilla arcu id, luctus urna. Cras sagittis ornare mauris sit amet dictum. Vestibulum feugiat laoreet fringilla. Vivamus ac diam vehicula felis venenatis sagittis vitae ultrices elit. Curabitur libero augue, laoreet quis orci vitae, congue euismod massa. Aenean nec odio sed urna vehicula fermentum non a magna. Quisque ut commodo neque, eget eleifend odio. Sed sit amet lacinia sem. Suspendisse in metus in purus scelerisque vestibulum. Nam metus dui, efficitur nec metus non, tincidunt pharetra sapien. Praesent id convallis metus, ut malesuada arcu. Quisque quam libero, pharetra eu tellus ac, aliquam fringilla erat. Quisque tempus in lorem ac suscipit. + + + + + + + + Include Font Padding + + + + + + + Ey + + + Default + + + + + Ey + + + includeFontPadding: false + + + + + By default Android will put extra space above text to allow for upper-case accents or other ascenders. With some fonts, this can make text look slightly misaligned when centered vertically. + + + + + + + Text With Border + + + + + + Sample bordered text with default styling. + + + Some more bordered text + a tad of CSS. + + + + 1st nested - border specifcied but ignored. + + + + 2nd Inside text! + + + + + This text is + + + outlined + + + and laid out within the normal text run, so will wrap etc as normal text. + + + + + + + + Dynamic backgroundColor + + + + + + + + Toggle highlight on all text: + + + + + The quick brown fox jumped over the lazy dog. + + + + + + + + Customized Accessibility + + + + + + This text has customized accessibility. + + + + + + + + Font Variants + + + + + + Text with small-caps font variant. + + + Text with oldstyle-nums font variant. + + + Text with lining-nums font variant. + + + Text with tabular-nums font variant. + + + Text with proportional-nums font variant. + + + + + + + + Text with Advanced Borders + + + + + + This text has customized borders. + + + This text has customized borders. + + + This text has customized borders. + + + + + + + + Opacity + + + + + + This text has customized opacity. + + + This text has customized opacity. + + + This text has customized opacity. + + + This text has customized opacity. + + + This text has customized opacity. + + + This text has customized opacity. + + + This text has customized opacity. + + + This text has customized opacity. + + + This text has customized opacity. + + + This text has customized opacity. + + + + + + + + Height and Width + + + + + + This text has customized dimensions. + + + + + + + +`; + +exports[`snapshotAllPages TextInput 1`] = ` + +`; + +exports[`snapshotAllPages TextInput 2`] = ` + + + + 20 + + +`; + +exports[`snapshotAllPages TextInput 3`] = ` + + + +`; + +exports[`snapshotAllPages TextInput 4`] = ` + + + + + + + Clear + + + + + +`; + +exports[`snapshotAllPages TextInput 5`] = ` + + + + none + + + + + + + + sentences + + + + + + + + words + + + + + + + + characters + + + + + + +`; + +exports[`snapshotAllPages TextInput 6`] = ` + + + + true + + + + + + + + false + + + + + + +`; + +exports[`snapshotAllPages TextInput 7`] = ` + + + + default + + + + + + + + ascii-capable + + + + + + + + numbers-and-punctuation + + + + + + + + url + + + + + + + + number-pad + + + + + + + + phone-pad + + + + + + + + name-phone-pad + + + + + + + + email-address + + + + + + + + decimal-pad + + + + + + + + twitter + + + + + + + + web-search + + + + + + + + ascii-capable-number-pad + + + + + + + + numeric + + + + + + +`; + +exports[`snapshotAllPages TextInput 8`] = ` + + + + none + + + + + + + + text + + + + + + + + decimal + + + + + + + + numeric + + + + + + + + tel + + + + + + + + search + + + + + + + + email + + + + + + + + url + + + + + + +`; + +exports[`snapshotAllPages TextInput 9`] = ` + + + + + + + +`; + +exports[`snapshotAllPages TextInput 10`] = ` + + + + enter + + + + + + + + done + + + + + + + + go + + + + + + + + next + + + + + + + + previous + + + + + + + + search + + + + + + + + send + + + + + + +`; + +exports[`snapshotAllPages TextInput 11`] = ` + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages TextInput 12`] = ` + + + + <No Event> + + + (prev: + <No Event> + ) + + + (prev2: + <No Event> + ) + + + (prev3: + <No Event> + ) + + +`; + +exports[`snapshotAllPages TextInput 13`] = ` + + + + + + + +`; + +exports[`snapshotAllPages TextInput 14`] = ` + + + + Hello + + + #World + + + + +`; + +exports[`snapshotAllPages TextInput 15`] = ` + + + + + + + + selection = + + {start:0,end:0} + + + Place at Start (0, 0) + + + Place at End ( + 29 + , + 29 + ) + + + Place at Random + + + Select All + + + Select Random + + + + + + + + + + selection = + + {start:0,end:0} + + + Place at Start (0, 0) + + + Place at End ( + 44 + , + 44 + ) + + + Place at Random + + + Select All + + + Select Random + + + + +`; + +exports[`snapshotAllPages TextInput 16`] = ` + + + + + + + + selection = + + {start:0,end:0} + + + Place at Start (0, 0) + + + Place at End ( + 42 + , + 42 + ) + + + Place at Random + + + Select All + + + Select Random + + + + + + + + + + selection = + + {start:0,end:0} + + + Place at Start (0, 0) + + + Place at End ( + 57 + , + 57 + ) + + + Place at Random + + + Select All + + + Select Random + + + + +`; + +exports[`snapshotAllPages TextInput 17`] = ` + +`; + +exports[`snapshotAllPages TextInput 18`] = ` + + + + Cycle + 1 + / + 6 + + + + + + + backgroundColor + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + + color + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + + fontFamily + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + + fontSize + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + + fontStyle + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + + fontWeight + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + + letterSpacing + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + + lineHeight + + + + + Hel + + + + + lo + + + + + Wor + + + + + ld! + + + + + + + textDecorationLine + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + + textShadow + + + + + He + + + ll + + + o, + + + + + + Wo + + + rl + + + d! + + + + + + +`; + +exports[`snapshotAllPages TextInput 19`] = ` + + + + + + + + + + Darker backgroundColor + + + + +`; + +exports[`snapshotAllPages TextInput 20`] = ` + + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages TextInput 21`] = ` + +`; + +exports[`snapshotAllPages TextInput 22`] = ` + + + + + + +`; + +exports[`snapshotAllPages TextInput 23`] = ` + + + + +`; + +exports[`snapshotAllPages TextInput 24`] = ` + +`; + +exports[`snapshotAllPages TextInput 25`] = ` + + + + + + multiline with children, aligned bottom-right + + + +`; + +exports[`snapshotAllPages TextInput 26`] = ` + + + + + + +`; + +exports[`snapshotAllPages TextInput 27`] = ` + + + + + + +`; + +exports[`snapshotAllPages TextInput 28`] = ` + + + + Full width: + + + + Multiline: + + + + TextInput: + + + + small small small small small small + + + regular regular + + + huge huge huge huge huge + + + + Plain text value representation: + + + + Content Size: + {"width":0,"height":0} + + + +`; + +exports[`snapshotAllPages TextInput 29`] = ` + + + + + + +`; + +exports[`snapshotAllPages TextInput 30`] = ` + + + + + + + + + + + +`; + +exports[`snapshotAllPages TextInput 31`] = ` + + + + + +`; + +exports[`snapshotAllPages TextInput 32`] = ` + + + + Toggle padding + + +`; + +exports[`snapshotAllPages TextInput 33`] = ` + + + PressIn/PressOut message + + + +`; + +exports[`snapshotAllPages TextInput 34`] = ` + + + Default submit key (Enter): + + + + Custom submit key event (Shift + Enter), single-line: + + + + Custom submit key event (Shift + Enter), multi-line: + + + + Submit with Enter key, return key with Shift + Enter + + + +`; + +exports[`snapshotAllPages TextInput 35`] = ` +[ + + + some text to focus on + + + , + , +] +`; + +exports[`snapshotAllPages TextInput 36`] = ` +[ + + Spell Check Enabled: + , + , + , +] +`; + +exports[`snapshotAllPages TextInputs with key prop 1`] = ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 1`] = ` + + + + + + + + + Tap Here For Custom Highlight! + + + + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 2`] = ` + + + + Tap Here For No Feedback! + + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 3`] = ` + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 4`] = ` + + + Underlay not visible + + +`; + +exports[`snapshotAllPages Touchable* and onPress 5`] = `null`; + +exports[`snapshotAllPages Touchable* and onPress 6`] = ` + + + This touchable is not focused. + + + This item still has focus, onBlur is not called + + +`; + +exports[`snapshotAllPages Touchable* and onPress 7`] = ` + + + Text has built-in onPress handling + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 8`] = ` + + + + + Press Me + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 9`] = ` + + + + + Press Me + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 10`] = ` + + + + 3D Touch is not available on this device + + + + + + Press Me + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 11`] = ` + + + + + Press Outside This View + + + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 12`] = ` + + + + + + + TouchableHighlight: + Missing Ref! + + + + + + + + TouchableOpacity: + Missing Ref! + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 13`] = `null`; + +exports[`snapshotAllPages Touchable* and onPress 14`] = ` + + + + Disabled TouchableOpacity + + + + + Enabled TouchableOpacity + + + + + Disabled TouchableHighlight + + + + + Enabled TouchableHighlight + + + + + Disabled TouchableWithoutFeedback + + + + + Enabled TouchableWithoutFeedback + + + +`; + +exports[`snapshotAllPages TransferProperties 1`] = ` + + + + This text should remain on the right after changing the radius + + + + + + + Change Border Radius + + + + + +`; + +exports[`snapshotAllPages TransferProperties 2`] = ` + + + + The zIndex should remain the same after changing the border radius + + + + ZIndex + 2 + + + + + ZIndex + 1 + + + + + ZIndex + 0 + + + + + ZIndex + -1 + + + + + + + + Change Border Radius + + + + + + + + + Change Sorting Order + + + + + +`; + +exports[`snapshotAllPages TransparentHitTestExample 1`] = ` + + + + HELLO! + + + + +`; + +exports[`snapshotAllPages View 1`] = ` + + + Blue background + + +`; + +exports[`snapshotAllPages View 2`] = ` + + + 5px blue border + + +`; + +exports[`snapshotAllPages View 3`] = ` + + + + 5px padding + + + + + 5px margin + + + + + 5px margin and padding, + + + widthAutonomous=true + + + +`; + +exports[`snapshotAllPages View 4`] = ` + + + Too much use of \`borderRadius\` (especially large radii) on anything which is scrolling may result in dropped frames. Use sparingly. + + +`; + +exports[`snapshotAllPages View 5`] = ` + + + + Dashed border style + + + + + Dotted border style + + + +`; + +exports[`snapshotAllPages View 6`] = ` + + + + + + + + + + +`; + +exports[`snapshotAllPages View 7`] = ` + + + + + undefined + + + + + + + hidden + + + + + + + visible + + + + +`; + +exports[`snapshotAllPages View 8`] = ` + + + + Opacity 0 + + + + + Opacity 0.1 + + + + + Opacity 0.3 + + + + + Opacity 0.5 + + + + + Opacity 0.7 + + + + + Opacity 0.9 + + + + + Opacity 1 + + + +`; + +exports[`snapshotAllPages View 9`] = ` + + + Blobs + + + + + + + Same blobs, but their shared container have 0.5 opacity + + + Tap to + deactivate + + needsOffscreenAlphaCompositing + + + + + + +`; + +exports[`snapshotAllPages View 10`] = ` + + + Tap to flip sorting order + + + + ZIndex + 2 + + + + + ZIndex + 1 + + + + + ZIndex + 0 + + + + + ZIndex + -1 + + + +`; + +exports[`snapshotAllPages View 11`] = ` + + + Press to toggle \`display: none\` + + + + + + + + +`; + +exports[`snapshotAllPages View 12`] = ` + + + This Parent View has tooltip "Parent View" + + + + This view has tooltip "Child View 1" + + + + + This view has tooltip "Child View 2" + + + +`; + +exports[`snapshotAllPages View 13`] = ` +[ + + View #1, front is visible, back is hidden. + , + + + + Front + + + + + Back (You should not see this) + + + , + + View #2, front is hidden, back is visible. + , + + + + Front (You should not see this) + + + + + Back + + + , +] +`; + +exports[`snapshotAllPages View 14`] = ` + + + Blue background + + +`; + +exports[`snapshotAllPages View 15`] = ` + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages View 16`] = ` + + + + + inset 10 + + + + + + + insetBlock 5 + + + + + + + insetBlockEnd 5 + + + + + + + insetBlockStart 5 + + + + + + + insetInline 5 + + + + + + + insetInlineEnd 5 + + + + + + + insetInlineStart 5 + + + + +`; + +exports[`snapshotAllPages View 17`] = ` + + + A View with accessibility values. + + + Current Number of Accessibility Taps: + 0 + + + + This element should be hidden from accessibility. + + + +`; + +exports[`snapshotAllPages View 18`] = ` + +`; + +exports[`snapshotAllPages View 19`] = ` + +`; + +exports[`snapshotAllPages View 20`] = ` + + + + + borderBlockColor orange + + + + + + + borderBlockStartColor purple + + + borderBlockEndColor green + + + + +`; + +exports[`snapshotAllPages View 21`] = ` + + + A View with a nativeID "native-id-view" + + +`; + +exports[`snapshotAllPages XAML 1`] = ` + + + + + + + + + + + + + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages XMLHttpRequest 1`] = ` + + + + onreadystatechange handler + + + + + + onprogress handler + + + + + + download as arraybuffer + + + + + + + Download 7MB Text File + + + + + + onprogress: + 0 + / + 0 + + KB + + + +`; + +exports[`snapshotAllPages XMLHttpRequest 2`] = ` + + + + Upload 255 bytes as ... + + + + + + String + + + + + + + ArrayBuffer + + + + + + + Int8Array + + + + + + + Uint8Array + + + + + + + Uint8ClampedArray + + + + + + + Int16Array + + + + + + + Uint16Array + + + + + + + Int32Array + + + + + + + Uint32Array + + + + + + + Float32Array + + + + + + + Float64Array + + + + + + + DataView + + + + + + + + + + Upload + + + + + +`; + +exports[`snapshotAllPages XMLHttpRequest 3`] = ` + + + Edit URL to submit: + + + +`; + +exports[`snapshotAllPages XMLHttpRequest 4`] = ` + + + + + Get headers + + + + + +`; + +exports[`snapshotAllPages XMLHttpRequest 5`] = ` + + + + + Make Time Out Request + + + + + +`; + +exports[`snapshotAllPages XMLHttpRequest 6`] = ` + + + + + + Abort before response + + + + + + + + + Abort after response + + + + + +`; diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index 41cea8243fb..a95a40247cc 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -1,6 +1,7 @@ const React = require('react'); import {create, act} from 'react-test-renderer'; import {View} from 'react-native'; +const ViewExample = require('@react-native-windows/tester/js/examples/View/ViewExample'); type RNTesterExampleModule = { title: string; @@ -27,9 +28,24 @@ test('Component Control', () => { expect(tree).toMatchSnapshot(); }); +test('Explicit Component', () => { + const Example = ViewExample.examples[0].render; + const tree = create().toJSON(); + expect(tree).toMatchSnapshot(); +}); + describe('snapshotAllPages', () => { - for (const component of componentExamples) { - test(component, () => {expect(true).toBe(true)}); + for (const component of testerList.Components) { + if (component.module.title == "New App Screen" || component.module.title == "Image"){ + continue; + } + test(component.module.title, () => { + for (const example of component.module.examples) { + const Example = example.render; + const tree = create().toJSON(); + expect(tree).toMatchSnapshot(); + } + }); } for (const api of apiExamples) { @@ -39,4 +55,4 @@ describe('snapshotAllPages', () => { test(api, () => {expect(true).toBe(true)}); } -}); \ No newline at end of file +}); From e537ece7dde242b9818b842e8633c78da82e74d4 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 10:57:10 -0700 Subject: [PATCH 17/26] Save State: Snapshot Tests for Example Pages! --- .../__snapshots__/snapshotPages.test.js.snap | 47301 +++++++++++----- .../test/snapshotPages.test.js | 17 +- 2 files changed, 33981 insertions(+), 13337 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index da9c62758ef..c8ca8cb832c 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -24,371 +24,247 @@ exports[`Explicit Component 1`] = ` `; -exports[`snapshotAllPages ActivityIndicator 1`] = ` - -`; - -exports[`snapshotAllPages ActivityIndicator 2`] = ` +exports[`snapshotAllPages Accessibility Windows 1`] = ` - + The following has accessibilityLabel and accessibilityHint: + + - + The following has accessible and accessibilityLabel: + + - -`; - -exports[`snapshotAllPages ActivityIndicator 3`] = ` - + The following has accessibilitySetSize, accessibilityPosInSet and accessibilityLabel: + + - - - - `; -exports[`snapshotAllPages ActivityIndicator 4`] = ` - + + The following TouchableHighlight has accessibilityLabel, accessibilityHint, accessibilityRole, toolip: + + -`; - -exports[`snapshotAllPages ActivityIndicator 5`] = ` - - - - - + tooltip="a blue tooltip" + > + + Blue + + + + Pressed + 0 + times + `; -exports[`snapshotAllPages ActivityIndicator 6`] = ` - -`; - -exports[`snapshotAllPages ActivityIndicator 7`] = ` - + + The following has HighContrast Event awareness: + + + + isHighContrast: + False + + + -`; - -exports[`snapshotAllPages ActivityIndicator 8`] = ` - -`; - -exports[`snapshotAllPages Button 1`] = ` - + + ButtonFace High Contrast Hex Value: + + + + + + ButtonText High Contrast Color Hex Value: + + + + + "backgroundColor": "#808080", + "height": 50, + "width": 250, + } + } + > + + GrayText High Contrast Color Hex Value: + + + - - - Submit Application - - + + Highlight High Contrast Color Hex Value: + + - -`; - -exports[`snapshotAllPages Button 2`] = ` - + + HighlightText High Contrast Color Hex Value: + + + + + + Hotlight High Contrast Color Hex Value: + + + + + > + + Window High Contrast Color Hex Value: + + + - - - Cancel Application - - + + WindowText High Contrast Color Hex Value: + + `; -exports[`snapshotAllPages Button 3`] = ` - +exports[`snapshotAllPages Accessibility Windows 4`] = ` + + + The following TouchableHighlight toggles accessibilityState.disabled for the View under it: + - - + Toggle + + + + + This View should be + + enabled + according to UIA + + + + The following list of TouchableHighlights toggles accessibilityState.selected when touched: + + + + - - Cancel - + + Unselected + + + + + + + Unselected + + + + + + + Unselected + + - + + + The following TouchableHighlight cycles accessibilityState.checked through unchecked/checked/mixed for the View under it: + - - - - Submit - - - + + Toggle + - -`; - -exports[`snapshotAllPages Button 4`] = ` - + + This View should be + + Unchecked + + according to UIA + + + + The following TouchableHighlight toggles the acessibilityState.busy for the View under it: + + - - - - Cancel - - - + + Toggle + + + This View should be + Not Busy + + according to UIA + + + + The following TouchableHighlight toggles accessibilityState.expanded and accessibilityState.collapsed for the View under it: + + - - - - Save For Later - - - + + Toggle + + + This View should be + + Expanded + according to UIA + + + + The following View exposes accessibilityValue fields (min, max, now) + + - + Range value increment + + + - - - Submit - - - + } + accessible={true} + focusable={true} + style={ + { + "backgroundColor": "gray", + "height": 50, + } + } + > + + The View's (accessibilityRole == adjustable, ie. Slider) properties should be the following according to UIA: Min- + + 5 + Max- + 125 + Now- + 10 + + + + The following View exposes the accessibilityValue.Text field + + + + The View's properties should be the following according to UIA: Text- + testText + `; -exports[`snapshotAllPages Button 5`] = ` - +exports[`snapshotAllPages Accessibility Windows 5`] = ` + + + The following uses accessibilityRole: 'list', 'listitem', accessibilitySetSize, and accessibilityPosInSet. + - - - Submit Application - - + + + + + Item + 1 + + + + + + + Item + 2 + + + + + + + Item + 3 + + + + + - -`; - -exports[`snapshotAllPages Button 6`] = ` - - + The following does the same, but with Touchables. + + - - Submit Application - - + + + + + Touchable + 1 + + + + + + + Touchable + 2 + + + + + + + Touchable + 3 + + + + + `; -exports[`snapshotAllPages Button 7`] = ` - - +`; + +exports[`snapshotAllPages ActivityIndicator 2`] = ` + + + - - - Submit Application - - - + /> `; -exports[`snapshotAllPages Button 8`] = ` +exports[`snapshotAllPages ActivityIndicator 3`] = ` + + + + + +`; + +exports[`snapshotAllPages ActivityIndicator 4`] = ` + +`; + +exports[`snapshotAllPages ActivityIndicator 5`] = ` + + + + + + +`; + +exports[`snapshotAllPages ActivityIndicator 6`] = ` + +/> +`; + +exports[`snapshotAllPages ActivityIndicator 7`] = ` + +`; + +exports[`snapshotAllPages ActivityIndicator 8`] = ` + +`; + +exports[`snapshotAllPages Alerts 1`] = ` + - - Submit Application + } + > + + Tap to view alert `; -exports[`snapshotAllPages Button 9`] = ` - +exports[`snapshotAllPages Alerts 2`] = ` + - - - Default Button - - + + Tap to view alert + + +`; + +exports[`snapshotAllPages Alerts 3`] = ` + - - - Button with accessible=false - - + + Tap to view alert + + +`; + +exports[`snapshotAllPages Alerts 4`] = ` + - - - Button with focusable=false - - + + Tap to view alert + + +`; + +exports[`snapshotAllPages Alerts 5`] = ` + - - - Button with accessible=false and focusable=false - - + + Tap to view alert + `; -exports[`snapshotAllPages Display:none Style 1`] = ` - + - - - - - - Display:none style with TextInput - - - - - - - toggle display:none TextInput - - - - - - - - - + } + > + + Tap to view alert + - - -`; - -exports[`snapshotAllPages Fast Path Texts 1`] = ` - - - Text without curly brackets - - -`; - -exports[`snapshotAllPages Fast Path Texts 2`] = ` - - - text within curly brackets - - -`; - -exports[`snapshotAllPages Fast Path Texts 3`] = ` - - - I am a string / I am a variable - + `; -exports[`snapshotAllPages Fast Path Texts 4`] = ` +exports[`snapshotAllPages Alerts 7`] = ` - - - UPDATE STATE - - + + Tap to view alert + - - non state text: initial state text - `; -exports[`snapshotAllPages Fast Path Texts 5`] = ` +exports[`snapshotAllPages Alerts 8`] = ` + + + Prompt value: + + + - - - UPDATE STATE - - + + prompt with title & callback + - - first string - - -`; - -exports[`snapshotAllPages Fast Path Texts 6`] = ` - - - I'm a - slowText - because my string interpolation needs to all be within a pair of curly brackets. - - - I'm - - a slow text because I'm nested with other - - - texts - - - -`; - -exports[`snapshotAllPages Fast Path Texts 7`] = ` - - - - UPDATE STATE - - + + prompt with title & custom buttons + - - -`; - -exports[`snapshotAllPages FlatList 1`] = ` - - + + + prompt with title & custom keyboard + + + + - - Simple list of items - + + prompt with title, callback & default value + + - - - - - + + prompt with title, custom buttons, login/password & default value + + + + +`; + +exports[`snapshotAllPages Alerts 9`] = ` + + + + + plain-text + + + + + + + secure-text + + + + + + + login-password + + + + +`; + +exports[`snapshotAllPages Animated - Gratuitous App 1`] = ` + + + + - - Virtualized - : - - + > + E0 + + + + + + + - - Horizontal - : - - + > + E1 + + + + + + + - - Fixed Height - : - - + > + E2 + + + + + + + - - Log Viewable - : - - - - - - Inverted - : + > + E3 - - + + + + + - - Empty - : - - - + } + > - - Debug - : - - + > + E4 + + + + + + + - - onPress Disabled - : - - + > + E5 + + + + + + + - - Text Selectable - : - - + > + E6 + + + + + + + - - Use FlatListItemComponent - : - - + > + E7 + + + + + + + - - Is RTL - : - - + > + E8 + + + + + + + - - Maintain content position - : - - - - + > + E9 + + - + - + + + + + E10 + + + + + + + + + + + E11 + + + + + + + + + + + E12 + + + + + + + + + + + E13 + + + + + + + + + + + E14 + + + + + + + + + + + E15 + + + + + + + + + + + E16 + + + + + + + + + + + E17 + + + + + + + + + + + E18 + + + + + + + + + + + E19 + + + + + + + + + + + E20 + + + + + + + + + + + E21 + + + + + + + + + + + E22 + + + + + + + + + + + E23 + + + + + + + + + + + E24 + + + + + + + + + + + E25 + + + + + + + + + + + E26 + + + + + + + + + + + E27 + + + + + + + + + + + E28 + + + + + + + + + + + E29 + + + + + + + +`; + +exports[`snapshotAllPages Animated 1`] = ` + + + + + Use Native Driver + + + testID="toggle-use-native-driver" + value={false} + /> + + + Selected Styles + + + - - - - - - - LIST HEADER - - - - - - + - - - - - - Item 550 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentu - - - - + + + + + - - - - - - - Item 551 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret m - - - - + + + + + - - - + + + + + - - - - Item 552 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id - - - - + rotateZ + + + + + + - - - - - - - Item 553 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur - - - - + + + + + - - - - - - - Item 554 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequu - - - - + + + + + - - - - - - - Item 555 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, a - - - - + + + + + - - - + + + + + - - - - Item 556 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam i - - - - - - - - - - - Item 557 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, - - - - - - - - - - - Item 558 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputa - - - - - - - - - - - Item 559 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. E - - - - - - + + + + + - - - - - - LIST FOOTER - - - - + scaleY + - - - - -`; - -exports[`snapshotAllPages FlatList 2`] = ` - - - - + - - - - Test - - - - - - - - - - - - Fried Shrimps - - - - - - - Water - - - - - - - Coke - - - - - Beer + translateX - - - Cheesecake - - - - - Ice Cream + translateY - - -`; + + + + Apply Selected Transforms + + + + +`; -exports[`snapshotAllPages FlatList 3`] = ` - + + > + + + Use Native Driver + + + + + + + Press to animate + + - + + + + The + + + quick + + + brown + + + fox + + + jumps over the lazy dog + + + + +`; + +exports[`snapshotAllPages Animated 3`] = ` + + + + + Use Native Driver + + + + + + + Press to + Hide + + + + - - - - Test - - - + + FadeInView + + +`; + +exports[`snapshotAllPages Animated 4`] = ` +[ + + + + Use Native Driver + + + + , @@ -4770,193 +6363,289 @@ exports[`snapshotAllPages FlatList 3`] = ` style={null} > - Pizza + Parallel - - - - - + Starts a number of animations at the same time + + - Burger - - - - - - + + + + + + - Risotto - + + + Start + + + + + Stop + + + + + Reset + + + - French Fries + Sequence - - - - + Starts the animations in order, waiting for each to complete before starting the next + + - + + + + + + + - Onion Rings - - - - - - - Fried Shrimps - + accessibilityValue={ + { + "max": undefined, + "min": undefined, + "now": undefined, + "text": undefined, + } + } + accessible={true} + focusable={true} + onBlur={[Function]} + onClick={[Function]} + onFocus={[Function]} + onKeyDown={[Function]} + onKeyUp={[Function]} + onMouseEnter={[Function]} + onMouseLeave={[Function]} + onResponderGrant={[Function]} + onResponderMove={[Function]} + onResponderRelease={[Function]} + onResponderTerminate={[Function]} + onResponderTerminationRequest={[Function]} + onStartShouldSetResponder={[Function]} + style={ + [ + { + "alignItems": "center", + "backgroundColor": "#d3d3d3", + "borderColor": "#696969", + "borderRadius": 8, + "borderWidth": 1, + "justifyContent": "center", + "margin": 5, + "padding": 10, + }, + false, + ] + } + > + + Start + + + + + Stop + + + + + Reset + + + - Water + Stagger + + + Starts animations in order and in parallel, but with successive delays + + + + + + + + + + + Start + + + + + Stop + + + + + Reset + + + - Coke + Delay - - - - - + Starts an animation after a given delay + + - Beer - - - - - - + + + + + + - Cheesecake - + + + Start + + + + + Stop + + + + + Reset + + + - - - + , +] `; -exports[`snapshotAllPages FlatList 4`] = ` +exports[`snapshotAllPages Animated 5`] = ` [ - - Menu - - , - - - contentInset top: 44 + + Use Native Driver - + + , + + + + + Predefined animations + + + - Toggle header size + Bounce - - - - - - - - - - Pizza - + + Animate + + - - - - Burger - + /> + + - Risotto + Ease + + + Animate + + - - - - French Fries - + /> + + - Onion Rings + Elastic - - - - + + Animate + + + + - - Fried Shrimps - + /> + + + + + Standard functions + + + - Water + Linear + + + Animate + + - - - - Coke - + /> + + - Beer + Quad + + + Animate + + - - + + + + + + + - Cheesecake + Cubic + + + Animate + + - - - - - , + + + + + + + + + , ] `; -exports[`snapshotAllPages FlatList 5`] = ` - + + > + + Note you cannot \`useNativeDriver\` for layout properties. + + + + + Press to Animate + + - + Composite + + + + + Easing + + + + + Animations! + + + +`; + +exports[`snapshotAllPages Animated 7`] = ` + + + - inverted false - - + Use Native Driver + + + + + + + Press to Spin it! + + + - - - - Toggle true - - - - - - + +`; + +exports[`snapshotAllPages Animated 8`] = ` +[ + + + + Use Native Driver + + + + , + - + - - - Pizza - - - + } + testID="moving-view" + /> + + - - - Burger - - - - - - - Risotto - - - - - - - French Fries - - + + <- + - - - Onion Rings - - - - - - - Fried Shrimps - - + "alignItems": "center", + "backgroundColor": "#d3d3d3", + "borderColor": "#696969", + "borderRadius": 8, + "borderWidth": 1, + "justifyContent": "center", + "margin": 5, + "padding": 10, + }, + false, + ] + } + > + + Hide + - - - Water - - + } + accessible={true} + focusable={true} + onBlur={[Function]} + onClick={[Function]} + onFocus={[Function]} + onKeyDown={[Function]} + onKeyUp={[Function]} + onMouseEnter={[Function]} + onMouseLeave={[Function]} + onResponderGrant={[Function]} + onResponderMove={[Function]} + onResponderRelease={[Function]} + onResponderTerminate={[Function]} + onResponderTerminationRequest={[Function]} + onStartShouldSetResponder={[Function]} + style={ + [ + { + "alignItems": "center", + "backgroundColor": "#d3d3d3", + "borderColor": "#696969", + "borderRadius": 8, + "borderWidth": 1, + "justifyContent": "center", + "margin": 5, + "padding": 10, + }, + false, + ] + } + > + + Reset + - - - Coke - - - - - - - Beer - - - - - - - Cheesecake - - + + -> + - + , +] +`; + +exports[`snapshotAllPages Animated 9`] = ` + + + + + Use Native Driver + + - - -`; - -exports[`snapshotAllPages FlatList 6`] = ` - + + accessibilityValue={ + { + "max": undefined, + "min": undefined, + "now": undefined, + "text": undefined, + } + } + accessible={true} + focusable={true} + onBlur={[Function]} + onClick={[Function]} + onFocus={[Function]} + onKeyDown={[Function]} + onKeyUp={[Function]} + onMouseEnter={[Function]} + onMouseLeave={[Function]} + onResponderGrant={[Function]} + onResponderMove={[Function]} + onResponderRelease={[Function]} + onResponderTerminate={[Function]} + onResponderTerminationRequest={[Function]} + onStartShouldSetResponder={[Function]} + style={ + [ + { + "alignItems": "center", + "backgroundColor": "#d3d3d3", + "borderColor": "#696969", + "borderRadius": 8, + "borderWidth": 1, + "justifyContent": "center", + "margin": 5, + "padding": 10, + }, + false, + ] + } + > + + Press to Fling it! + + - + Transforms! + + + +`; + +exports[`snapshotAllPages Animated 10`] = ` + + + + > + + Use Native Driver + + + - - - - - - Pizza - - - - - + Press to + Start + + + + + Looping! + + + +`; + +exports[`snapshotAllPages Animated 11`] = ` + + Checkout the Gratuitous Animation App! + +`; + +exports[`snapshotAllPages AppState 1`] = ``; + +exports[`snapshotAllPages AppState 2`] = ` + + + +`; + +exports[`snapshotAllPages AppState 3`] = ` + + + [] + + +`; + +exports[`snapshotAllPages AppState 4`] = ` + + + 0 + + +`; + +exports[`snapshotAllPages AppState 5`] = ` + + + [] + + +`; + +exports[`snapshotAllPages Border 1`] = ` + +`; + +exports[`snapshotAllPages Border 2`] = ` + +`; + +exports[`snapshotAllPages Border 3`] = ` + +`; + +exports[`snapshotAllPages Border 4`] = ` + +`; + +exports[`snapshotAllPages Border 5`] = ` + +`; + +exports[`snapshotAllPages Border 6`] = ` + +`; + +exports[`snapshotAllPages Border 7`] = ` + +`; + +exports[`snapshotAllPages Border 8`] = ` + + + +`; + +exports[`snapshotAllPages Border 9`] = ` + + + + + + +`; + +exports[`snapshotAllPages Border 10`] = ` + +`; + +exports[`snapshotAllPages Border 11`] = ` + +`; + +exports[`snapshotAllPages Border 12`] = ` + +`; + +exports[`snapshotAllPages Border 13`] = ` + +`; + +exports[`snapshotAllPages Border 14`] = ` + +`; + +exports[`snapshotAllPages Border 15`] = ` + +`; + +exports[`snapshotAllPages Border 16`] = ` + +`; + +exports[`snapshotAllPages Border 17`] = ` + +`; + +exports[`snapshotAllPages Button 1`] = ` + + + + - - Burger - - - - - + + + +`; + +exports[`snapshotAllPages Button 2`] = ` + + + + + Cancel Application + + + + +`; + +exports[`snapshotAllPages Button 3`] = ` + + + + + - - Risotto - - + Cancel + + + + + - - - French Fries - - + Submit + + + + +`; + +exports[`snapshotAllPages Button 4`] = ` + + + - - - Onion Rings - - - - - - - Fried Shrimps - - - - - - - Water - - - - - - - Coke - - + Cancel + + + + + - - - Beer - - + Save For Later + + + + + - - - Cheesecake - - + Submit + - - + `; -exports[`snapshotAllPages FlatList 7`] = ` +exports[`snapshotAllPages Button 5`] = ` - - - + - + + + +`; + +exports[`snapshotAllPages Button 6`] = ` + + + + + Submit Application + + + + +`; + +exports[`snapshotAllPages Button 7`] = ` + + + + - - Pizza - - - + Submit Application + + + + +`; + +exports[`snapshotAllPages Button 8`] = ` + + + + + Submit Application + + + + +`; + +exports[`snapshotAllPages Button 9`] = ` + + + + + - - Separator for leading Pizza and trailing undefined has not been pressed - - - - - - - Burger - - - - - Separator for leading Burger and trailing undefined has not been pressed - - + Default Button + + + + + - - - Risotto - - - - - Separator for leading Risotto and trailing undefined has not been pressed - - + Button with accessible=false + + + + + - - - French Fries - - - - - Separator for leading French Fries and trailing undefined has not been pressed - - + Button with focusable=false + + + + + - - - Onion Rings - - - - - Separator for leading Onion Rings and trailing undefined has not been pressed - - + Button with accessible=false and focusable=false + - - - - Fried Shrimps - - - - - Separator for leading Fried Shrimps and trailing undefined has not been pressed - - - - - - - Water - - - - - Separator for leading Water and trailing undefined has not been pressed - - - - - - - Coke - - - - - Separator for leading Coke and trailing undefined has not been pressed - - - - - - - Beer - - - - - Separator for leading Beer and trailing undefined has not been pressed - - - - - - - Cheesecake - - - - - Separator for leading Cheesecake and trailing undefined has not been pressed - - - - - + `; -exports[`snapshotAllPages FlatList 8`] = ` +exports[`snapshotAllPages Composition Bugs Example 1`] = ` + + + Composition: + + - - <FlatList> - MultiColumn + /> + + + Value: + 0 + + + + + + UI Tick + : - - - - numColumns: - - - - + + + Value: + 0 + + + + + + JavaScript + : + + + + - - - Virtualized - : - - - - - - Fixed Height - : - - - - - - Log Viewable - : - - - - - + } + /> + + + Value: + 0 + + + + +`; + +exports[`snapshotAllPages Composition Bugs Example 2`] = ` + + + + Composition: + + + - + + + UI Tick + : + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Composition Bugs Example 3`] = ` + + + + Composition: + + + + + + + + UI Tick + : + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Composition Bugs Example 4`] = ` + + + + Composition: + + + + + + + + UI Tick + : + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Composition Bugs Example 5`] = ` + + + + Composition: + + + + + + + Final Value: + + + + + + UI Tick + : + + + + + + + Final Value: + + + + + + JavaScript + : + + + + + + + Final Value: + + + + +`; + +exports[`snapshotAllPages Composition Bugs Example 6`] = ` + + + + Composition: + + + + + + + + UI Tick + : + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Crash 1`] = ` + + + + + JS crash + + + + +`; + +exports[`snapshotAllPages DevSettings 1`] = ` + + + + + Add + + + + +`; + +exports[`snapshotAllPages DevSettings 2`] = ` + + + + + Reload + + + + +`; + +exports[`snapshotAllPages Dimensions 1`] = ` + + { + "fontScale": 2, + "height": 1334, + "scale": 2, + "width": 750 +} + +`; + +exports[`snapshotAllPages Dimensions 2`] = ` + + { + "fontScale": 2, + "height": 1334, + "scale": 2, + "width": 750 +} + +`; + +exports[`snapshotAllPages Dimensions 3`] = ` + + { + "fontScale": 2, + "height": 1334, + "scale": 2, + "width": 750 +} + +`; + +exports[`snapshotAllPages Display:none Style 1`] = ` + + + + + + + Display:none style with TextInput + + + + + + + toggle display:none TextInput + + + + + + + + + + + + +`; + +exports[`snapshotAllPages Fast Path Texts 1`] = ` + + + Text without curly brackets + + +`; + +exports[`snapshotAllPages Fast Path Texts 2`] = ` + + + text within curly brackets + + +`; + +exports[`snapshotAllPages Fast Path Texts 3`] = ` + + + I am a string / I am a variable + + +`; + +exports[`snapshotAllPages Fast Path Texts 4`] = ` + + + + + + UPDATE STATE + + + + + + non state text: initial state text + + +`; + +exports[`snapshotAllPages Fast Path Texts 5`] = ` + + + + + + UPDATE STATE + + + + + + first string + + +`; + +exports[`snapshotAllPages Fast Path Texts 6`] = ` + + + I'm a + slowText + because my string interpolation needs to all be within a pair of curly brackets. + + + I'm + + a slow text because I'm nested with other + + + texts + + + +`; + +exports[`snapshotAllPages Fast Path Texts 7`] = ` + + + + + + UPDATE STATE + + + + + + +`; + +exports[`snapshotAllPages FlatList 1`] = ` + + + + Simple list of items + + + + + + + + + + + + + Virtualized + : + + + + + + Horizontal + : + + + + + + Fixed Height + : + + + + + + Log Viewable + : + + + + + + Inverted + : + + + + + + Empty + : + + + + + + Debug + : + + + + + + onPress Disabled + : + + + + + + Text Selectable + : + + + + + + Use FlatListItemComponent + : + + + + + + Is RTL + : + + + + + + Maintain content position + : + + + + + + + + + } + refreshing={false} + removeClippedSubviews={false} + renderItem={[Function]} + scrollEventThrottle={0.0001} + stickyHeaderIndices={[]} + style={{}} + viewabilityConfig={ + { + "minimumViewTime": 3000, + "viewAreaCoveragePercentThreshold": 100, + "waitForInteraction": true, + } + } + viewabilityConfigCallbackPairs={ + [ + { + "onViewableItemsChanged": [Function], + "viewabilityConfig": { + "minimumViewTime": 3000, + "viewAreaCoveragePercentThreshold": 100, + "waitForInteraction": true, + }, + }, + ] + } + > + + + + + + + LIST HEADER + + + + + + + + + + + + Item 550 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentu + + + + + + + + + + + Item 551 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret m + + + + + + + + + + + Item 552 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id + + + + + + + + + + + Item 553 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur + + + + + + + + + + + Item 554 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequu + + + + + + + + + + + Item 555 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, a + + + + + + + + + + + Item 556 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam i + + + + + + + + + + + Item 557 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, + + + + + + + + + + + Item 558 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputa + + + + + + + + + + + Item 559 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. E + + + + + + + + + + + + LIST FOOTER + + + + + + + + + +`; + +exports[`snapshotAllPages FlatList 2`] = ` + + + + + + + + Test + + + + + + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + Ice Cream + + + + + + +`; + +exports[`snapshotAllPages FlatList 3`] = ` + + + + + + + + Test + + + + + + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + +`; + +exports[`snapshotAllPages FlatList 4`] = ` +[ + + + Menu + + , + + + + contentInset top: 44 + + + + + + Toggle header size + + + + + + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + , +] +`; + +exports[`snapshotAllPages FlatList 5`] = ` + + + + inverted false + + + + + + Toggle true + + + + + + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + +`; + +exports[`snapshotAllPages FlatList 6`] = ` + + + + + + + + + + Pizza + + + + + + + Burger + + + + + + + Risotto + + + + + + + French Fries + + + + + + + Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + + +`; + +exports[`snapshotAllPages FlatList 7`] = ` + + + + + + + Pizza + + + + + Separator for leading Pizza and trailing undefined has not been pressed + + + + + + + Burger + + + + + Separator for leading Burger and trailing undefined has not been pressed + + + + + + + Risotto + + + + + Separator for leading Risotto and trailing undefined has not been pressed + + + + + + + French Fries + + + + + Separator for leading French Fries and trailing undefined has not been pressed + + + + + + + Onion Rings + + + + + Separator for leading Onion Rings and trailing undefined has not been pressed + + + + + + + Fried Shrimps + + + + + Separator for leading Fried Shrimps and trailing undefined has not been pressed + + + + + + + Water + + + + + Separator for leading Water and trailing undefined has not been pressed + + + + + + + Coke + + + + + Separator for leading Coke and trailing undefined has not been pressed + + + + + + + Beer + + + + + Separator for leading Beer and trailing undefined has not been pressed + + + + + + + Cheesecake + + + + + Separator for leading Cheesecake and trailing undefined has not been pressed + + + + + + + +`; + +exports[`snapshotAllPages FlatList 8`] = ` + + + + <FlatList> - MultiColumn + + + + + + + + numColumns: + + + + + + + Virtualized + : + + + + + + Fixed Height + : + + + + + + Log Viewable + : + + + + + + + + } + refreshing={false} + removeClippedSubviews={false} + renderItem={[Function]} + scrollEventThrottle={50} + stickyHeaderIndices={[]} + viewabilityConfigCallbackPairs={ + [ + { + "onViewableItemsChanged": [Function], + "viewabilityConfig": undefined, }, + ] + } + > + + + + + + + LIST HEADER + + + + + + + + + + + + + Item 0 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sa + + + + + + + + + + Item 1 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam cas + + + + + + + + + + + + + + Item 2 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, ve + + + + + + + + + + Item 3 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te me + + + + + + + + + + + + + + Item 4 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam i + + + + + + + + + + Item 5 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Se + + + + + + + + + + + + + + Item 6 + - + Lorem ipsum dolor sit amet + + + + + + + + + + Item 7 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In + + + + + + + + + + + + + + Item 8 + - + Lorem ipsum dolor sit amet, ius ad pertinax oporter + + + + + + + + + + Item 9 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur n + + + + + + + + + + + + + + Item 10 + - + Lorem ipsum dolor sit a + + + + + + + + + + Item 11 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrum + + + + + + + + + + + + + + Item 12 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi a + + + + + + + + + + Item 13 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur ne + + + + + + + + + + + + + + Item 14 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre + + + + + + + + + + Item 15 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. + + + + + + + + + + + + + + Item 16 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam inte + + + + + + + + + + Item 17 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an + + + + + + + + + + + + + + Item 18 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint + + + + + + + + + + Item 19 + - + Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit ref + + + + + + + + + + + + + LIST FOOTER + + + + + + + + +`; + +exports[`snapshotAllPages FlatList 9`] = ` + + + + + + Sticky Pizza + + + + + + + Burger + + + + + + + Sticky Risotto + + + + + + + French Fries + + + + + + + Sticky Onion Rings + + + + + + + Fried Shrimps + + + + + + + Water + + + + + + + Coke + + + + + + + Beer + + + + + + + Cheesecake + + + + + + +`; + +exports[`snapshotAllPages FlatList 10`] = ` + + + + + Outer Viewable: + + + + + + + Outer Rendered: + + + + + + + Inner Viewable: + + + + + + + Inner Rendered: + + + + + + + + + + Header + + + + + + + + +`; + +exports[`snapshotAllPages Flyout 1`] = ` + + + + Placement Options: + + + + + + + + + Open Flyout + + + + + + + + + + + Open Flyout without Target + + + + + + + + + + + Open Flyout with Offset + + + + + + + + Text Input to Anchor flyout to: + + + + + +`; + +exports[`snapshotAllPages Glyph UWP 1`] = ` + + + Glyph: default Accent color + + + + Glyph: red + + + + Multiple glyphs: red + + + + Multiple glyphs + + + +`; + +exports[`snapshotAllPages Keyboard 1`] = ` + + + + Keyboard is + + + closed + + + + + No events observed + + + +`; + +exports[`snapshotAllPages Keyboard 2`] = ` + + + + Keyboard is + + + closed + + + + + No events observed + + + +`; + +exports[`snapshotAllPages Keyboard 3`] = ` + + + No tab index, this item will be tabbed to last + + + + tabIndex default + + + + These 3 items should tab in the order of first, last, middle: + + + + + tabIndex 1 + + + + + tabIndex 3 + + + + + tabIndex 2 + + + + + Controls like Picker should also do the same tab in the order of first, last, middle: + + + + + + + +`; + +exports[`snapshotAllPages Keyboard Focus Example 1`] = ` + + + + Please select a item to set focus + + + + + + View accept focus + + + + + + + + Test Purpose: focus on TextInput, then timeout and blur on TextInput2, TextInput still keep focus + + + + + + Test Purpose: focus on TextInput2, then timeout and blur on TextInput2, TextInput2 lose focus + + + + Key + unknown + + + + + + + + Last focus event for TouchableHighlight: + + + + + + + Last focus event for TouchableOpacity: + + + + + Last focus event for TouchableWithoutFeedback: + + + + +`; + +exports[`snapshotAllPages Keyboard extension Example 1`] = ` + + + + + OnKeyDown Key and Code + + + + + + + + + OnKeyDownCapture Key and Code + + + + + + + + + + + OnKeyUp Key and Code + + + + + + + + + OnKeyUpCapture Key and Code + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages Layout - Flexbox 1`] = ` + + + + > + Layout + + + - - + } + > + + + + + Flex Direction + + + + + row + + + + + + + + + + row-reverse + + + + + + + + + + column + + + + + + + + + + column-reverse + + + + + + + + + + + top: 15, left: 160 + + + + + + + Justify Content - Main Direction + + + + + flex-start + + + + + + + + + + center + + + + + + + + + + flex-end + + + + + + + + + + space-between + + + + + + + + + + space-around + + + + + + + + + + + + + Align Items - Other Direction + + + + + flex-start + + + + + + + + + + + + + + + /> - - LIST HEADER - - + /> + + + - - + + center + + + - + + - - - - Item 0 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sa - - - - + } + /> + + - + + - - - - Item 1 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam cas - - - - + } + /> + + + + + + + - - + + flex-end + + + - + + - - - - Item 2 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, ve - - - - + } + /> + + - + + + + + + - - - - Item 3 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te me - - - - + } + /> + + + + + + + Flex Wrap + + + - + + - - - - Item 4 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam i - - - - + } + /> - + + - - - - Item 5 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Se - - - - - - - - + /> - + + - - - - Item 6 - - - Lorem ipsum dolor sit amet - - - - + } + /> - + + - - - - Item 7 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In - - - - - - - - + /> - - - - - Item 8 - - - Lorem ipsum dolor sit amet, ius ad pertinax oporter - - - - + /> - + + - - - - Item 9 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur n - - - - + } + /> - + + + +`; + +exports[`snapshotAllPages Layout Events 1`] = ` + + + layout events are called on mount and whenever layout is recalculated. Note that the layout event will typically be received + + + before + + the layout has updated on screen, especially when using layout animations. + + + Press here to change layout. + + + + + + ViewLayout: + + undefined + + + + + A simple piece of text. + + + + + Text w/h: + ? + / + ? + + Image x/y: + ? + / + ? + + + +`; + +exports[`snapshotAllPages LegacyControlStyleTest 1`] = ` + + + + + + + + + + + Show Round Border + + + + + +`; + +exports[`snapshotAllPages LegacyImageTest 1`] = ` + + + + + + + + + Show Border + + + + + + + + - + + + + +`; + +exports[`snapshotAllPages LegacyLoginTest 1`] = ` + + + + + + + - - - - - - Item 10 - - - Lorem ipsum dolor sit a - - - - - - - - - - Item 11 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrum - - - - - - - + Show Password + + + + + + + LOGIN + + + + +`; + +exports[`snapshotAllPages LegacySelectableTextTest 1`] = ` + + + Pressed: + 0 + times. + + + Text before + + + click here + + + text after + + + + + - + + + + + + + + Clear State + + + + + +`; + +exports[`snapshotAllPages LegacyTextHitTestTest 1`] = ` + + + Pressed: + 0 + times. + + + Nested + + + pressable + + + text: + + + Click here + + + + + + Nested text inside pressable text: + + + + Click here + + + + + Multiline pressable test: + + + Click here +or click here. + + + + Multiline pressable RTL text: + + + أحب اللغة +العربية + + + + RTL text in LTR flow direction: + + + أحب اللغة العربية + + + + RTL text in RTL flow direction: + + + أحب اللغة العربية + + + + LTR text in RTL flow direction: + + + Click here + + + + Bidirectional text in a single run: + + + أحب اللغة العربية hello + + + + Bidirectional text in separate runs: + + + أحب اللغة العربية + hello + + + + Add pressable inline text child: + + + Click to add + + + + + Click anywhere to toggle pressability: + + + Click here + + + + Wrapped text pressability: + + + + + abcdef + + + + + + + + Clear State + + + + + +`; + +exports[`snapshotAllPages LegacyTextInputTest 1`] = ` + + + + + + <Log Start> + + +`; + +exports[`snapshotAllPages Linking 1`] = ` + + + + + - - - - - - Item 12 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi a - - - - - - - - - - Item 13 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur ne - - - - - - - - + + + + + - - - - - - Item 14 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre - - - - - - - - - - Item 15 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. - - - - - - - + Open + http://www.facebook.com + + + + + + - + + + + + - - - - - - Item 16 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint, te mea facilisi adipiscing. Sea id integre luptatum. In tota sale consequuntur nec. Erat ocurreret mei ei. Eu paulo sapientem vulputate est, vel an accusam intellegam inte - - - - - - - - - - Item 17 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an - - - - - - - + Open + fb://notifications + + + + + + + Open + geo:37.484847,-122.148386 + + + + + + + Open + tel:9876543210 + + + + + +`; + +exports[`snapshotAllPages Linking 2`] = ` + + + + + Open Settings + + + + +`; + +exports[`snapshotAllPages Mouse Click Events 1`] = ` + + + + Primary Pressed x + 0 + + + Auxiliary Pressed x + 0 + + + Secondary Pressed x + 0 + + + + + + - + + + + + + I'm a view! + + + + + + + I'm a button! + + + + + +`; + +exports[`snapshotAllPages Mouse Events 1`] = ` + + + + + + Hoverable + - - - - - - Item 18 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit referrentur. Te nam case ludus inciderint - - - - - - - - - - Item 19 - - - Lorem ipsum dolor sit amet, ius ad pertinax oportere accommodare, an vix civibus corrumpit ref - - - - - + text + + + + + This is a TouchableHighlight + + + + + This is an overlay view + + + + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 1`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 2`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 3`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 4`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 5`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 6`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 7`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 8`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 9`] = ` + + + + Native: + + + + + + + + JavaScript + : + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 10`] = ` + + + + + + Value: + 0 + + +`; + +exports[`snapshotAllPages Native Animated Example 11`] = ` + + + +`; + +exports[`snapshotAllPages Native Animated Example 12`] = ` + + + + + - - - - - - LIST FOOTER - - - - + } + > + + Scroll me sideways! + - - + + `; -exports[`snapshotAllPages FlatList 9`] = ` - + + + Native: + + + + + + + + + JavaScript + : + + + + + + + +`; + +exports[`snapshotAllPages Native Animated Example 14`] = ` + + + + Force JS Stalls + + + + + + Track JS Stalls + + + + +`; + +exports[`snapshotAllPages PanResponder Sample 1`] = ` + + + + Basic gesture handling + + + - + > - - - Sticky Pizza - - - - - - Burger - - - - - - - Sticky Risotto - - + "backgroundColor": "green", + "transform": [ + { + "translateX": 20, + }, + { + "translateY": 84, + }, + ], + }, + ] + } + /> + + +`; + +exports[`snapshotAllPages Performance API Examples 1`] = ` + + + + performance.memory + + + - - French Fries - - - - - - - Sticky Onion Rings - - - - - - - Fried Shrimps + + + Click to update memory info + + + + + + + jsHeapSizeLimit: undefined bytes + + + totalJSHeapSize: undefined bytes + + + usedJSHeapSize: undefined bytes + + +`; + +exports[`snapshotAllPages Performance API Examples 2`] = ` + + + + performance.reactNativeStartupTiming + + + - - Water - - - - - - - Coke - - - - - - - Beer + + + Click to update React startup timing + + + + + + + startTime: N/A ms + + + executeJavaScriptBundleEntryPointStart: N/A ms + + + executeJavaScriptBundleEntryPointEnd: N/A ms + + + endTime: N/A ms - - + +`; + +exports[`snapshotAllPages PlatformColor 1`] = ` + +`; + +exports[`snapshotAllPages PlatformColor 2`] = ` + + + - - Cheesecake - - - + } + > + Unexpected Platform.OS: windows + - + `; -exports[`snapshotAllPages FlatList 10`] = ` +exports[`snapshotAllPages PlatformColor 3`] = ` + + Not applicable on this platform + +`; + +exports[`snapshotAllPages PlatformColor 4`] = ` - - Outer Viewable: - - - + Unexpected Platform.OS: windows - - - Outer Rendered: - + /> + + +`; - - - + + - + + A: unspecified + + + - Inner Viewable: - - - - - + + B: none + + + + + + C: unspecified + + + + + + + + - Inner Rendered: - + /> + + + +`; - - - + + - + + + A: unspecified + + + - - - Header - - + B: none + + > + + + C: unspecified + + + - + - -`; - -exports[`snapshotAllPages Flyout 1`] = ` - - - Placement Options: - - + "fontSize": 9, + } + } + /> + + +`; + +exports[`snapshotAllPages Pointer Events 3`] = ` + + + A: unspecified + + + - Open Flyout + B: box-none + + + + C: unspecified + + + + + + + C: explicitly unspecified + + + + + + + +`; + +exports[`snapshotAllPages Pointer Events 4`] = ` + + + + + A: unspecified + + + - Open Flyout without Target + B: box-none + + + + C: unspecified + + + + + + + C: explicitly unspecified + + + + + + + +`; + +exports[`snapshotAllPages Pointer Events 5`] = ` + + + + + A: unspecified + + + - Open Flyout with Offset + B: box-only + + + + C: unspecified + + + + + + + C: explicitly unspecified + + + - - - Text Input to Anchor flyout to: - - - - - -`; - -exports[`snapshotAllPages Glyph UWP 1`] = ` - - - Glyph: default Accent color - - - - Glyph: red - - - - Multiple glyphs: red - - - - Multiple glyphs - - - -`; - -exports[`snapshotAllPages Keyboard extension Example 1`] = ` - - - - OnKeyDown Key and Code - - - - - - - - - OnKeyDownCapture Key and Code - - - - - - - + + + +`; + +exports[`snapshotAllPages Pointer Events 6`] = ` + + - - OnKeyUp Key and Code - - - - - - - - - OnKeyUpCapture Key and Code - - - - - - - - - + + A: unspecified + + + + + + B: box-only + + + + + + C: unspecified + + + + + + + C: explicitly unspecified + + + + + + + + - @@ -18049,256 +35491,491 @@ exports[`snapshotAllPages Keyboard extension Example 1`] = ` `; -exports[`snapshotAllPages LegacyControlStyleTest 1`] = ` +exports[`snapshotAllPages Pointer Events 7`] = ` - - + + + A: overflow: + visible + + + - + + + B: overflowing + + + + + > + + + C: fully outside + + + + + + D: child of fully outside + + + + + + + + + +`; + +exports[`snapshotAllPages Pointer Events 8`] = ` + + + + A: overflow: + hidden + + + + + + B: overflowing + + + + + + + C: fully outside + + + - Show Round Border - + + + D: child of fully outside + + + + + + + + `; -exports[`snapshotAllPages LegacyImageTest 1`] = ` - +exports[`snapshotAllPages Popup 1`] = ` + + + The following tests popup Anchor + - + Text Input to Anchor popup to: + + + + - - - Show Border - + + Open Popup + + + +`; + +exports[`snapshotAllPages Popup 2`] = ` + - Set image to RTL + Toggle popup @@ -18379,39 +36055,16 @@ exports[`snapshotAllPages LegacyImageTest 1`] = ` `; -exports[`snapshotAllPages LegacyLoginTest 1`] = ` - - - + } + testID="popup-accessibility" +> - Show Password + Toggle popup + +`; + +exports[`snapshotAllPages Pressable 1`] = ` +[ + + + Press Me + + + , + - LOGIN - - - - + testID="pressable_press_console" + /> + , +] `; -exports[`snapshotAllPages LegacySelectableTextTest 1`] = ` +exports[`snapshotAllPages Pressable 2`] = ` - - Pressed: - 0 - times. - - - Text before - - - click here - - - text after - + + Press Me + + + +`; + +exports[`snapshotAllPages Pressable 3`] = ` + + - - - Toggle Selectable - - + } + > + Press Me + + +`; + +exports[`snapshotAllPages Pressable 4`] = ` + + + + + +`; + +exports[`snapshotAllPages Pressable 5`] = ` + + - + - Clear State + radius 30 - - -`; - -exports[`snapshotAllPages LegacyTextHitTestTest 1`] = ` - - - Pressed: - 0 - times. - - - Nested - - - pressable - - - text: - - - Click here - - - - - - Nested text inside pressable text: - - - - Click here - - - - - Multiline pressable test: - - - Click here -or click here. - - - - Multiline pressable RTL text: - - + + radius 150 + + + + - أحب اللغة -العربية - - - - RTL text in LTR flow direction: - - - أحب اللغة العربية - - - + + radius 70, with border + + + + + - RTL text in RTL flow direction: - - - أحب اللغة العربية - - - + with border, default color and radius + + + + - LTR text in RTL flow direction: - - - Click here - - - - Bidirectional text in a single run: - - - أحب اللغة العربية hello - - - - Bidirectional text in separate runs: - - - أحب اللغة العربية - hello - - - - Add pressable inline text child: - - - Click to add - + /> + + + use foreground - + + +`; + +exports[`snapshotAllPages Pressable 6`] = ` +[ + Text has built-in onPress handling + , + + + , +] +`; + +exports[`snapshotAllPages Pressable 7`] = ` + + - Click anywhere to toggle pressability: - - - Click here - - - - Wrapped text pressability: - - - - abcdef + Press Me - - - - - - - Clear State - - - -`; - -exports[`snapshotAllPages LegacyTextInputTest 1`] = ` - - - - - - <Log Start> - `; -exports[`snapshotAllPages Popup 1`] = ` +exports[`snapshotAllPages Pressable 8`] = ` - - The following tests popup Anchor - + + 3D Touch is not available on this device + + - - Text Input to Anchor popup to: - - - + > + Press Me + + + +`; + +exports[`snapshotAllPages Pressable 9`] = ` + - - - - Open Popup - - - + Press Outside This View + + + + `; -exports[`snapshotAllPages Popup 2`] = ` +exports[`snapshotAllPages Pressable 10`] = ` + + + + Missing Ref! + + +`; + +exports[`snapshotAllPages Pressable 11`] = ` +[ + - - - - Toggle popup - - - - - + Disabled Pressable + + , + + + Enabled Pressable + + , +] `; -exports[`snapshotAllPages Popup 3`] = ` +exports[`snapshotAllPages Pressable 12`] = ` - - - - Toggle popup - - - + Press Me + `; -exports[`snapshotAllPages Pressable 1`] = ` +exports[`snapshotAllPages Pressable 13`] = ` [ , -] -`; - -exports[`snapshotAllPages Pressable 2`] = ` - - + + Click to focus textbox + + + , +] +`; + +exports[`snapshotAllPages Pressable 14`] = ` +[ + + - Press Me + + Press Me + + + + , + + + + defaultText - - + , +] `; -exports[`snapshotAllPages Pressable 3`] = ` - +exports[`snapshotAllPages Pressable 15`] = ` +[ Press Me - + , + , +] +`; + +exports[`snapshotAllPages Pressable 16`] = ` + + + +`; + +exports[`snapshotAllPages Pressable 17`] = ` + + + + + - -`; - -exports[`snapshotAllPages Pressable 4`] = ` - - - - -`; - -exports[`snapshotAllPages Pressable 5`] = ` - - - - - - radius 30 - - - - - - - radius 150 - - - - - - - radius 70, with border - - - - + } + /> - - - with border, default color and radius - - - - - + - - - - use foreground - - - -`; - -exports[`snapshotAllPages Pressable 6`] = ` -[ - - Text has built-in onPress handling - , + /> - - , -] -`; - -exports[`snapshotAllPages Pressable 7`] = ` - - - + - - Press Me - - - - - -`; - -exports[`snapshotAllPages Pressable 8`] = ` - - - 3D Touch is not available on this device - - - - - - Press Me - - - + } + /> `; -exports[`snapshotAllPages Pressable 9`] = ` +exports[`snapshotAllPages Pressable 18`] = ` - - - Press Outside This View - - - - - + + Pressable with accessible=true and focusable=true + - -`; - -exports[`snapshotAllPages Pressable 10`] = ` - - + + Pressable with accessible=false + - - Missing Ref! - - -`; - -exports[`snapshotAllPages Pressable 11`] = ` -[ - - Disabled Pressable + + Pressable with focusable=false - , + - - Enabled Pressable + + Pressable with accessible=false and focusable=false - , -] + + `; -exports[`snapshotAllPages Pressable 12`] = ` +exports[`snapshotAllPages Pressable 19`] = ` - - Press Me + + Pressable with ToolTip "Pressable" `; -exports[`snapshotAllPages Pressable 13`] = ` -[ +exports[`snapshotAllPages Pressable 20`] = ` + + + Parent Pressable + - - Press Me + + Child Pressable - , - - - , - + +`; + +exports[`snapshotAllPages Pressable 21`] = ` + + - - - Click to focus textbox - - - , -] -`; - -exports[`snapshotAllPages Pressable 14`] = ` -[ + View #1, front is visible, back is hidden. + - - Press Me - - - + + Front + + + - , - + + Back (You should not see this) + + + + - - - defaultText - - , -] -`; - -exports[`snapshotAllPages Pressable 15`] = ` -[ + View #2, front is hidden, back is visible. + - + Front (You should not see this) + + + - Press Me + } + accessibilityValue={ + { + "max": undefined, + "min": undefined, + "now": undefined, + "text": undefined, + } + } + accessible={true} + focusable={true} + onBlur={[Function]} + onClick={[Function]} + onFocus={[Function]} + onKeyDown={[Function]} + onKeyUp={[Function]} + onMouseEnter={[Function]} + onMouseLeave={[Function]} + onResponderGrant={[Function]} + onResponderMove={[Function]} + onResponderRelease={[Function]} + onResponderTerminate={[Function]} + onResponderTerminationRequest={[Function]} + onStartShouldSetResponder={[Function]} + style={ + { + "alignItems": "center", + "backfaceVisibility": "hidden", + "backgroundColor": "red", + "height": 200, + "justifyContent": "center", + "position": "absolute", + "top": 0, + "width": 200, + } + } + > + + Back - , + + +`; + +exports[`snapshotAllPages RTLExample 1`] = ` + , -] -`; - -exports[`snapshotAllPages Pressable 16`] = ` - + > + + Left-to-Right + + + + forceRTL + + + > + + + `; -exports[`snapshotAllPages Pressable 17`] = ` - +exports[`snapshotAllPages RTLExample 2`] = ` + - + + > + + + LTR + + + + + + + + + + + + Text Text Text + + + + + + + Button + + + + + + > + + + + + + + Text Text Text + + + + + + + Button + + + + + + +`; + +exports[`snapshotAllPages RTLExample 3`] = ` + + > + + + + LTR + + + + + + Left-to-Right language without text alignment. + + + > + من اليمين إلى اليسار اللغة دون محاذاة النص + + + מימין לשמאל השפה בלי יישור טקסט + + + +`; + +exports[`snapshotAllPages RTLExample 4`] = ` + + > + + + + LTR + + + + + + + Left-to-Right language without text alignment. + + + من اليمين إلى اليسار اللغة دون محاذاة النص + + + מימין לשמאל השפה בלי יישור טקסט + + + +`; + +exports[`snapshotAllPages RTLExample 5`] = ` + + > + + + + LTR + + + + + + + Left-to-Right language without text alignment. + + + من اليمين إلى اليسار اللغة دون محاذاة النص + + + מימין לשמאל השפה בלי יישור טקסט + + + +`; + +exports[`snapshotAllPages RTLExample 6`] = ` + + > + + + + LTR + + + + + + + LRT or RTL TextInput. + + + + +`; + +exports[`snapshotAllPages RTLExample 7`] = ` + + > + + + + LTR + + + + + + + + + Without directional meaning + + + + + + With directional meaning + + + + +`; + +exports[`snapshotAllPages RTLExample 8`] = ` + + > + + + + LTR + + + + + + + + + +`; + +exports[`snapshotAllPages RTLExample 9`] = ` + + + Styles + + + paddingStart: 50, + + + paddingEnd: 10 + + + + > + Demo: + + + The + teal + is padding. + + + + + + + + LTR + + + + + + `; -exports[`snapshotAllPages Pressable 18`] = ` - +exports[`snapshotAllPages RTLExample 10`] = ` + + + Styles + + + marginStart: 50, + + + marginEnd: 10 + + + + Demo: + + + The green is margin. + + + + + + + LTR + + + + + + + +`; + +exports[`snapshotAllPages RTLExample 11`] = ` + + + Styles + + + start: 50 + + + - - Pressable with accessible=true and focusable=true - + Demo: + + + The orange is position. + + + + + + + + LTR + + + + + - + + Styles + + + end: 50 + + + - - Pressable with accessible=false - - + Demo: + + + The orange is position. + - - Pressable with focusable=false - + + + + + + LTR + + + + + - +`; + +exports[`snapshotAllPages RTLExample 12`] = ` + + + Styles + + + borderStartWidth: 10, + + + borderEndWidth: 50 + + + + Demo: + + - - Pressable with accessible=false and focusable=false - + + + + + + + LTR + + + + + + `; -exports[`snapshotAllPages Pressable 19`] = ` - - + + Styles + + + borderStartColor: 'red', + + + borderEndColor: 'green', + + + - - Pressable with ToolTip "Pressable" - - - -`; - -exports[`snapshotAllPages Pressable 20`] = ` - + Demo: + - - Parent Pressable - - - Child Pressable - + + + + + + LTR + + + + + `; -exports[`snapshotAllPages Pressable 21`] = ` - +exports[`snapshotAllPages RTLExample 14`] = ` + - View #1, front is visible, back is hidden. + Styles + + + borderTopStartRadius: 10, + + + borderTopEndRadius: 20, + + + borderBottomStartRadius: 30, + + + borderBottomEndRadius: 40 + + + + Demo: - - Front - - - + - - Back (You should not see this) - + "busy": undefined, + "checked": undefined, + "disabled": undefined, + "expanded": undefined, + "selected": undefined, + } + } + accessibilityValue={ + { + "max": undefined, + "min": undefined, + "now": undefined, + "text": undefined, + } + } + accessible={true} + focusable={true} + onBlur={[Function]} + onClick={[Function]} + onFocus={[Function]} + onKeyDown={[Function]} + onKeyUp={[Function]} + onMouseEnter={[Function]} + onMouseLeave={[Function]} + onResponderGrant={[Function]} + onResponderMove={[Function]} + onResponderRelease={[Function]} + onResponderTerminate={[Function]} + onResponderTerminationRequest={[Function]} + onStartShouldSetResponder={[Function]} + style={ + { + "borderRadius": 3, + } + } + > + + + + LTR + + + + + + +`; + +exports[`snapshotAllPages RTLExample 15`] = ` + - View #2, front is hidden, back is visible. + Styles + + + borderStartStartRadius: 10, + + + borderStartEndRadius: 20, + + + borderEndStartRadius: 30, + + + borderEndEndRadius: 40 + + + + Demo: - - Front (You should not see this) - + + + + + + LTR + + + + + - + +`; + +exports[`snapshotAllPages RTLExample 16`] = ` + + + Styles + + + borderStartColor: 'red', + + + borderEndColor: 'green', + + + borderStartWidth: 10, + + + borderEndWidth: 50, + + + borderTopStartRadius: 10, + + + borderTopEndRadius: 20, + + + borderBottomStartRadius: 30, + + + borderBottomEndRadius: 40 + + + + Demo: + + + - - Back - + + + + + + LTR + + + + + @@ -47054,6 +66215,319 @@ exports[`snapshotAllPages SectionList 7`] = ` `; +exports[`snapshotAllPages Share 1`] = ` + + + Native Experience + + + Our top priority for React Native is to match the expectations people have for each platform. This is why React Native renders to platform primitives. We value native look-and-feel over cross-platform consistency. For example, the TextInput in React Native renders to a UITextField on iOS. This ensures that integration with password managers and keyboard controls work out of the box. By using platform primitives, React Native apps are also able to stay up-to-date with design and behavior changes from new releases of Android and iOS. + + + + + + SHARE + + + + + +`; + +exports[`snapshotAllPages Share 2`] = ` + + + Massive Scale + + + Hundreds of screens in the Facebook app are implemented with React Native. The Facebook app is used by billions of people on a huge range of devices. This is why we invest in the most challenging problems at scale. Deploying React Native in our apps lets us identify problems that we wouldn’t see at a smaller scale. For example, Facebook focuses on improving performance across a broad spectrum of devices from the newest iPhone to many older generations of Android devices. This focus informs our architecture projects such as Hermes, Fabric, and TurboModules. + + + + + + SHARE + + + + + +`; + +exports[`snapshotAllPages Share 3`] = ` + + + action: + null + + + Create native apps + + + React Native combines the best parts of native development with React, a best-in-class JavaScript library for building user interfaces. + + + + + + SHARE + + + + + +`; + exports[`snapshotAllPages SwipeableCard 1`] = ` [ - + + + + + + + + + + + + + + + + + + + + + + +`; + +exports[`snapshotAllPages Timers 1`] = ` + + + + Measure: + setTimeout + ( + fn, 0 + ) - + 0 + + + + + Measure: + setTimeout + ( + fn, 1 + ) - + 0 + + + + + Measure: + setTimeout + ( + fn, 100 + ) - + 0 + + + +`; + +exports[`snapshotAllPages Timers 2`] = ` + + + + Measure: + requestAnimationFrame + ( + fn + ) - + 0 + + + +`; + +exports[`snapshotAllPages Timers 3`] = ` + + + + + Run requestIdleCallback + + + - + + Burn CPU inside of requestIdleCallback + + + - - - + + Run requestIdleCallback with timeout option + + + - - - + + Run background task + + + - - - + + Stop background task + + + + - + + + +`; + +exports[`snapshotAllPages Timers 4`] = ` + + - - - + + Measure: + setImmediate + ( + fn + ) - + 0 + + + +`; + +exports[`snapshotAllPages Timers 5`] = ` + + + - - - + + Measure: + setInterval + ( + fn, 25 + ) - + 0 + + + - - - + + Clear interval + + + + - - + > + + Unmount timer + + `; @@ -60571,6 +80796,416 @@ exports[`snapshotAllPages View 21`] = ` `; +exports[`snapshotAllPages WebSocket 1`] = ` + + + + + To start the WS test server: + + + ./RNTester/js/examples/WebSocket/websocket_test_server.js + + + + + Current WebSocket state + + + (no value) + + + + + Last WebSocket event + + + (no value) + + + + + Last message received + + + (no value) + + + + + Last image received + + + + + + + Connect + + + + + Disconnect + + + + + + + + Send as text + + + + + Send as binary + + + + + + To start the HTTP test server: + + + ./RNTester/js/examples/WebSocket/http_test_server.js + + + + + + + Send HTTP request to set cookie + + + + + + - + + + + +`; + exports[`snapshotAllPages XAML 1`] = ` { }); } - for (const api of apiExamples) { - if (api === 'Transforms') - // disable until either transformExample uses units, or that isn't an error + for (const api of testerList.APIs) { + if (api.module.title === 'Transforms' || api.module.title === 'TurboModule' || api.module.title === 'Cxx TurboModule' || + api.module.title === 'Appearance' || api.module.title === 'AccessibilityInfo' || api.module.title === 'Accessibility' || + api.module.title === 'Invalid Props'){ + // disable while these module have not been implemented yet continue; + } - test(api, () => {expect(true).toBe(true)}); + test(api.module.title, () => { + for (const example of api.module.examples) { + const Example = example.render; + const tree = create().toJSON(); + expect(tree).toMatchSnapshot(); + } + }); } }); From a8462d018aefe2b88d83e8a9ce934cc641583a20 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 10:59:07 -0700 Subject: [PATCH 18/26] Save State: Snapshots for Example Pages (Stable)! --- .../__snapshots__/snapshotPages.test.js.snap | 2934 ----------------- .../test/snapshotPages.test.js | 2 +- 2 files changed, 1 insertion(+), 2935 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index c8ca8cb832c..ddd1462d9cc 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -2087,2940 +2087,6 @@ exports[`snapshotAllPages Alerts 9`] = ` `; -exports[`snapshotAllPages Animated - Gratuitous App 1`] = ` - - - - - - - - E0 - - - - - - - - - - - E1 - - - - - - - - - - - E2 - - - - - - - - - - - E3 - - - - - - - - - - - E4 - - - - - - - - - - - E5 - - - - - - - - - - - E6 - - - - - - - - - - - E7 - - - - - - - - - - - E8 - - - - - - - - - - - E9 - - - - - - - - - - - E10 - - - - - - - - - - - E11 - - - - - - - - - - - E12 - - - - - - - - - - - E13 - - - - - - - - - - - E14 - - - - - - - - - - - E15 - - - - - - - - - - - E16 - - - - - - - - - - - E17 - - - - - - - - - - - E18 - - - - - - - - - - - E19 - - - - - - - - - - - E20 - - - - - - - - - - - E21 - - - - - - - - - - - E22 - - - - - - - - - - - E23 - - - - - - - - - - - E24 - - - - - - - - - - - E25 - - - - - - - - - - - E26 - - - - - - - - - - - E27 - - - - - - - - - - - E28 - - - - - - - - - - - E29 - - - - - - - -`; - exports[`snapshotAllPages Animated 1`] = ` { for (const api of testerList.APIs) { if (api.module.title === 'Transforms' || api.module.title === 'TurboModule' || api.module.title === 'Cxx TurboModule' || api.module.title === 'Appearance' || api.module.title === 'AccessibilityInfo' || api.module.title === 'Accessibility' || - api.module.title === 'Invalid Props'){ + api.module.title === 'Invalid Props' || api.module.title === 'Animated - Gratuitous App'){ // disable while these module have not been implemented yet continue; } From 0e0d6ab46c198d755a954c9c8f241e78edd3f567 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 12:05:36 -0700 Subject: [PATCH 19/26] Save State: Add act() Wrappers --- .../__snapshots__/snapshotPages.test.js.snap | 86 +++---------------- .../test/snapshotPages.test.js | 36 +++++--- 2 files changed, 38 insertions(+), 84 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index ddd1462d9cc..bbf4ac3c0be 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -24875,6 +24875,7 @@ exports[`snapshotAllPages FlatList 10`] = ` + 0 (head) - Missing Ref! + Native Methods Exist `; @@ -74878,65 +74879,6 @@ exports[`snapshotAllPages Touchable* and onPress 2`] = ` `; exports[`snapshotAllPages Touchable* and onPress 3`] = ` - - - - - -`; - -exports[`snapshotAllPages Touchable* and onPress 4`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 5`] = `null`; +exports[`snapshotAllPages Touchable* and onPress 4`] = `null`; -exports[`snapshotAllPages Touchable* and onPress 6`] = ` +exports[`snapshotAllPages Touchable* and onPress 5`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 7`] = ` +exports[`snapshotAllPages Touchable* and onPress 6`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 8`] = ` +exports[`snapshotAllPages Touchable* and onPress 7`] = ` @@ -75141,7 +75083,7 @@ exports[`snapshotAllPages Touchable* and onPress 8`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 9`] = ` +exports[`snapshotAllPages Touchable* and onPress 8`] = ` @@ -75227,7 +75169,7 @@ exports[`snapshotAllPages Touchable* and onPress 9`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 10`] = ` +exports[`snapshotAllPages Touchable* and onPress 9`] = ` @@ -75286,7 +75228,7 @@ exports[`snapshotAllPages Touchable* and onPress 10`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 11`] = ` +exports[`snapshotAllPages Touchable* and onPress 10`] = ` @@ -75381,7 +75323,7 @@ exports[`snapshotAllPages Touchable* and onPress 11`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 12`] = ` +exports[`snapshotAllPages Touchable* and onPress 11`] = ` TouchableHighlight: - Missing Ref! + Native Methods Exist TouchableOpacity: - Missing Ref! + Native Methods Exist `; -exports[`snapshotAllPages Touchable* and onPress 13`] = `null`; +exports[`snapshotAllPages Touchable* and onPress 12`] = `null`; -exports[`snapshotAllPages Touchable* and onPress 14`] = ` +exports[`snapshotAllPages Touchable* and onPress 13`] = ` e.module.title); -const componentExamples = testerList.Components.map(e => e.module.title); - test('Component Control', () => { - const tree = create().toJSON(); - expect(tree).toMatchSnapshot(); + let tree; + act(() => { + tree = create(); + }); + expect(tree.toJSON()).toMatchSnapshot(); }); test('Explicit Component', () => { const Example = ViewExample.examples[0].render; - const tree = create().toJSON(); - expect(tree).toMatchSnapshot(); + let tree; + act(() => { + tree = create(); + }); + expect(tree.toJSON()).toMatchSnapshot(); }); describe('snapshotAllPages', () => { @@ -41,9 +44,15 @@ describe('snapshotAllPages', () => { } test(component.module.title, () => { for (const example of component.module.examples) { + if (example.title === 'TouchableNativeFeedback with Animated child') + // disable this example while it fails due to animated module usage + continue; const Example = example.render; - const tree = create().toJSON(); - expect(tree).toMatchSnapshot(); + let tree; + act(() => { + tree = create(); + }); + expect(tree.toJSON()).toMatchSnapshot(); } }); } @@ -52,15 +61,18 @@ describe('snapshotAllPages', () => { if (api.module.title === 'Transforms' || api.module.title === 'TurboModule' || api.module.title === 'Cxx TurboModule' || api.module.title === 'Appearance' || api.module.title === 'AccessibilityInfo' || api.module.title === 'Accessibility' || api.module.title === 'Invalid Props' || api.module.title === 'Animated - Gratuitous App'){ - // disable while these module have not been implemented yet + // disable while these modules have not been implemented yet continue; } test(api.module.title, () => { for (const example of api.module.examples) { const Example = example.render; - const tree = create().toJSON(); - expect(tree).toMatchSnapshot(); + let tree; + act(() => { + tree = create(); + }); + expect(tree.toJSON()).toMatchSnapshot(); } }); } From 9f7213357e358b7092c5bdba23846a22e098c081 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 13:51:25 -0700 Subject: [PATCH 20/26] Save State: Clean Snapshot Test Run! --- packages/e2e-test-app-fabric/test/snapshotPages.test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index 550bce131fa..faf9c433b92 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -2,6 +2,7 @@ const React = require('react'); import {create, act} from 'react-test-renderer'; import {View} from 'react-native'; const ViewExample = require('@react-native-windows/tester/js/examples/View/ViewExample'); +jest.useFakeTimers(); type RNTesterExampleModule = { title: string; From f94a8f07c7b1dc8ecb679927e525f114bd6545c3 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 13:57:02 -0700 Subject: [PATCH 21/26] Save State: Code Cleanup --- .../__snapshots__/snapshotPages.test.js.snap | 101 ++++++++++++------ .../test/snapshotPages.test.js | 14 +-- 2 files changed, 70 insertions(+), 45 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index bbf4ac3c0be..b0ac63819e8 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -2,28 +2,6 @@ exports[`Component Control 1`] = ``; -exports[`Explicit Component 1`] = ` - - - Blue background - - -`; - exports[`snapshotAllPages Accessibility Windows 1`] = ` @@ -74879,6 +74857,65 @@ exports[`snapshotAllPages Touchable* and onPress 2`] = ` `; exports[`snapshotAllPages Touchable* and onPress 3`] = ` + + + + + +`; + +exports[`snapshotAllPages Touchable* and onPress 4`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 4`] = `null`; +exports[`snapshotAllPages Touchable* and onPress 5`] = `null`; -exports[`snapshotAllPages Touchable* and onPress 5`] = ` +exports[`snapshotAllPages Touchable* and onPress 6`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 6`] = ` +exports[`snapshotAllPages Touchable* and onPress 7`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 7`] = ` +exports[`snapshotAllPages Touchable* and onPress 8`] = ` @@ -75083,7 +75120,7 @@ exports[`snapshotAllPages Touchable* and onPress 7`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 8`] = ` +exports[`snapshotAllPages Touchable* and onPress 9`] = ` @@ -75169,7 +75206,7 @@ exports[`snapshotAllPages Touchable* and onPress 8`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 9`] = ` +exports[`snapshotAllPages Touchable* and onPress 10`] = ` @@ -75228,7 +75265,7 @@ exports[`snapshotAllPages Touchable* and onPress 9`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 10`] = ` +exports[`snapshotAllPages Touchable* and onPress 11`] = ` @@ -75323,7 +75360,7 @@ exports[`snapshotAllPages Touchable* and onPress 10`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 11`] = ` +exports[`snapshotAllPages Touchable* and onPress 12`] = ` `; -exports[`snapshotAllPages Touchable* and onPress 12`] = `null`; +exports[`snapshotAllPages Touchable* and onPress 13`] = `null`; -exports[`snapshotAllPages Touchable* and onPress 13`] = ` +exports[`snapshotAllPages Touchable* and onPress 14`] = ` { expect(tree.toJSON()).toMatchSnapshot(); }); -test('Explicit Component', () => { - const Example = ViewExample.examples[0].render; - let tree; - act(() => { - tree = create(); - }); - expect(tree.toJSON()).toMatchSnapshot(); -}); - describe('snapshotAllPages', () => { for (const component of testerList.Components) { if (component.module.title == "New App Screen" || component.module.title == "Image"){ continue; } + test(component.module.title, () => { for (const example of component.module.examples) { - if (example.title === 'TouchableNativeFeedback with Animated child') - // disable this example while it fails due to animated module usage - continue; const Example = example.render; let tree; act(() => { From 5206c0bc025bf7a3bb1257f62fca8c8347cdfc6a Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 14:34:11 -0700 Subject: [PATCH 22/26] Add Comments --- packages/e2e-test-app-fabric/test/snapshotPages.test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/e2e-test-app-fabric/test/snapshotPages.test.js b/packages/e2e-test-app-fabric/test/snapshotPages.test.js index 155ab0897ae..92cc33a6be6 100644 --- a/packages/e2e-test-app-fabric/test/snapshotPages.test.js +++ b/packages/e2e-test-app-fabric/test/snapshotPages.test.js @@ -31,6 +31,7 @@ test('Component Control', () => { describe('snapshotAllPages', () => { for (const component of testerList.Components) { if (component.module.title == "New App Screen" || component.module.title == "Image"){ + // disable until errors are resolved continue; } From e617bd6f67cf37011fc9b85b72f0c303be361a03 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 14:46:24 -0700 Subject: [PATCH 23/26] Code Clean Up --- .../windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp index 2b4f17107f5..351f2212209 100644 --- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp @@ -195,9 +195,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) break; auto hwndHost = windowData->m_CompositionHwndHost; - /*winrt::com_ptr spReps; + winrt::com_ptr spReps; hwndHost.UiaProvider().as(spReps); - LRESULT lResult = UiaReturnRawElementProvider(hWnd, wParam, lParam, spReps.get());*/ + LRESULT lResult = UiaReturnRawElementProvider(hWnd, wParam, lParam, spReps.get()); LRESULT lResult{}; return lResult; } From 7eaa55e9d99f499da0813c2ae3d6c221df939551 Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 14:48:54 -0700 Subject: [PATCH 24/26] Add Comments --- packages/e2e-test-app-fabric/jest.config.js | 1 + packages/e2e-test-app-fabric/jest.setup.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/e2e-test-app-fabric/jest.config.js b/packages/e2e-test-app-fabric/jest.config.js index 079529b254a..3f702702053 100644 --- a/packages/e2e-test-app-fabric/jest.config.js +++ b/packages/e2e-test-app-fabric/jest.config.js @@ -25,6 +25,7 @@ module.exports = { // The test environment that will be used for testing // This environment causes the app to launch and close after testing is complete. // Temporarily disabling due to breaks in UIA implementation. + // disabled temporarily // testEnvironment: '@react-native-windows/automation', // The pattern or patterns Jest uses to detect test files diff --git a/packages/e2e-test-app-fabric/jest.setup.js b/packages/e2e-test-app-fabric/jest.setup.js index a235aead994..6671f196eba 100644 --- a/packages/e2e-test-app-fabric/jest.setup.js +++ b/packages/e2e-test-app-fabric/jest.setup.js @@ -9,6 +9,7 @@ const fs = require('fs'); const path = require('path'); const sanitizeFilename = require('sanitize-filename'); +// disabled temporarily //const {LogBox} = require('react-native'); const screenshotDir = './errorShots'; @@ -16,4 +17,5 @@ fs.mkdirSync(screenshotDir, {recursive: true}); process.env.NODE_ENV = 'test'; +// disabled temporarily //LogBox.ignoreAllLogs(true); From 4e1cdfc77efd539fd96486c23a1c55724b7af6ac Mon Sep 17 00:00:00 2001 From: Chiara Mooney <34109996+chiaramooney@users.noreply.github.com> Date: Wed, 26 Jul 2023 14:51:07 -0700 Subject: [PATCH 25/26] Update Snapshots After Merge --- .../__snapshots__/snapshotPages.test.js.snap | 1780 +++++++++++++---- 1 file changed, 1405 insertions(+), 375 deletions(-) diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap index b0ac63819e8..f44decdd340 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap @@ -6749,7 +6749,9 @@ exports[`snapshotAllPages Border 16`] = ` }, { "borderColor": { - "windowsbrush": "SystemAccentColorDark1", + "windowsbrush": [ + "SystemAccentColorDark1", + ], }, "borderWidth": 10, }, @@ -6815,11 +6817,15 @@ exports[`snapshotAllPages Button 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -6839,7 +6845,9 @@ exports[`snapshotAllPages Button 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -6904,11 +6912,15 @@ exports[`snapshotAllPages Button 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -6927,7 +6939,9 @@ exports[`snapshotAllPages Button 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7000,11 +7014,15 @@ exports[`snapshotAllPages Button 3`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7023,7 +7041,9 @@ exports[`snapshotAllPages Button 3`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7085,11 +7105,15 @@ exports[`snapshotAllPages Button 3`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7108,7 +7132,9 @@ exports[`snapshotAllPages Button 3`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7182,11 +7208,15 @@ exports[`snapshotAllPages Button 4`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7205,7 +7235,9 @@ exports[`snapshotAllPages Button 4`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7267,11 +7299,15 @@ exports[`snapshotAllPages Button 4`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7290,7 +7326,9 @@ exports[`snapshotAllPages Button 4`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7352,11 +7390,15 @@ exports[`snapshotAllPages Button 4`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7375,7 +7417,9 @@ exports[`snapshotAllPages Button 4`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7442,11 +7486,15 @@ exports[`snapshotAllPages Button 5`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7456,10 +7504,14 @@ exports[`snapshotAllPages Button 5`] = ` }, { "backgroundColor": { - "windowsbrush": "ButtonBackgroundDisabled", + "windowsbrush": [ + "ButtonBackgroundDisabled", + ], }, "borderColor": { - "windowsbrush": "ButtonBorderBrushDisabled", + "windowsbrush": [ + "ButtonBorderBrushDisabled", + ], }, }, ] @@ -7474,7 +7526,9 @@ exports[`snapshotAllPages Button 5`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7483,7 +7537,9 @@ exports[`snapshotAllPages Button 5`] = ` }, { "color": { - "windowsbrush": "ButtonForegroundDisabled", + "windowsbrush": [ + "ButtonForegroundDisabled", + ], }, }, ] @@ -7544,11 +7600,15 @@ exports[`snapshotAllPages Button 6`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7567,7 +7627,9 @@ exports[`snapshotAllPages Button 6`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7633,11 +7695,15 @@ exports[`snapshotAllPages Button 7`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7647,10 +7713,14 @@ exports[`snapshotAllPages Button 7`] = ` }, { "backgroundColor": { - "windowsbrush": "ButtonBackgroundDisabled", + "windowsbrush": [ + "ButtonBackgroundDisabled", + ], }, "borderColor": { - "windowsbrush": "ButtonBorderBrushDisabled", + "windowsbrush": [ + "ButtonBorderBrushDisabled", + ], }, }, ] @@ -7665,7 +7735,9 @@ exports[`snapshotAllPages Button 7`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7674,7 +7746,9 @@ exports[`snapshotAllPages Button 7`] = ` }, { "color": { - "windowsbrush": "ButtonForegroundDisabled", + "windowsbrush": [ + "ButtonForegroundDisabled", + ], }, }, ] @@ -7728,11 +7802,15 @@ exports[`snapshotAllPages Button 8`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7752,7 +7830,9 @@ exports[`snapshotAllPages Button 8`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7812,11 +7892,15 @@ exports[`snapshotAllPages Button 9`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7836,7 +7920,9 @@ exports[`snapshotAllPages Button 9`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7890,11 +7976,15 @@ exports[`snapshotAllPages Button 9`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7914,7 +8004,9 @@ exports[`snapshotAllPages Button 9`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -7968,11 +8060,15 @@ exports[`snapshotAllPages Button 9`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -7992,7 +8088,9 @@ exports[`snapshotAllPages Button 9`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -8046,11 +8144,15 @@ exports[`snapshotAllPages Button 9`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -8070,7 +8172,9 @@ exports[`snapshotAllPages Button 9`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -8802,11 +8906,15 @@ exports[`snapshotAllPages Crash 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -8825,7 +8933,9 @@ exports[`snapshotAllPages Crash 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -8881,11 +8991,15 @@ exports[`snapshotAllPages DevSettings 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -8904,7 +9018,9 @@ exports[`snapshotAllPages DevSettings 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -8960,11 +9076,15 @@ exports[`snapshotAllPages DevSettings 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -8983,7 +9103,9 @@ exports[`snapshotAllPages DevSettings 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -9226,11 +9348,15 @@ exports[`snapshotAllPages Fast Path Texts 4`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -9249,7 +9375,9 @@ exports[`snapshotAllPages Fast Path Texts 4`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -9310,11 +9438,15 @@ exports[`snapshotAllPages Fast Path Texts 5`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -9333,7 +9465,9 @@ exports[`snapshotAllPages Fast Path Texts 5`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -9413,11 +9547,15 @@ exports[`snapshotAllPages Fast Path Texts 7`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -9436,7 +9574,9 @@ exports[`snapshotAllPages Fast Path Texts 7`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -11658,11 +11798,15 @@ exports[`snapshotAllPages FlatList 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -11682,7 +11826,9 @@ exports[`snapshotAllPages FlatList 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -12204,11 +12350,15 @@ exports[`snapshotAllPages FlatList 3`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -12228,7 +12378,9 @@ exports[`snapshotAllPages FlatList 3`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -13048,11 +13200,15 @@ exports[`snapshotAllPages FlatList 4`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -13072,7 +13228,9 @@ exports[`snapshotAllPages FlatList 4`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -13871,11 +14029,15 @@ exports[`snapshotAllPages FlatList 5`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -13895,7 +14057,9 @@ exports[`snapshotAllPages FlatList 5`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -25126,11 +25290,15 @@ exports[`snapshotAllPages Flyout 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -25149,7 +25317,9 @@ exports[`snapshotAllPages Flyout 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -25212,11 +25382,15 @@ exports[`snapshotAllPages Flyout 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -25235,7 +25409,9 @@ exports[`snapshotAllPages Flyout 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -25298,11 +25474,15 @@ exports[`snapshotAllPages Flyout 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -25321,7 +25501,9 @@ exports[`snapshotAllPages Flyout 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -28172,11 +28354,15 @@ exports[`snapshotAllPages LegacyControlStyleTest 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -28196,7 +28382,9 @@ exports[`snapshotAllPages LegacyControlStyleTest 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -28281,11 +28469,15 @@ exports[`snapshotAllPages LegacyImageTest 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -28305,7 +28497,9 @@ exports[`snapshotAllPages LegacyImageTest 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -28358,11 +28552,15 @@ exports[`snapshotAllPages LegacyImageTest 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -28382,7 +28580,9 @@ exports[`snapshotAllPages LegacyImageTest 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -28471,11 +28671,15 @@ exports[`snapshotAllPages LegacyLoginTest 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -28495,7 +28699,9 @@ exports[`snapshotAllPages LegacyLoginTest 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -28644,11 +28850,15 @@ exports[`snapshotAllPages LegacySelectableTextTest 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -28668,7 +28878,9 @@ exports[`snapshotAllPages LegacySelectableTextTest 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -28721,11 +28933,15 @@ exports[`snapshotAllPages LegacySelectableTextTest 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -28745,7 +28961,9 @@ exports[`snapshotAllPages LegacySelectableTextTest 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -29069,11 +29287,15 @@ or click here. [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -29093,7 +29315,9 @@ or click here. [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -29569,11 +29793,15 @@ exports[`snapshotAllPages Linking 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -29592,7 +29820,9 @@ exports[`snapshotAllPages Linking 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -29687,11 +29917,15 @@ exports[`snapshotAllPages Mouse Click Events 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -29711,7 +29945,9 @@ exports[`snapshotAllPages Mouse Click Events 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -29784,11 +30020,15 @@ exports[`snapshotAllPages Mouse Click Events 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -29808,7 +30048,9 @@ exports[`snapshotAllPages Mouse Click Events 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -31294,11 +31536,15 @@ exports[`snapshotAllPages Performance API Examples 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -31317,7 +31563,9 @@ exports[`snapshotAllPages Performance API Examples 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -31449,11 +31697,15 @@ exports[`snapshotAllPages Performance API Examples 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -31472,7 +31724,9 @@ exports[`snapshotAllPages Performance API Examples 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -32969,11 +33223,15 @@ exports[`snapshotAllPages Popup 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -32992,7 +33250,9 @@ exports[`snapshotAllPages Popup 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -33059,11 +33319,15 @@ exports[`snapshotAllPages Popup 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -33082,7 +33346,9 @@ exports[`snapshotAllPages Popup 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -33148,11 +33414,15 @@ exports[`snapshotAllPages Popup 3`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -33171,7 +33441,9 @@ exports[`snapshotAllPages Popup 3`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -35781,11 +36053,15 @@ exports[`snapshotAllPages RTLExample 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -35804,7 +36080,9 @@ exports[`snapshotAllPages RTLExample 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -36060,11 +36338,15 @@ exports[`snapshotAllPages RTLExample 3`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -36083,7 +36365,9 @@ exports[`snapshotAllPages RTLExample 3`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -36184,11 +36468,15 @@ exports[`snapshotAllPages RTLExample 4`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -36207,7 +36495,9 @@ exports[`snapshotAllPages RTLExample 4`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -36323,11 +36613,15 @@ exports[`snapshotAllPages RTLExample 5`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -36346,7 +36640,9 @@ exports[`snapshotAllPages RTLExample 5`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -36462,11 +36758,15 @@ exports[`snapshotAllPages RTLExample 6`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -36485,7 +36785,9 @@ exports[`snapshotAllPages RTLExample 6`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -36579,11 +36881,15 @@ exports[`snapshotAllPages RTLExample 7`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -36602,7 +36908,9 @@ exports[`snapshotAllPages RTLExample 7`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -36747,11 +37055,15 @@ exports[`snapshotAllPages RTLExample 8`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -36770,7 +37082,9 @@ exports[`snapshotAllPages RTLExample 8`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -36952,11 +37266,15 @@ exports[`snapshotAllPages RTLExample 9`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -36975,7 +37293,9 @@ exports[`snapshotAllPages RTLExample 9`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -37095,11 +37415,15 @@ exports[`snapshotAllPages RTLExample 10`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -37118,7 +37442,9 @@ exports[`snapshotAllPages RTLExample 10`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -37230,11 +37556,15 @@ exports[`snapshotAllPages RTLExample 11`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -37253,7 +37583,9 @@ exports[`snapshotAllPages RTLExample 11`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -37361,11 +37693,15 @@ exports[`snapshotAllPages RTLExample 11`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -37384,7 +37720,9 @@ exports[`snapshotAllPages RTLExample 11`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -37493,11 +37831,15 @@ exports[`snapshotAllPages RTLExample 12`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -37516,7 +37858,9 @@ exports[`snapshotAllPages RTLExample 12`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -37629,11 +37973,15 @@ exports[`snapshotAllPages RTLExample 13`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -37652,7 +38000,9 @@ exports[`snapshotAllPages RTLExample 13`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -37772,11 +38122,15 @@ exports[`snapshotAllPages RTLExample 14`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -37795,7 +38149,9 @@ exports[`snapshotAllPages RTLExample 14`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -37915,11 +38271,15 @@ exports[`snapshotAllPages RTLExample 15`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -37938,7 +38298,9 @@ exports[`snapshotAllPages RTLExample 15`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -38073,11 +38435,15 @@ exports[`snapshotAllPages RTLExample 16`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -38096,7 +38462,9 @@ exports[`snapshotAllPages RTLExample 16`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -42005,11 +42373,15 @@ exports[`snapshotAllPages ScrollView 10`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -42029,7 +42401,9 @@ exports[`snapshotAllPages ScrollView 10`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -42082,11 +42456,15 @@ exports[`snapshotAllPages ScrollView 10`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -42106,7 +42484,9 @@ exports[`snapshotAllPages ScrollView 10`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -52078,11 +52458,15 @@ exports[`snapshotAllPages SectionList 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -52102,7 +52486,9 @@ exports[`snapshotAllPages SectionList 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -52689,11 +53075,15 @@ exports[`snapshotAllPages SectionList 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -52713,7 +53103,9 @@ exports[`snapshotAllPages SectionList 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -54506,11 +54898,15 @@ exports[`snapshotAllPages SectionList 5`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -54530,7 +54926,9 @@ exports[`snapshotAllPages SectionList 5`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -55106,11 +55504,15 @@ exports[`snapshotAllPages SectionList 6`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -55130,7 +55532,9 @@ exports[`snapshotAllPages SectionList 6`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -55880,11 +56284,15 @@ exports[`snapshotAllPages SectionList 7`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -55903,7 +56311,9 @@ exports[`snapshotAllPages SectionList 7`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -55964,11 +56374,15 @@ exports[`snapshotAllPages SectionList 7`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -55987,7 +56401,9 @@ exports[`snapshotAllPages SectionList 7`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -56048,11 +56464,15 @@ exports[`snapshotAllPages SectionList 7`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -56071,7 +56491,9 @@ exports[`snapshotAllPages SectionList 7`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -56132,11 +56554,15 @@ exports[`snapshotAllPages SectionList 7`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -56155,7 +56581,9 @@ exports[`snapshotAllPages SectionList 7`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -63322,11 +63750,15 @@ exports[`snapshotAllPages Share 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -63345,7 +63777,9 @@ exports[`snapshotAllPages Share 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -63425,11 +63859,15 @@ exports[`snapshotAllPages Share 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -63448,7 +63886,9 @@ exports[`snapshotAllPages Share 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -63532,11 +63972,15 @@ exports[`snapshotAllPages Share 3`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -63555,7 +63999,9 @@ exports[`snapshotAllPages Share 3`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -68790,11 +69236,15 @@ exports[`snapshotAllPages TextInput 4`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -68814,7 +69264,9 @@ exports[`snapshotAllPages TextInput 4`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -75849,11 +76301,15 @@ exports[`snapshotAllPages TransferProperties 1`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -75872,7 +76328,9 @@ exports[`snapshotAllPages TransferProperties 1`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -76034,11 +76492,15 @@ exports[`snapshotAllPages TransferProperties 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -76057,7 +76519,9 @@ exports[`snapshotAllPages TransferProperties 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -76110,11 +76574,15 @@ exports[`snapshotAllPages TransferProperties 2`] = ` [ { "backgroundColor": { - "windowsbrush": "ButtonBackground", + "windowsbrush": [ + "ButtonBackground", + ], }, "borderBottomWidth": 1.5, "borderColor": { - "windowsbrush": "ButtonBorderBrush", + "windowsbrush": [ + "ButtonBorderBrush", + ], }, "borderRadius": 3, "borderWidth": 1, @@ -76133,7 +76601,9 @@ exports[`snapshotAllPages TransferProperties 2`] = ` [ { "color": { - "windowsbrush": "ButtonForeground", + "windowsbrush": [ + "ButtonForeground", + ], }, "fontSize": 14, "fontWeight": "400", @@ -76324,18 +76794,10 @@ exports[`snapshotAllPages View 3`] = ` - 5px margin and padding, - - - widthAutonomous=true + Blue background @@ -76364,9 +76817,9 @@ exports[`snapshotAllPages View 4`] = ` @@ -76377,7 +76830,7 @@ exports[`snapshotAllPages View 4`] = ` } } > - Too much use of \`borderRadius\` (especially large radii) on anything which is scrolling may result in dropped frames. Use sparingly. + 5px blue border `; @@ -76406,6 +76859,7 @@ exports[`snapshotAllPages View 5`] = ` onResponderTerminate={[Function]} onResponderTerminationRequest={[Function]} onStartShouldSetResponder={[Function]} + testID="border-style-button" > - - - hidden + 5px margin - - - visible + 5px margin and padding, + + + widthAutonomous=true @@ -76776,6 +77203,107 @@ exports[`snapshotAllPages View 8`] = ` `; exports[`snapshotAllPages View 9`] = ` + + + + Too much use of \`borderRadius\` (especially large radii) on anything which is scrolling may result in dropped frames. Use sparingly. + + + +`; + +exports[`snapshotAllPages View 10`] = ` + + + + Dashed border style + + + + + Dotted border style + + + +`; + +exports[`snapshotAllPages View 11`] = ` + + Press to toggle \`display: none\` + + + + + + + + +`; + +exports[`snapshotAllPages View 12`] = ` + + + This Parent View has tooltip "Parent View" + + + + This view has tooltip "Child View 1" + + + + + This view has tooltip "Child View 2" + + + +`; + +exports[`snapshotAllPages View 13`] = ` + + + View #1, front is visible, back is hidden. + + + + + + Back (You should not see this) + + + + + View #2, front is hidden, back is visible. + + + + + + + + + + +`; + +exports[`snapshotAllPages View 14`] = ` + + + + + undefined + + + + + + + hidden + + + + + + + visible + + + + +`; + +exports[`snapshotAllPages View 15`] = ` + + + + Opacity 0 + + + + + Opacity 0.1 + + + + + Opacity 0.3 + + + + + Opacity 0.5 + + + + + Opacity 0.7 + + + + + Opacity 0.9 + + + + + Opacity 1 + + + +`; + +exports[`snapshotAllPages View 16`] = ` + `; -exports[`snapshotAllPages View 10`] = ` +exports[`snapshotAllPages View 17`] = ` `; -exports[`snapshotAllPages View 11`] = ` +exports[`snapshotAllPages View 18`] = ` `; -exports[`snapshotAllPages View 12`] = ` - - - This Parent View has tooltip "Parent View" - - - - This view has tooltip "Child View 1" - - - - - This view has tooltip "Child View 2" - - - -`; - -exports[`snapshotAllPages View 13`] = ` -[ +exports[`snapshotAllPages View 19`] = ` + View #1, front is visible, back is hidden. - , + - , + View #2, front is hidden, back is visible. - , + - , -] + + `; -exports[`snapshotAllPages View 14`] = ` +exports[`snapshotAllPages View 20`] = ` `; -exports[`snapshotAllPages View 15`] = ` +exports[`snapshotAllPages View 21`] = ` `; -exports[`snapshotAllPages View 16`] = ` +exports[`snapshotAllPages View 22`] = ` `; -exports[`snapshotAllPages View 17`] = ` +exports[`snapshotAllPages View 23`] = ` `; -exports[`snapshotAllPages View 18`] = ` +exports[`snapshotAllPages View 24`] = ` `; -exports[`snapshotAllPages View 19`] = ` +exports[`snapshotAllPages View 25`] = ` `; -exports[`snapshotAllPages View 20`] = ` +exports[`snapshotAllPages View 26`] = ` + + + + + borderBlockColor orange + + + + +`; + +exports[`snapshotAllPages View 27`] = ` `; -exports[`snapshotAllPages View 21`] = ` +exports[`snapshotAllPages View 28`] = ` Date: Wed, 26 Jul 2023 15:42:29 -0700 Subject: [PATCH 26/26] Fix --- .../windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp index 351f2212209..d711eb1c8d0 100644 --- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp +++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/RNTesterApp-Fabric.cpp @@ -198,7 +198,6 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) winrt::com_ptr spReps; hwndHost.UiaProvider().as(spReps); LRESULT lResult = UiaReturnRawElementProvider(hWnd, wParam, lParam, spReps.get()); - LRESULT lResult{}; return lResult; } }