← Back to dashboard

DixScript npm — Test Results

node:test · tap reporter · @midmanstudio/mdix

37
Total
37
Passed
0
Failed
0.92s
Duration
Build #107 Branch master Commit 2a8e87b0 Date 
Individual tests
compileWithDlm passes through cleanly when source has no @DLM sectionPASS
compileWithDlm rejects empty sourcePASS
decompileWithDlm rejects empty dataPASS
mergeSources combines disjoint data from two sourcesPASS
mergeSources primary_wins keeps the first source's value on conflictPASS
mergeSources secondary_wins keeps the second source's value on conflictPASS
mergeSources conflicts() reports the winning source and pathPASS
mergeSources rejects an empty source listPASS
mergeSourcesWeighted respects explicit per-source weightsPASS
MdixDatabase.mergeWith merges two already-loaded databasesPASS
validateSchema passes for data matching every required fieldPASS
validateSchema reports a missing required fieldPASS
validateSchema errors() returns a typed, inspectable arrayPASS
the same MdixSchema instance can validate more than one databasePASS
MdixWatcher reports unchanged on repeated identical contentPASS
MdixWatcher reports changed when content differsPASS
MdixWatcher.hasChanged is a cheap pre-check that doesn't update statePASS
MdixWatcher.reset forgets previously seen contentPASS
sibling fields are unaffected by the enum fieldPASS
enum field resolves name, field, and value togetherPASS
group array elements resolve their enum fields independentlyPASS
a failed read comes back through tryGet as an error, not a throwPASS
query returns None-equivalent ([]) for a missing or non-array pathPASS
query covers GroupArray items via the base path, no pattern neededPASS
filter reproduces where_'s field-based matchingPASS
filter + map reproduces where_ followed by selectPASS
sort descending + [0] reproduces order_by_desc().take(1)PASS
sort ascending + [0] reproduces order_by().take(1)PASS
slice reproduces skipPASS
reduce into a Map reproduces group_by, first-seen key orderPASS
some/every reproduce any/allPASS
[0]/.at(-1)/[n] reproduce first/last/nthPASS
queryMany matches sibling wildcarded pathsPASS
reduce reproduces sum_int / avg_floatPASS
reduce reproduces min_by_key (no tie in this fixture)PASS
max needs >= (not >) in the reducer to match max_by_key's tie-breakPASS
terminal ops on an empty result behave the same as on DixQuery::new(vec![])PASS

Parsed from node:test's tap reporter output — a stable, documented format (unlike wasm-bindgen-test, which has no structured report at all). Raw output below for anything the parse missed.

