as-test 0.3.2 → 0.3.4

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 CHANGED
@@ -26,3 +26,5 @@ v0.2.1 - Remove accidental logging
26
26
  v0.3.0 - Pass metadata through terminal - Support for multiple files - Better reporting - Timing for suites - Terminal utilities
27
27
  v0.3.1 - Add screenshot of completed tests to readme
28
28
  v0.3.2 - Add `mockImport` to override imported functions
29
+ v0.3.3 - Allow `mockImport`'s return type to be any
30
+ v0.3.4 - Fix: import functions were not received after visitSource()
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  | _ || __| ___|_ _|| __|| __||_ _|
4
4
  | ||__ ||___| | | | __||__ | | |
5
5
  |__|__||_____| |_| |_____||_____| |_|
6
- v0.3.2
6
+ v0.3.4
7
7
  </pre>
8
8
  </h5>
9
9
 
package/assembly/index.ts CHANGED
@@ -225,7 +225,7 @@ export function afterEach(callback: () => void): void {
225
225
  */
226
226
  export function mockFn(oldFn: Function, newFn: Function): void {}
227
227
 
228
- export function mockImport(oldFn: string, newFn: () => string): void {
228
+ export function mockImport<T extends Function>(oldFn: string, newFn: T): void {
229
229
  __mock_import.set(oldFn, newFn.index);
230
230
  // mocks.set(oldFn, new MockFn(oldFn, newFn).enable());
231
231
  }
package/bin/index.js CHANGED
@@ -7,7 +7,7 @@ const _args = process.argv.slice(2);
7
7
  const flags = [];
8
8
  const args = [];
9
9
  const COMMANDS = ["run", "build", "test", "init"];
10
- const version = "0.3.2";
10
+ const version = "0.3.4";
11
11
  for (const arg of _args) {
12
12
  if (arg.startsWith("-")) flags.push(arg);
13
13
  else args.push(arg);
package/bin/init.js CHANGED
@@ -9,7 +9,7 @@ export async function init(args) {
9
9
  input: process.stdin,
10
10
  output: process.stdout,
11
11
  });
12
- console.log(chalk.bold("as-test init v0.3.2") + "\n");
12
+ console.log(chalk.bold("as-test init v0.3.4") + "\n");
13
13
  console.log(chalk.dim("[1/3]") + " select a target [wasi/bindings]");
14
14
  const target = await ask(chalk.dim(" -> "), rl);
15
15
  if (!TARGETS.includes(target)) {
@@ -174,7 +174,6 @@ const exports = instantiate(module, {});`,
174
174
  existsSync(PKG_PATH) ? readFileSync(PKG_PATH).toString() : "{}",
175
175
  );
176
176
  if (!pkg["scripts"]) pkg["scripts"] = {};
177
- if (pkg.scripts["test"]) process.exit(0);
178
177
  if (!pkg.scripts["pretest"]) {
179
178
  pkg.scripts["pretest"] = "as-test build";
180
179
  pkg.scripts["test"] = "as-test run";
@@ -183,7 +182,7 @@ const exports = instantiate(module, {});`,
183
182
  }
184
183
  if (!pkg["devDependencies"]) pkg["devDependencies"] = {};
185
184
  if (!pkg["devDependencies"]["as-test"])
186
- pkg["devDependencies"]["as-test"] = "^0.3.2";
185
+ pkg["devDependencies"]["as-test"] = "^0.3.4";
187
186
  if (target == "bindings") {
188
187
  pkg["type"] = "module";
189
188
  }
package/bin/run.js CHANGED
@@ -35,7 +35,7 @@ export async function run() {
35
35
  chalk.bold.blueBright(`|__|__||_____| |_| |_____||_____| |_| `),
36
36
  );
37
37
  console.log(
38
- chalk.dim("\n------------------- v0.3.2 -------------------\n"),
38
+ chalk.dim("\n------------------- v0.3.4 -------------------\n"),
39
39
  );
40
40
  }
41
41
  for (const plugin of Object.keys(config.plugins)) {
package/cli/index.ts CHANGED
@@ -11,7 +11,7 @@ const args: string[] = [];
11
11
 
12
12
  const COMMANDS: string[] = ["run", "build", "test", "init"];
13
13
 
14
- const version = "0.3.2";
14
+ const version = "0.3.4";
15
15
 
16
16
  for (const arg of _args) {
17
17
  if (arg.startsWith("-")) flags.push(arg);
package/cli/init.ts CHANGED
@@ -9,7 +9,7 @@ export async function init(args: string[]) {
9
9
  input: process.stdin,
10
10
  output: process.stdout,
11
11
  });
12
- console.log(chalk.bold("as-test init v0.3.2") + "\n");
12
+ console.log(chalk.bold("as-test init v0.3.4") + "\n");
13
13
  console.log(chalk.dim("[1/3]") + " select a target [wasi/bindings]");
14
14
  const target = await ask(chalk.dim(" -> "), rl);
15
15
  if (!TARGETS.includes(target)) {
@@ -192,7 +192,7 @@ const exports = instantiate(module, {});`,
192
192
  }
193
193
  if (!pkg["devDependencies"]) pkg["devDependencies"] = {};
194
194
  if (!pkg["devDependencies"]["as-test"])
195
- pkg["devDependencies"]["as-test"] = "^0.3.2";
195
+ pkg["devDependencies"]["as-test"] = "^0.3.4";
196
196
  if (target == "bindings") {
197
197
  pkg["type"] = "module";
198
198
  }
package/cli/run.ts CHANGED
@@ -42,7 +42,7 @@ export async function run() {
42
42
  chalk.bold.blueBright(`|__|__||_____| |_| |_____||_____| |_| `),
43
43
  );
44
44
  console.log(
45
- chalk.dim("\n------------------- v0.3.2 -------------------\n"),
45
+ chalk.dim("\n------------------- v0.3.4 -------------------\n"),
46
46
  );
47
47
  }
48
48
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "as-test",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "Testing framework for AssemblyScript. Compatible with WASI or Bindings ",
5
5
  "types": "assembly/index.ts",
6
6
  "author": "Jairus Tanaka",
package/run/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@as-test/run",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "Testing framework for AssemblyScript. Compatible with WASI or Bindings ",
5
5
  "main": "./lib/index.js",
6
6
  "author": "Jairus Tanaka",
@@ -3,7 +3,7 @@ import {
3
3
  FunctionDeclaration,
4
4
  } from "assemblyscript/dist/assemblyscript.js";
5
5
  import { BaseVisitor } from "visitor-as/dist/index.js";
6
- import { isStdlib, toString } from "visitor-as/dist/utils.js";
6
+ import { toString } from "visitor-as/dist/utils.js";
7
7
  export class MockTransform extends BaseVisitor {
8
8
  currentSource;
9
9
  globalStatements = [];
@@ -25,6 +25,7 @@ export class MockTransform extends BaseVisitor {
25
25
  }
26
26
  if (name == "mockImport") {
27
27
  this.importMocked.add(node.args[0].value);
28
+ return;
28
29
  }
29
30
  if (name != "mockFn") return;
30
31
  const ov = toString(node.args[0]);
@@ -60,18 +61,16 @@ export class MockTransform extends BaseVisitor {
60
61
  super.visitFunctionDeclaration(node, isDefault);
61
62
  }
62
63
  visitSource(node) {
63
- if (node.isLibrary || isStdlib(node)) {
64
- if (!node.normalizedPath.startsWith("~lib/as-test")) {
65
- return;
66
- }
67
- }
68
64
  this.mocked = new Set();
69
65
  this.currentSource = node;
66
+ this.importFns = [];
70
67
  super.visitSource(node);
71
68
  for (const node of this.importFns) {
72
69
  let path = "";
73
70
  const dec = node.decorators?.find((v) => v.name.text == "external");
74
- if (dec.args[0] && dec.args[1])
71
+ if (!dec) {
72
+ path = "env." + node.name.text;
73
+ } else if (dec.args[0] && dec.args[1])
75
74
  path = dec.args.map((v) => v.value).join(".");
76
75
  else if (dec.args[0])
77
76
  path = this.currentSource.simplePath + "." + dec.args[0].value;
@@ -115,7 +114,6 @@ export class MockTransform extends BaseVisitor {
115
114
  0,
116
115
  node.range,
117
116
  );
118
- newFn.signature = node.signature;
119
117
  const stmts = this.currentSource.statements;
120
118
  let index = -1;
121
119
  for (let i = 0; i < stmts.length; i++) {
@@ -131,7 +129,6 @@ export class MockTransform extends BaseVisitor {
131
129
  if (index === -1) return;
132
130
  stmts.splice(index, 1, newFn);
133
131
  }
134
- this.importFns = [];
135
132
  }
136
133
  }
137
134
  //# sourceMappingURL=mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@as-test/transform",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "Testing framework for AssemblyScript. Compatible with WASI or Bindings ",
5
5
  "main": "./lib/index.js",
6
6
  "author": "Jairus Tanaka",
@@ -37,6 +37,7 @@ export class MockTransform extends BaseVisitor {
37
37
 
38
38
  if (name == "mockImport") {
39
39
  this.importMocked.add((node.args[0] as StringLiteralExpression).value);
40
+ return;
40
41
  }
41
42
  if (name != "mockFn") return;
42
43
  const ov = toString(node.args[0]);
@@ -77,13 +78,9 @@ export class MockTransform extends BaseVisitor {
77
78
  super.visitFunctionDeclaration(node, isDefault);
78
79
  }
79
80
  visitSource(node: Source): void {
80
- if (node.isLibrary || isStdlib(node)) {
81
- if (!node.normalizedPath.startsWith("~lib/as-test")) {
82
- return;
83
- }
84
- }
85
81
  this.mocked = new Set<string>();
86
82
  this.currentSource = node;
83
+ this.importFns = [];
87
84
  super.visitSource(node);
88
85
 
89
86
  for (const node of this.importFns) {
@@ -91,7 +88,9 @@ export class MockTransform extends BaseVisitor {
91
88
  const dec = node.decorators?.find(
92
89
  (v) => (v.name as IdentifierExpression).text == "external",
93
90
  );
94
- if (dec.args[0] && dec.args[1])
91
+ if (!dec) {
92
+ path = "env." + node.name.text;
93
+ } else if (dec.args[0] && dec.args[1])
95
94
  path = dec.args
96
95
  .map((v) => (v as StringLiteralExpression).value)
97
96
  .join(".");
@@ -101,7 +100,6 @@ export class MockTransform extends BaseVisitor {
101
100
  "." +
102
101
  (dec.args[0] as StringLiteralExpression).value;
103
102
  else path = this.currentSource.simplePath + "." + node.name.text;
104
-
105
103
  if (!this.importMocked.has(path)) return;
106
104
 
107
105
  let args: Expression[] = [
@@ -147,8 +145,6 @@ export class MockTransform extends BaseVisitor {
147
145
  node.range,
148
146
  );
149
147
 
150
- newFn.signature = node.signature;
151
-
152
148
  const stmts = this.currentSource.statements;
153
149
  let index = -1;
154
150
  for (let i = 0; i < stmts.length; i++) {
@@ -164,6 +160,5 @@ export class MockTransform extends BaseVisitor {
164
160
  if (index === -1) return;
165
161
  stmts.splice(index, 1, newFn);
166
162
  }
167
- this.importFns = [];
168
163
  }
169
164
  }