diff --git a/src/internal/analytics-metadata/__integ__/page-scanner-utils-iframes.test.ts b/src/internal/analytics-metadata/__integ__/page-scanner-utils-iframes.test.ts deleted file mode 100644 index e1bb703..0000000 --- a/src/internal/analytics-metadata/__integ__/page-scanner-utils-iframes.test.ts +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import useBrowser from '@cloudscape-design/browser-test-tools/use-browser'; -import { BasePageObject } from '@cloudscape-design/browser-test-tools/page-objects'; -import { Browser } from 'webdriverio'; -import { getComponentsTree } from '../page-scanner-utils'; - -// Extend the Window interface to include the getComponentsTree property -declare global { - interface Window { - getComponentsTree: typeof getComponentsTree; - } -} - -describe('getComponentsTree', () => { - const setupTest = (testFn: (page: BasePageObject, browser: Browser) => Promise) => { - return useBrowser(async browser => { - const page = new BasePageObject(browser); - await browser.url('/with-iframe'); - await testFn(page, browser); - }); - }; - - test( - 'gets component metadata, including iframes', - setupTest(async (page, browser) => { - await page.runInsideIframe('#iframe-1', true, async () => { - await page.runInsideIframe('#iframe-2', true, async () => { - await page.waitForVisible('#sub-sub-target'); - }); - }); - const tree = await browser.execute(() => { - return window.getComponentsTree(); - }); - expect(tree).toEqual([ - { - name: 'ComponentOne', - children: [ - { - name: 'ComponentTwo', - children: [ - { name: 'ComponentTwoInPortal' }, - { name: 'ComponentThree', children: [{ name: 'ComponentThreeInPortal' }] }, - ], - }, - ], - }, - ]); - }) - ); - test( - 'gets component metadata of sub-tree inside an iframe', - setupTest(async (page, browser) => { - await page.runInsideIframe('#iframe-1', true, async () => { - await page.runInsideIframe('#iframe-2', true, async () => { - await page.waitForVisible('#sub-sub-target'); - }); - }); - const tree = await browser.execute(() => { - const iframe = document.querySelector('#iframe-1') as HTMLIFrameElement; - const iframeDocument = iframe!.contentDocument; - const subTarget = iframeDocument!.querySelector('#sub-target') as HTMLElement; - return window.getComponentsTree(subTarget); - }); - expect(tree).toEqual([ - { name: 'ComponentTwoInPortal' }, - { name: 'ComponentThree', children: [{ name: 'ComponentThreeInPortal' }] }, - ]); - }) - ); -}); diff --git a/src/internal/analytics-metadata/index.ts b/src/internal/analytics-metadata/index.ts index 6dd5459..00c937d 100644 --- a/src/internal/analytics-metadata/index.ts +++ b/src/internal/analytics-metadata/index.ts @@ -1,7 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -export type { GeneratedAnalyticsMetadataFragment, GeneratedAnalyticsMetadata, LabelIdentifier } from './interfaces'; +export { GeneratedAnalyticsMetadataFragment, GeneratedAnalyticsMetadata, LabelIdentifier } from './interfaces'; export { getAnalyticsMetadataAttribute, copyAnalyticsMetadataAttribute, diff --git a/test-pages/src/pages/another-nested-iframe.tsx b/test-pages/src/pages/another-nested-iframe.tsx deleted file mode 100644 index 0768524..0000000 --- a/test-pages/src/pages/another-nested-iframe.tsx +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import * as React from 'react'; -import { activateAnalyticsMetadata, getAnalyticsMetadataAttribute } from '../../../src/internal/analytics-metadata/'; - -export default function NestedIFrame() { - activateAnalyticsMetadata(true); - return ( - <> -
-
inside iframe inside iframe
-
-
-
-
-
- - ); -} diff --git a/test-pages/src/pages/nested-iframe.tsx b/test-pages/src/pages/nested-iframe.tsx deleted file mode 100644 index 559b43a..0000000 --- a/test-pages/src/pages/nested-iframe.tsx +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import * as React from 'react'; -import { activateAnalyticsMetadata, getAnalyticsMetadataAttribute } from '../../../src/internal/analytics-metadata/'; - -export default function NestedIFrame() { - activateAnalyticsMetadata(true); - return ( - <> -
-
inside iframe
-
-