Open orta opened 1 year ago
I got the tests running using the following hacks:
.ts
so they can be transpiled during the buildsnapshots.ts
file and add this file as an entry point so the snapshot files will be transpiledscript/deps/deno.land/std@0.198.0/testing/snapshot.js
to remove the file://
prefix and patch the path before the snapshot file is "required"This still resulted in the snapshots failing tests due to "
being replaced with '
:
[Diff] Actual / Expected
{
fields: Map(6) {
- 'display' => {
- kind: 'option',
+ "display" => {
+ kind: "option",
valueType: {
fields: Map(8) {
- 'firstperson_lefthand' => {
- kind: 'option',
+ "firstperson_lefthand" => {
+ kind: "option",
valueType: {
fields: Map(3) {
- 'rotation' => {
+ "rotation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
+ kind: "array",
},
- 'scale' => {
- kind: 'option',
+ "scale" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'translation' => {
+ "translation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'firstperson_righthand' => {
- kind: 'option',
+ "firstperson_righthand" => {
+ kind: "option",
valueType: {
fields: Map(3) {
- 'rotation' => {
+ "rotation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
+ kind: "array",
},
- 'scale' => {
- kind: 'option',
+ "scale" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'translation' => {
+ "translation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'fixed' => {
- kind: 'option',
+ "fixed" => {
+ kind: "option",
valueType: {
fields: Map(3) {
- 'rotation' => {
- kind: 'option',
+ "rotation" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'scale' => {
- kind: 'option',
+ "scale" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'translation' => {
- kind: 'option',
+ "translation" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
- }
+ kind: "array",
+ },
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'ground' => {
- kind: 'option',
+ "ground" => {
+ kind: "option",
valueType: {
fields: Map(3) {
- 'rotation' => {
+ "rotation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
+ kind: "array",
},
- 'scale' => {
- kind: 'option',
+ "scale" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'translation' => {
- kind: 'option',
+ "translation" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
- }
+ kind: "array",
+ },
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'gui' => {
- kind: 'option',
+ "gui" => {
+ kind: "option",
valueType: {
fields: Map(3) {
- 'rotation' => {
- kind: 'option',
+ "rotation" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'scale' => {
- kind: 'option',
+ "scale" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'translation' => {
- kind: 'option',
+ "translation" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
- }
+ kind: "array",
+ },
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'head' => {
- kind: 'option',
+ "head" => {
+ kind: "option",
valueType: {
fields: Map(3) {
- 'rotation' => {
- kind: 'option',
+ "rotation" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'scale' => {
- kind: 'option',
+ "scale" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'translation' => {
+ "translation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'thirdperson_lefthand' => {
- kind: 'option',
+ "thirdperson_lefthand" => {
+ kind: "option",
valueType: {
fields: Map(3) {
- 'rotation' => {
+ "rotation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
+ kind: "array",
},
- 'scale' => {
+ "scale" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
+ kind: "array",
},
- 'translation' => {
+ "translation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'thirdperson_righthand' => {
- kind: 'option',
+ "thirdperson_righthand" => {
+ kind: "option",
valueType: {
fields: Map(3) {
- 'rotation' => {
- kind: 'option',
+ "rotation" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'scale' => {
- kind: 'option',
+ "scale" => {
+ kind: "option",
valueType: {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'translation' => {
+ "translation" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
- }
- }
+ kind: "struct",
+ },
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'elements' => {
- kind: 'option',
+ "elements" => {
+ kind: "option",
valueType: {
elementType: {
fields: Map(3) {
- 'faces' => {
+ "faces" => {
fields: Map(6) {
- 'down' => {
- kind: 'option',
+ "down" => {
+ kind: "option",
valueType: {
fields: Map(2) {
- 'texture' => {
- kind: 'primitive',
- name: 'string'
+ "texture" => {
+ kind: "primitive",
+ name: "string",
},
- 'uv' => {
+ "uv" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- 'east' => {
+ "east" => {
fields: Map(2) {
- 'texture' => {
- kind: 'primitive',
- name: 'string'
+ "texture" => {
+ kind: "primitive",
+ name: "string",
},
- 'uv' => {
+ "uv" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
+ kind: "struct",
},
- 'north' => {
+ "north" => {
fields: Map(2) {
- 'texture' => {
- kind: 'primitive',
- name: 'string'
+ "texture" => {
+ kind: "primitive",
+ name: "string",
},
- 'uv' => {
+ "uv" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
+ kind: "struct",
},
- 'south' => {
+ "south" => {
fields: Map(2) {
- 'texture' => {
- kind: 'primitive',
- name: 'string'
+ "texture" => {
+ kind: "primitive",
+ name: "string",
},
- 'uv' => {
+ "uv" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
+ kind: "struct",
},
- 'up' => {
+ "up" => {
fields: Map(2) {
- 'texture' => {
- kind: 'primitive',
- name: 'string'
+ "texture" => {
+ kind: "primitive",
+ name: "string",
},
- 'uv' => {
+ "uv" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
+ kind: "struct",
},
- 'west' => {
+ "west" => {
fields: Map(2) {
- 'texture' => {
- kind: 'primitive',
- name: 'string'
+ "texture" => {
+ kind: "primitive",
+ name: "string",
},
- 'uv' => {
+ "uv" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- kind: 'struct'
+ kind: "struct",
},
- 'from' => {
+ "from" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
+ kind: "array",
},
- 'to' => {
+ "to" => {
elementType: {
- kind: 'primitive',
- name: 'number'
+ kind: "primitive",
+ name: "number",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- kind: 'struct'
+ kind: "struct",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'gui_light' => {
- kind: 'option',
+ "gui_light" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'string'
- }
+ kind: "primitive",
+ name: "string",
+ },
},
- 'overrides' => {
- kind: 'option',
+ "overrides" => {
+ kind: "option",
valueType: {
elementType: {
fields: Map(2) {
- 'model' => {
- kind: 'primitive',
- name: 'string'
+ "model" => {
+ kind: "primitive",
+ name: "string",
},
- 'predicate' => {
+ "predicate" => {
fields: Map(15) {
- 'angle' => {
- kind: 'option',
+ "angle" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'blocking' => {
- kind: 'option',
+ "blocking" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'broken' => {
- kind: 'option',
+ "broken" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'brushing' => {
- kind: 'option',
+ "brushing" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'cast' => {
- kind: 'option',
+ "cast" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'charged' => {
- kind: 'option',
+ "charged" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'filled' => {
- kind: 'option',
+ "filled" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'firework' => {
- kind: 'option',
+ "firework" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'level' => {
- kind: 'option',
+ "level" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'pull' => {
- kind: 'option',
+ "pull" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'pulling' => {
- kind: 'option',
+ "pulling" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'throwing' => {
- kind: 'option',
+ "throwing" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'time' => {
- kind: 'option',
+ "time" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'tooting' => {
- kind: 'option',
+ "tooting" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
+ kind: "primitive",
+ name: "number",
+ },
},
- 'trim_type' => {
- kind: 'option',
+ "trim_type" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'number'
- }
- }
+ kind: "primitive",
+ name: "number",
+ },
+ },
},
- kind: 'struct'
- }
+ kind: "struct",
+ },
},
- kind: 'struct'
+ kind: "struct",
},
- kind: 'array'
- }
+ kind: "array",
+ },
},
- 'parent' => {
- kind: 'option',
+ "parent" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'string'
- }
+ kind: "primitive",
+ name: "string",
+ },
},
- 'textures' => {
- kind: 'option',
+ "textures" => {
+ kind: "option",
valueType: {
fields: Map(5) {
- 'layer0' => {
- kind: 'option',
+ "layer0" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'string'
- }
+ kind: "primitive",
+ name: "string",
+ },
},
- 'layer1' => {
- kind: 'option',
+ "layer1" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'string'
- }
+ kind: "primitive",
+ name: "string",
+ },
},
- 'layer2' => {
- kind: 'option',
+ "layer2" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'string'
- }
+ kind: "primitive",
+ name: "string",
+ },
},
- 'particle' => {
- kind: 'option',
+ "particle" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'string'
- }
+ kind: "primitive",
+ name: "string",
+ },
},
- 'spyglass' => {
- kind: 'option',
+ "spyglass" => {
+ kind: "option",
valueType: {
- kind: 'primitive',
- name: 'string'
- }
- }
+ kind: "primitive",
+ name: "string",
+ },
+ },
},
- kind: 'struct'
- }
- }
+ kind: "struct",
+ },
+ },
},
- kind: 'struct'
+ kind: "struct",
}
at assertSnapshot (/home/ben/repos/gentype/npm/script/deps/deno.land/std@0.198.0/testing/snapshot.js:481:15)
at async run (/home/ben/repos/gentype/npm/script/test.js:123:9)
at async Object.<anonymous> (/home/ben/repos/gentype/npm/script/test.js:132:9)
at async TestSuiteInternal.runTest (/home/ben/repos/gentype/npm/script/deps/deno.land/std@0.198.0/testing/_test_suite.js:307:13)
at async TestSuiteInternal.runTest (/home/ben/repos/gentype/npm/script/deps/deno.land/std@0.198.0/testing/_test_suite.js:292:17)
at async Object.fn (/home/ben/repos/gentype/npm/script/deps/deno.land/std@0.198.0/testing/_test_suite.js:265:25)
at async Object.step (/home/ben/repos/gentype/npm/test_runner.js:136:21)
at async TestSuiteInternal.run (/home/ben/repos/gentype/npm/script/deps/deno.land/std@0.198.0/testing/_test_suite.js:273:13)
at async Object.fn (/home/ben/repos/gentype/npm/script/deps/deno.land/std@0.198.0/testing/_test_suite.js:130:29)
at async runTestDefinitions (/home/ben/repos/gentype/npm/test_runner.js:54:13)
fail
Is anyone currently working on this? If not, I may have capacity to look into it.
@orta For the 1st issue have a look here: https://github.com/denoland/deno_std/pull/4957#issuecomment-2147598172
For snapshots I tried copying them into the target folder via:
await copy("src/v1/tests/__snapshots__", "npm/esm/v1/tests/__snapshots__", { overwrite: true });
however the import is tried with .js.snap
instead of .ts.snap
and they don't seem to be picked up in the transformation phase.
During type checking:
During testing:
I bet for testing
.snap
files need to be migrated with other files? For build - unsure. Right now, I just made it skip both, though I may just drop the snapshot, it's only 1 and I only like using inline snapshots anyway