Skip to content

Commit 88fd34f

Browse files
authored
Improve test speed: 1000ms -> 35ms (#351)
1 parent beaeaf0 commit 88fd34f

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

src/index.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ Api('handles empty input gracefully', () => {
408408
})
409409

410410
Api('has metadata', () => {
411-
const fixture = Array.from({ length: 10 }).map(_ => `
411+
const fixture = Array.from({ length: 100 }).map(_ => `
412412
html {
413413
font: 1em/1 sans-serif;
414414
color: rgb(0 0 0 / 0.5);

src/smoke.test.js

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as fs from 'fs'
1+
import { readFileSync, writeFileSync } from 'fs'
22
import { suite } from 'uvu';
33
import * as assert from 'uvu/assert';
44
import { analyze } from './index.js'
@@ -16,23 +16,28 @@ Object.entries({
1616
'Smashing Magazine': 'smashing-magazine-20231008',
1717
'Trello': 'trello-20231008',
1818
}).map(([name, fileName]) => {
19-
const css = fs.readFileSync(`./src/__fixtures__/${fileName}.css`, 'utf-8')
20-
const json = fs.readFileSync(`./src/__fixtures__/${fileName}.json`, 'utf-8')
19+
const css = readFileSync(`./src/__fixtures__/${fileName}.css`, 'utf-8')
20+
const json = readFileSync(`./src/__fixtures__/${fileName}.json`, 'utf-8')
2121
return {
2222
name,
2323
fileName,
2424
json,
2525
css,
2626
}
2727
}).forEach(({ name, fileName, css, json }) => {
28-
// const result = analyze(css)
29-
// delete result.__meta__
30-
// fs.writeFileSync(`./src/__fixtures__/${fileName}.json`, JSON.stringify(result, null, 2))
31-
Smoke(`${name} matches fixture`, () => {
32-
const result = analyze(css)
33-
delete result.__meta__
34-
assert.fixture(JSON.stringify(result, null, 2), json)
35-
})
28+
const actual = analyze(css)
29+
delete actual.__meta__
30+
const expected = JSON.parse(json)
31+
32+
// writeFileSync(`./src/__fixtures__/${fileName}.json`, JSON.stringify(actual, null, 2))
33+
34+
Smoke(`${name} - Stylesheet`, () => assert.equal(actual.stylesheet, expected.stylesheet))
35+
Smoke(`${name} - Atrules`, () => assert.equal(actual.atrules, expected.atrules))
36+
Smoke(`${name} - Rules`, () => assert.equal(actual.rules, expected.rules))
37+
Smoke(`${name} - Selectors`, () => assert.equal(actual.selectors, expected.selectors))
38+
Smoke(`${name} - Declarations`, () => assert.equal(actual.declarations, expected.declarations))
39+
Smoke(`${name} - Properties`, () => assert.equal(actual.properties, expected.properties))
40+
Smoke(`${name} - Values`, () => assert.equal(actual.values, expected.values))
3641
})
3742

3843
Smoke.run()

0 commit comments

Comments
 (0)