as-test 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -0
- package/README.md +1 -1
- package/assembly/index.ts +2 -2
- package/assembly/src/expectation.ts +1 -1
- package/assembly/util/index.ts +0 -0
- package/bin/index.js +1 -1
- package/cli/index.ts +1 -1
- package/package.json +1 -1
- package/transform/lib/mock.js +10 -14
- package/transform/lib/mock.js.map +1 -1
- package/transform/package.json +1 -1
- package/transform/src/mock.ts +16 -18
- package/utils.ts +1 -0
- /package/assembly/{util.ts → util/helpers.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -17,3 +17,6 @@ v0.1.5 - Add skeleton cli and custom config
|
|
|
17
17
|
v0.1.6 - Fix: args should be prefixed with a space
|
|
18
18
|
v0.1.7 - Fix: remove warning about wasi-shim not being included when it is included
|
|
19
19
|
v0.1.8 - Feat: function mocking
|
|
20
|
+
v0.1.9 - Fix: mocks were not being applied to declared functions, only property accesses
|
|
21
|
+
|
|
22
|
+
v0.1.10 [UNRELEASED] - Feat: snapshotting
|
package/README.md
CHANGED
package/assembly/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { rainbow } from "as-rainbow";
|
|
2
2
|
import { TestGroup } from "./src/group";
|
|
3
3
|
import { Expectation } from "./src/expectation";
|
|
4
|
-
import { formatTime } from "./util";
|
|
4
|
+
import { formatTime } from "./util/helpers";
|
|
5
5
|
import { stringify } from "as-console/stringify";
|
|
6
6
|
import { __COVER, __HASHES, __POINTS } from "as-test/assembly/coverage";
|
|
7
7
|
import { createTable } from "table-as";
|
|
@@ -235,7 +235,7 @@ export function run(options: RunOptions = new RunOptions()): void {
|
|
|
235
235
|
),
|
|
236
236
|
);
|
|
237
237
|
console.log(
|
|
238
|
-
rainbow.dimMk("\n------------------- v0.1.
|
|
238
|
+
rainbow.dimMk("\n------------------- v0.1.9 -------------------\n"),
|
|
239
239
|
);
|
|
240
240
|
// @ts-ignore
|
|
241
241
|
if (isDefined(COVERAGE_USE)) {
|
|
File without changes
|
package/bin/index.js
CHANGED
package/cli/index.ts
CHANGED
package/package.json
CHANGED
package/transform/lib/mock.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Node, } from "assemblyscript/dist/assemblyscript.js";
|
|
2
2
|
import { BaseVisitor } from "visitor-as/dist/index.js";
|
|
3
3
|
import { toString } from "visitor-as/dist/utils.js";
|
|
4
4
|
export class MockTransform extends BaseVisitor {
|
|
@@ -8,19 +8,15 @@ export class MockTransform extends BaseVisitor {
|
|
|
8
8
|
mocked = new Set();
|
|
9
9
|
visitCallExpression(node) {
|
|
10
10
|
super.visitCallExpression(node);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
node.expression = Node.createIdentifierExpression(name + "_mock", node.expression.range);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
if (!(node.expression instanceof IdentifierExpression))
|
|
11
|
+
const name = toString(node.expression)
|
|
12
|
+
.replaceAll(".", "_")
|
|
13
|
+
.replaceAll("[", "_")
|
|
14
|
+
.replaceAll("]", "_");
|
|
15
|
+
if (this.mocked.has(name + "_mock")) {
|
|
16
|
+
node.expression = Node.createIdentifierExpression(name + "_mock", node.expression.range);
|
|
22
17
|
return;
|
|
23
|
-
|
|
18
|
+
}
|
|
19
|
+
if (name != "mock")
|
|
24
20
|
return;
|
|
25
21
|
const ov = node.args[0];
|
|
26
22
|
const cb = node.args[1];
|
|
@@ -33,7 +29,7 @@ export class MockTransform extends BaseVisitor {
|
|
|
33
29
|
let index = -1;
|
|
34
30
|
for (let i = 0; i < stmts.length; i++) {
|
|
35
31
|
const stmt = stmts[i];
|
|
36
|
-
if (
|
|
32
|
+
if (stmt.range.start != node.range.start)
|
|
37
33
|
continue;
|
|
38
34
|
index = i;
|
|
39
35
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
|
package/transform/package.json
CHANGED
package/transform/src/mock.ts
CHANGED
|
@@ -21,23 +21,20 @@ export class MockTransform extends BaseVisitor {
|
|
|
21
21
|
public mocked = new Set<string>();
|
|
22
22
|
visitCallExpression(node: CallExpression): void {
|
|
23
23
|
super.visitCallExpression(node);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
//console.log(toString(node.expression))
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
24
|
+
const name = toString(node.expression)
|
|
25
|
+
.replaceAll(".", "_")
|
|
26
|
+
.replaceAll("[", "_")
|
|
27
|
+
.replaceAll("]", "_");
|
|
28
|
+
|
|
29
|
+
if (this.mocked.has(name + "_mock")) {
|
|
30
|
+
node.expression = Node.createIdentifierExpression(
|
|
31
|
+
name + "_mock",
|
|
32
|
+
node.expression.range,
|
|
33
|
+
);
|
|
34
|
+
return;
|
|
38
35
|
}
|
|
39
|
-
|
|
40
|
-
if (
|
|
36
|
+
|
|
37
|
+
if (name != "mock") return;
|
|
41
38
|
const ov = node.args[0] as StringLiteralExpression;
|
|
42
39
|
const cb = node.args[1] as FunctionExpression;
|
|
43
40
|
|
|
@@ -45,6 +42,7 @@ export class MockTransform extends BaseVisitor {
|
|
|
45
42
|
.replaceAll(".", "_")
|
|
46
43
|
.replaceAll("[", "_")
|
|
47
44
|
.replaceAll("]", "_");
|
|
45
|
+
|
|
48
46
|
const newFn = Node.createFunctionDeclaration(
|
|
49
47
|
Node.createIdentifierExpression(newName + "_mock", cb.range),
|
|
50
48
|
cb.declaration.decorators,
|
|
@@ -55,16 +53,16 @@ export class MockTransform extends BaseVisitor {
|
|
|
55
53
|
cb.declaration.arrowKind,
|
|
56
54
|
cb.range,
|
|
57
55
|
);
|
|
56
|
+
|
|
58
57
|
const stmts = this.currentSource.statements;
|
|
59
58
|
let index = -1;
|
|
60
59
|
for (let i = 0; i < stmts.length; i++) {
|
|
61
60
|
const stmt = stmts[i];
|
|
62
|
-
if (
|
|
61
|
+
if (stmt.range.start != node.range.start) continue;
|
|
63
62
|
index = i;
|
|
64
63
|
break;
|
|
65
64
|
}
|
|
66
65
|
if (index === -1) return;
|
|
67
|
-
//console.log("fn mock " + newName + "_mock" + " at index " + index.toString());
|
|
68
66
|
stmts.splice(index, 1, newFn);
|
|
69
67
|
this.mocked.add(newFn.name.text);
|
|
70
68
|
}
|
package/utils.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./assembly/util/index.ts";
|
|
File without changes
|