import { FileRef, nextTestSetup } from 'e2e-utils' import { join } from 'path' // Not supported when using webpack. ;(process.env.IS_TURBOPACK_TEST ? describe : describe.skip)( 'postcss-config-ts', () => { describe('postcss.config.ts', () => { const { next } = nextTestSetup({ files: new FileRef(join(__dirname, 'postcss-config')), }) it('works with postcss.config.ts files', async () => { const browser = await next.browser('/') try { const text = await browser.elementByCss('#test').text() expect(text).toBe('Hello World') // The CSS has `color: red` but the PostCSS plugin transforms it to green. // If this is green, it proves the TypeScript PostCSS config was loaded and applied. const color = await browser .elementByCss('#test') .getComputedCss('color') expect(color).toBe('rgb(0, 128, 0)') } finally { await browser.close() } }) }) describe('.postcssrc.ts', () => { const { next } = nextTestSetup({ files: new FileRef(join(__dirname, 'postcssrc')), }) it('works with .postcssrc.ts files', async () => { const browser = await next.browser('/') try { const text = await browser.elementByCss('#test').text() expect(text).toBe('Hello World') // The CSS has `color: red` but the PostCSS plugin transforms it to green. // If this is green, it proves the TypeScript PostCSS config was loaded and applied. const color = await browser .elementByCss('#test') .getComputedCss('color') expect(color).toBe('rgb(0, 128, 0)') } finally { await browser.close() } }) }) describe('postcss.config.mts', () => { const { next } = nextTestSetup({ files: new FileRef(join(__dirname, 'postcss-config-mts')), }) it('works with postcss.config.mts files', async () => { const browser = await next.browser('/') try { const text = await browser.elementByCss('#test').text() expect(text).toBe('Hello World') // The CSS has `color: red` but the PostCSS plugin transforms it to green. // If this is green, it proves the TypeScript PostCSS config was loaded and applied. const color = await browser .elementByCss('#test') .getComputedCss('color') expect(color).toBe('rgb(0, 128, 0)') } finally { await browser.close() } }) }) describe('postcss.config.cts', () => { const { next } = nextTestSetup({ files: new FileRef(join(__dirname, 'postcss-config-cts')), }) it('works with postcss.config.cts files', async () => { const browser = await next.browser('/') try { const text = await browser.elementByCss('#test').text() expect(text).toBe('Hello World') // The CSS has `color: red` but the PostCSS plugin transforms it to green. // If this is green, it proves the TypeScript PostCSS config was loaded and applied. const color = await browser .elementByCss('#test') .getComputedCss('color') expect(color).toBe('rgb(0, 128, 0)') } finally { await browser.close() } }) }) } )