diff --git a/test/at-rule.test.ts b/test/at-rule.test.ts index 7f40a4aab..6e66409f0 100755 --- a/test/at-rule.test.ts +++ b/test/at-rule.test.ts @@ -48,4 +48,32 @@ test('clone spaces from another at-rule', () => { is(rule.toString(), '@page 1{}') }) +test('at layer', () => { + let root = parse(`@layer foo {\n @layer one, two\n}`) + let layer1 = root.nodes[0] as AtRule; + let layer2 = layer1.nodes[0] as AtRule; + + is(root.source?.start?.offset, 0) + is(root.source?.start?.line, 1) + is(root.source?.start?.column, 1) + + is(layer1.source?.start?.offset, 0) + is(layer1.source?.start?.line, 1) + is(layer1.source?.start?.column, 1) + + is(layer1.source?.end?.offset, 31) + is(layer1.source?.end?.line, 3) + is(layer1.source?.end?.column, 1) + + is(layer2.source?.start?.offset, 15) + is(layer2.source?.start?.line, 2) + is(layer2.source?.start?.column, 3) + + is(layer2.source?.end?.offset, 29) + is(layer2.source?.end?.line, 2) + is(layer2.source?.end?.column, 17) + + is(root.toString(), '@layer foo {\n @layer one, two\n}') +}) + test.run() diff --git a/test/map.test.ts b/test/map.test.ts index 91a459031..73a87e3aa 100755 --- a/test/map.test.ts +++ b/test/map.test.ts @@ -104,6 +104,21 @@ test('generate right source map', () => { }) }) +test('generate right source map for at layer', () => { + let css = '@layer extensions {\n @layer one, two\n}' + let processor = postcss(() => { + /* noop */ + }) + + let result = processor.process(css, { + from: 'a.css', + to: 'b.css', + map: true + }) + + read(result) +}) + test('changes previous source map', () => { let css = 'a { color: black }'