Raw output
TAP version 13 # Subtest: compileWithDlm passes through cleanly when source has no @DLM section ok 1 - compileWithDlm passes through cleanly when source has no @DLM section --- duration_ms: 66.692653 ... # Subtest: compileWithDlm rejects empty source ok 2 - compileWithDlm rejects empty source --- duration_ms: 0.610414 ... # Subtest: decompileWithDlm rejects empty data ok 3 - decompileWithDlm rejects empty data --- duration_ms: 1.612581 ... # Subtest: mergeSources combines disjoint data from two sources ok 4 - mergeSources combines disjoint data from two sources --- duration_ms: 8.852906 ... # Subtest: mergeSources primary_wins keeps the first source's value on conflict ok 5 - mergeSources primary_wins keeps the first source's value on conflict --- duration_ms: 1.30246 ... # Subtest: mergeSources secondary_wins keeps the second source's value on conflict ok 6 - mergeSources secondary_wins keeps the second source's value on conflict --- duration_ms: 0.561262 ... # Subtest: mergeSources conflicts() reports the winning source and path ok 7 - mergeSources conflicts() reports the winning source and path --- duration_ms: 0.756618 ... # Subtest: mergeSources rejects an empty source list ok 8 - mergeSources rejects an empty source list --- duration_ms: 0.312205 ... # Subtest: mergeSourcesWeighted respects explicit per-source weights ok 9 - mergeSourcesWeighted respects explicit per-source weights --- duration_ms: 1.087607 ... # Subtest: MdixDatabase.mergeWith merges two already-loaded databases ok 10 - MdixDatabase.mergeWith merges two already-loaded databases --- duration_ms: 4.484923 ... # Subtest: validateSchema passes for data matching every required field ok 11 - validateSchema passes for data matching every required field --- duration_ms: 1.325413 ... # Subtest: validateSchema reports a missing required field ok 12 - validateSchema reports a missing required field --- duration_ms: 1.533994 ... # Subtest: validateSchema errors() returns a typed, inspectable array ok 13 - validateSchema errors() returns a typed, inspectable array --- duration_ms: 0.782456 ... # Subtest: the same MdixSchema instance can validate more than one database ok 14 - the same MdixSchema instance can validate more than one database --- duration_ms: 0.575468 ... # Subtest: MdixWatcher reports unchanged on repeated identical content ok 15 - MdixWatcher reports unchanged on repeated identical content --- duration_ms: 0.747992 ... # Subtest: MdixWatcher reports changed when content differs ok 16 - MdixWatcher reports changed when content differs --- duration_ms: 0.673051 ... # Subtest: MdixWatcher.hasChanged is a cheap pre-check that doesn't update state ok 17 - MdixWatcher.hasChanged is a cheap pre-check that doesn't update state --- duration_ms: 0.516187 ... # Subtest: MdixWatcher.reset forgets previously seen content ok 18 - MdixWatcher.reset forgets previously seen content --- duration_ms: 0.655849 ... # Subtest: sibling fields are unaffected by the enum field ok 19 - sibling fields are unaffected by the enum field --- duration_ms: 229.165103 ... # Subtest: enum field resolves name, field, and value together ok 20 - enum field resolves name, field, and value together --- duration_ms: 1.567948 ... # Subtest: group array elements resolve their enum fields independently ok 21 - group array elements resolve their enum fields independently --- duration_ms: 7.211892 ... # Subtest: a failed read comes back through tryGet as an error, not a throw ok 22 - a failed read comes back through tryGet as an error, not a throw --- duration_ms: 1.534265 ... # Subtest: query returns None-equivalent ([]) for a missing or non-array path ok 23 - query returns None-equivalent ([]) for a missing or non-array path --- duration_ms: 154.226503 ... # Subtest: query covers GroupArray items via the base path, no pattern needed ok 24 - query covers GroupArray items via the base path, no pattern needed --- duration_ms: 1.426793 ... # Subtest: filter reproduces where_'s field-based matching ok 25 - filter reproduces where_'s field-based matching --- duration_ms: 0.730138 ... # Subtest: filter + map reproduces where_ followed by select ok 26 - filter + map reproduces where_ followed by select --- duration_ms: 6.215606 ... # Subtest: sort descending + [0] reproduces order_by_desc().take(1) ok 27 - sort descending + [0] reproduces order_by_desc().take(1) --- duration_ms: 9.663825 ... # Subtest: sort ascending + [0] reproduces order_by().take(1) ok 28 - sort ascending + [0] reproduces order_by().take(1) --- duration_ms: 0.851114 ... # Subtest: slice reproduces skip ok 29 - slice reproduces skip --- duration_ms: 9.792797 ... # Subtest: reduce into a Map reproduces group_by, first-seen key order ok 30 - reduce into a Map reproduces group_by, first-seen key order --- duration_ms: 0.956312 ... # Subtest: some/every reproduce any/all ok 31 - some/every reproduce any/all --- duration_ms: 0.937196 ... # Subtest: [0]/.at(-1)/[n] reproduce first/last/nth ok 32 - [0]/.at(-1)/[n] reproduce first/last/nth --- duration_ms: 10.076308 ... # Subtest: queryMany matches sibling wildcarded paths ok 33 - queryMany matches sibling wildcarded paths --- duration_ms: 1.389724 ... # Subtest: reduce reproduces sum_int / avg_float ok 34 - reduce reproduces sum_int / avg_float --- duration_ms: 0.683009 ... # Subtest: reduce reproduces min_by_key (no tie in this fixture) ok 35 - reduce reproduces min_by_key (no tie in this fixture) --- duration_ms: 7.183208 ... # Subtest: max needs >= (not >) in the reducer to match max_by_key's tie-break ok 36 - max needs >= (not >) in the reducer to match max_by_key's tie-break --- duration_ms: 0.717474 ... # Subtest: terminal ops on an empty result behave the same as on DixQuery::new(vec![]) ok 37 - terminal ops on an empty result behave the same as on DixQuery::new(vec![]) --- duration_ms: 0.655638 ... 1..37 # tests 37 # suites 0 # pass 37 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 917.659823