import { nextTestSetup } from 'e2e-utils' import { retry } from 'next-test-utils' describe('css-modules-scoping', () => { const { next } = nextTestSetup({ files: __dirname, }) it('should not prefix grid areas', async () => { const browser = await next.browser('/grid') // Check grid-area of header await retry(async () => { expect( await browser.eval( `window.getComputedStyle(document.querySelector('#header')).gridArea` ) ).toBe('header') }) // Check grid-area of sidebar await retry(async () => { expect( await browser.eval( `window.getComputedStyle(document.querySelector('#sidebar')).gridArea` ) ).toBe('sidebar') }) // Check grid-area of main await retry(async () => { expect( await browser.eval( `window.getComputedStyle(document.querySelector('#main')).gridArea` ) ).toBe('main') }) // Check grid-area of footer await retry(async () => { expect( await browser.eval( `window.getComputedStyle(document.querySelector('#footer')).gridArea` ) ).toBe('footer') }) }) it('should prefix animation', async () => { const browser = await next.browser('/animation') // Check animation-name await retry(async () => { const animationName = await browser.eval( `window.getComputedStyle(document.querySelector('#animated')).animationName` ) // Check if the animation name is not `example` exactly. If it's exactly `example` then it's not scoped. expect(animationName).not.toBe('example') // Check if the animation name has `example` anywhere in it expect(animationName).toContain('example') }) }) })