Skip to content

Commit

Permalink
feat: 添加测试用例
Browse files Browse the repository at this point in the history
  • Loading branch information
phy-lei committed Mar 6, 2024
1 parent 09e72d5 commit 10148c4
Show file tree
Hide file tree
Showing 8 changed files with 8,160 additions and 2,777 deletions.
2 changes: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf

[*.md]
trim_trailing_whitespace = false
root = true
4 changes: 3 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"semi": false,
"singleQuote": true,
"printWidth": 120
"trailingComma": "none",
"arrowParens": "avoid",
"printWidth": 100
}
8 changes: 8 additions & 0 deletions packages/babel-preset-solid-taro/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = {
moduleDirectories: ['node_modules', 'packages'],
testEnvironment: 'jsdom',
collectCoverageFrom: ['./dist/index.js'],
transform: {
'^.+\\.jsx?$': 'babel-jest'
}
}
21 changes: 15 additions & 6 deletions packages/babel-preset-solid-taro/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
],
"scripts": {
"dev": "rollup -c -w --bundleConfigAsCjs",
"build": "rollup -c --bundleConfigAsCjs"
"build": "rollup -c --bundleConfigAsCjs",
"test": "jest --no-cache",
"test:coverage": "jest --coverage --no-cache"
},
"keywords": [
"babel",
Expand All @@ -22,14 +24,21 @@
"author": "phy-lei",
"license": "MIT",
"devDependencies": {
"babel-plugin-jsx-dom-expressions": "^0.37.17",
"@babel/core": "^7.8.0",
"@babel/preset-env": "^7.20.2",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3",
"validate-html-nesting": "^1.2.1",
"jest": "^29.7.0",
"@tarojs/shared": "3.6.23",
"@tarojs/webpack5-runner": "3.6.23",
"babel-plugin-jsx-dom-expressions": "^0.37.17",
"babel-plugin-tester": "^10.1.0",
"jest": "^29.3.1",
"rollup": "^4.9.5",
"rollup-plugin-node-externals": "^4.0.0",
"@tarojs/webpack5-runner": "3.6.23",
"@tarojs/shared": "3.6.23"
"validate-html-nesting": "^1.2.1",
"babel-jest": "^29.3.1",
"jest-resolve": "^29.3.1",
"jest-environment-jsdom": "^29.3.1",
"jsdom": "^21.0.0"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
const template = (
<div id="main">
<style>{"div { color: red; }"}</style>
<h1>Welcome</h1>
<label for={"entry"}>Edit:</label>
<input id="entry" type="text" />
{/* Comment Node */}
</div>
);

const template2 = (
<div>
<span>
<a></a>
</span>
<span />
</div>
);

const template3 = (
<div>
<div>
<table>
<tbody></tbody>
</table>
</div>
<div></div>
</div>
);

const template4 = (
<div>
<div>
<footer>
<div />
</footer>
</div>
<div>
<button>
<span>{0}</span>
</button>
</div>
</div>
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import { createTextNode as _$createTextNode } from "r-custom";
import { insertNode as _$insertNode } from "r-custom";
import { setProp as _$setProp } from "r-custom";
import { createElement as _$createElement } from "r-custom";
const template = (() => {
var _el$ = _$createElement("div"),
_el$2 = _$createElement("style"),
_el$4 = _$createElement("h1"),
_el$6 = _$createElement("label"),
_el$8 = _$createElement("input");
_$insertNode(_el$, _el$2);
_$insertNode(_el$, _el$4);
_$insertNode(_el$, _el$6);
_$insertNode(_el$, _el$8);
_$setProp(_el$, "id", "main");
_$insertNode(_el$2, _$createTextNode(`div \{ color: red; }`));
_$insertNode(_el$4, _$createTextNode(`Welcome`));
_$insertNode(_el$6, _$createTextNode(`Edit:`));
_$setProp(_el$6, "for", "entry");
_$setProp(_el$8, "id", "entry");
_$setProp(_el$8, "type", "text");
return _el$;
})();
const template2 = (() => {
var _el$9 = _$createElement("div"),
_el$10 = _$createElement("span"),
_el$11 = _$createElement("a"),
_el$12 = _$createElement("span");
_$insertNode(_el$9, _el$10);
_$insertNode(_el$9, _el$12);
_$insertNode(_el$10, _el$11);
return _el$9;
})();
const template3 = (() => {
var _el$13 = _$createElement("div"),
_el$14 = _$createElement("div"),
_el$15 = _$createElement("table"),
_el$16 = _$createElement("tbody"),
_el$17 = _$createElement("div");
_$insertNode(_el$13, _el$14);
_$insertNode(_el$13, _el$17);
_$insertNode(_el$14, _el$15);
_$insertNode(_el$15, _el$16);
return _el$13;
})();
const template4 = (() => {
var _el$18 = _$createElement("div"),
_el$19 = _$createElement("div"),
_el$20 = _$createElement("footer"),
_el$21 = _$createElement("div"),
_el$22 = _$createElement("div"),
_el$23 = _$createElement("button"),
_el$24 = _$createElement("span");
_$insertNode(_el$18, _el$19);
_$insertNode(_el$18, _el$22);
_$insertNode(_el$19, _el$20);
_$insertNode(_el$20, _el$21);
_$insertNode(_el$22, _el$23);
_$insertNode(_el$23, _el$24);
_$insertNode(_el$24, _$createTextNode(`0`));
return _el$18;
})();
19 changes: 19 additions & 0 deletions packages/babel-preset-solid-taro/test/tag-collector.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const path = require('path')
const pluginTester = require('babel-plugin-tester').default
const plugin = require('../dist/index')

pluginTester({
plugin,
pluginOptions: {
moduleName: 'r-custom',
builtIns: ['For', 'Show'],
generate: 'universal',
staticMarker: '@once',
tagCollector: jest.fn(tags => {
expect(tags.length).toBeGreaterThan(0) // 检查至少被调用一次
})
},
title: 'Convert JSX',
fixtures: path.join(__dirname, '__tag_collector_fixtures__'),
snapshot: true
})
Loading

0 comments on commit 10148c4

Please sign in to comment.