test(napi/transform): use the expect API instead of assert (#7739)

This commit is contained in:
Boshen 2024-12-09 09:28:01 +00:00
parent c6a19aa478
commit c254a5b12c
2 changed files with 36 additions and 28 deletions

View file

@ -1,4 +1,4 @@
import { assert, describe, it } from 'vitest'; import { describe, expect, it } from 'vitest';
import oxc from '../index'; import oxc from '../index';
@ -17,7 +17,7 @@ describe('isolated declaration', () => {
it('matches output', () => { it('matches output', () => {
const ret = oxc.isolatedDeclaration('test.ts', code, { sourcemap: true }); const ret = oxc.isolatedDeclaration('test.ts', code, { sourcemap: true });
assert.deepEqual(ret, { expect(ret).toStrictEqual({
code: '/**\n' + code: '/**\n' +
'* jsdoc 1\n' + '* jsdoc 1\n' +
'*/\n' + '*/\n' +

View file

@ -1,4 +1,4 @@
import { assert, describe, it, test } from 'vitest'; import { describe, expect, it, test } from 'vitest';
import { HelperMode, transform } from '../index'; import { HelperMode, transform } from '../index';
@ -7,7 +7,7 @@ describe('simple', () => {
it('matches output', () => { it('matches output', () => {
const ret = transform('test.ts', code, { sourcemap: true }); const ret = transform('test.ts', code, { sourcemap: true });
assert.deepEqual(ret, { expect(ret).toStrictEqual({
code: 'export class A {}\n', code: 'export class A {}\n',
errors: [], errors: [],
map: { map: {
@ -22,17 +22,29 @@ describe('simple', () => {
it('uses the `lang` option', () => { it('uses the `lang` option', () => {
const ret = transform('test.vue', code, { lang: 'ts' }); const ret = transform('test.vue', code, { lang: 'ts' });
assert.equal(ret.code, 'export class A {}\n'); expect(ret.code).toEqual('export class A {}\n');
}); });
it('uses the `declaration` option', () => { it('uses the `declaration` option', () => {
const ret = transform('test.ts', code, { typescript: { declaration: {} } }); const ret = transform('test.ts', code, { typescript: { declaration: {} } });
assert.equal(ret.declaration, 'export declare class A<T> {}\n'); expect(ret.declaration).toEqual('export declare class A<T> {}\n');
}); });
it('uses the `sourcemap` option', () => { it('uses the `sourcemap` option', () => {
const ret = transform('test.ts', code, { typescript: { declaration: {} }, sourcemap: true }); const ret = transform('test.ts', code, { typescript: { declaration: {} }, sourcemap: true });
assert(ret.declarationMap); expect(ret.declarationMap).toStrictEqual(
{
'mappings': 'AAAA,OAAO,cAAM,EAAE,GAAG,CAAE',
'names': [],
'sources': [
'test.ts',
],
'sourcesContent': [
'export class A<T> {}',
],
'version': 3,
},
);
}); });
}); });
@ -50,7 +62,7 @@ describe('transform', () => {
]; ];
for (const code of cases) { for (const code of cases) {
const ret = transform('test.ts', code); const ret = transform('test.ts', code);
assert.equal(ret.code.trim(), code); expect(ret.code.trim()).toEqual(code);
} }
}); });
}); });
@ -71,24 +83,24 @@ describe('target', () => {
test.each(data)('transform %s', (target, code) => { test.each(data)('transform %s', (target, code) => {
// Also test array syntax. // Also test array syntax.
const ret = transform('test.js', code, { target: [target] }); const ret = transform('test.js', code, { target: [target] });
assert(ret.errors.length == 0); expect(ret.errors.length).toBe(0);
assert(ret.code); expect(ret.code).toBeDefined();
assert.notEqual(ret.code, code); expect(ret.code).not.toEqual(code);
}); });
test.each(data)('no transform esnext: %s', (_target, code) => { test.each(data)('no transform esnext: %s', (_target, code) => {
const ret = transform('test.js', code, { target: 'esnext' }); const ret = transform('test.js', code, { target: 'esnext' });
assert(ret.errors.length == 0); expect(ret.errors.length).toBe(0);
assert(ret.code); expect(ret.code).toBeDefined();
assert.equal(ret.code, code); expect(ret.code).toEqual(code);
}); });
it('should turn off class propertiers because plugin is not ready', () => { it('should turn off class propertiers because plugin is not ready', () => {
const code = 'class Foo {\n\t#a;\n}\n'; const code = 'class Foo {\n\t#a;\n}\n';
const ret = transform('test.js', code, { target: 'es2015' }); const ret = transform('test.js', code, { target: 'es2015' });
assert(ret.errors.length == 0); expect(ret.errors.length).toBe(0);
assert(ret.code); expect(ret.code).toBeDefined();
assert.equal(ret.code, code); expect(ret.code).toEqual(code);
}); });
}); });
@ -104,7 +116,7 @@ describe('helpers', () => {
target: 'es2015', target: 'es2015',
helpers: { mode }, helpers: { mode },
}); });
assert.equal(ret.code, expected); expect(ret.code).toEqual(expected);
}); });
}); });
@ -119,11 +131,8 @@ import bar = require('bar')
declaration: {}, declaration: {},
}, },
}); });
assert.deepEqual(ret, { expect(ret.code).toEqual('module.exports = function foo() {};\nconst bar = require("bar");\n');
code: 'module.exports = function foo() {};\nconst bar = require("bar");\n', expect(ret.declaration).toEqual('declare const _default: () => void;\nexport = _default;\n');
declaration: 'declare const _default: () => void;\nexport = _default;\n',
errors: [],
});
}); });
}); });
@ -136,8 +145,7 @@ describe('react refresh plugin', () => {
it('matches output', () => { it('matches output', () => {
const ret = transform('test.tsx', code, { jsx: { refresh: {} } }); const ret = transform('test.tsx', code, { jsx: { refresh: {} } });
assert.equal( expect(ret.code).toEqual(
ret.code,
`import { useState } from "react"; `import { useState } from "react";
import { jsxs as _jsxs } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime";
var _s = $RefreshSig$(); var _s = $RefreshSig$();
@ -166,7 +174,7 @@ describe('define plugin', () => {
'process.env.NODE_ENV': '"development"', 'process.env.NODE_ENV': '"development"',
}, },
}); });
assert.equal(ret.code, ''); expect(ret.code).toEqual('');
}); });
it('handles typescript declare global', () => { it('handles typescript declare global', () => {
@ -176,7 +184,7 @@ describe('define plugin', () => {
'__TEST_DEFINE__': '"replaced"', '__TEST_DEFINE__': '"replaced"',
}, },
}); });
assert.equal(ret.code, 'console.log({ __TEST_DEFINE__: "replaced" });\n'); expect(ret.code).toEqual('console.log({ __TEST_DEFINE__: "replaced" });\n');
}); });
}); });
@ -189,6 +197,6 @@ describe('inject plugin', () => {
'Object.assign': 'foo', 'Object.assign': 'foo',
}, },
}); });
assert.equal(ret.code, 'import $inject_Object_assign from "foo";\nlet _ = $inject_Object_assign;\n'); expect(ret.code).toEqual('import $inject_Object_assign from "foo";\nlet _ = $inject_Object_assign;\n');
}); });
}); });