Skip to content

Commit cb5daab

Browse files
committed
test: add integration tests (100% passing)
1 parent ec57d66 commit cb5daab

28 files changed

+765
-7
lines changed

.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ package-lock.json
99
fixtures
1010
docs
1111
CHANGELOG.md
12+
test/integration/assets/main
13+
test/integration/assets/pure

test/integration/assets/index.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { readFileSync } from 'node:fs';
2+
3+
export const assets = {
4+
invocation: {
5+
main: readFileSync(`${__dirname}/main/invocation.js`, 'utf8'),
6+
pure: readFileSync(`${__dirname}/pure/invocation.js`, 'utf8')
7+
},
8+
invocationOnly: {
9+
main: readFileSync(`${__dirname}/main/invocation-only.js`, 'utf8'),
10+
pure: readFileSync(`${__dirname}/pure/invocation-only.js`, 'utf8')
11+
},
12+
invocationSkip: {
13+
main: readFileSync(`${__dirname}/main/invocation-skip.js`, 'utf8'),
14+
pure: readFileSync(`${__dirname}/pure/invocation-skip.js`, 'utf8')
15+
},
16+
invocationSnapshot: {
17+
main: readFileSync(`${__dirname}/main/invocation-snapshot.js`, 'utf8'),
18+
pure: readFileSync(`${__dirname}/pure/invocation-snapshot.js`, 'utf8')
19+
},
20+
dummyFixtureAssetCode: {
21+
main: readFileSync(`${__dirname}/main/fixtures/dummy-fixture-asset/code.js`, 'utf8'),
22+
pure: readFileSync(`${__dirname}/pure/fixtures/dummy-fixture-asset/code.js`, 'utf8')
23+
},
24+
dummyFixtureAssetOptions: {
25+
main: readFileSync(
26+
`${__dirname}/main/fixtures/dummy-fixture-asset/options.js`,
27+
'utf8'
28+
),
29+
pure: readFileSync(
30+
`${__dirname}/pure/fixtures/dummy-fixture-asset/options.js`,
31+
'utf8'
32+
)
33+
},
34+
dummyFixtureAssetOutput: {
35+
main: readFileSync(
36+
`${__dirname}/main/fixtures/dummy-fixture-asset/output.js`,
37+
'utf8'
38+
),
39+
pure: readFileSync(`${__dirname}/pure/fixtures/dummy-fixture-asset/output.js`, 'utf8')
40+
},
41+
pluginIdentifierReverse: readFileSync(
42+
`${__dirname}/plugin-identifier-reverse.js`,
43+
'utf8'
44+
)
45+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
const hello = 'hey';
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = {
2+
title: 'asset-test',
3+
setup: () => console.log('working')
4+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
const olleh = "hey";
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
pluginTester({
2+
filepath: `${__dirname}/../fixtures/fake.js`,
3+
plugin: identifierReversePlugin,
4+
tests: {
5+
'does not change code with no identifiers': '"hello";',
6+
'changes this code': {
7+
only: true,
8+
code: "var hello = 'hi';",
9+
output: 'var olleh = "hi";'
10+
},
11+
'using fixtures files': {
12+
fixture: 'dummy-fixture-asset/code.js',
13+
outputFixture: 'dummy-fixture-asset/output.js'
14+
}
15+
}
16+
});
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
pluginTester({
2+
plugin: identifierReversePlugin,
3+
tests: {
4+
'does not change code with no identifiers': '"hello";',
5+
'changes this code': {
6+
skip: true,
7+
code: "var hello = 'hi';",
8+
output: 'var olleh = "hi";'
9+
},
10+
'using fixtures files': {
11+
skip: true,
12+
fixture: '../fixtures/dummy-fixture-asset/code.js',
13+
outputFixture: '../fixtures/dummy-fixture-asset/output.js'
14+
}
15+
}
16+
});
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
pluginTester({
2+
plugin: identifierReversePlugin,
3+
tests: {
4+
'using snapshots': {
5+
code: `
6+
function sayHi(person) {
7+
return 'Hello ' + person + '!'
8+
}
9+
`,
10+
snapshot: true
11+
}
12+
}
13+
});

0 commit comments

Comments
 (0)