This commit is contained in:
2026-01-18 11:22:17 -06:00
parent 98cb2c3239
commit 5271688dd4
21 changed files with 97 additions and 114 deletions

View File

@@ -21,9 +21,9 @@ function deep_compare(expected, actual, path) {
if (is_blob(expected) && is_blob(actual)) {
stone_if_needed(expected); stone_if_needed(actual)
if (expected.length != actual.length)
return { passed: false, messages: [`blob length mismatch at ${path}: ${expected.length} vs ${actual.length}`] }
for (var i = 0; i < expected.length; i++) {
if (length(expected) != length(actual))
return { passed: false, messages: [`blob length mismatch at ${path}: ${length(expected)} vs ${actual)}`] }
for (var i = 0; i < length(expected); i++) {
if (expected.read_logical(i) != actual.read_logical(i))
return { passed: false, messages: [`blob bit mismatch at ${path}[${i}]`] }
}
@@ -31,16 +31,16 @@ function deep_compare(expected, actual, path) {
}
if (is_array(expected) && is_array(actual)) {
if (expected.length != actual.length)
return { passed: false, messages: [`Array length mismatch at ${path}: ${expected.length} vs ${actual.length}`] }
if (length(expected) != length(actual))
return { passed: false, messages: [`Array length mismatch at ${path}: ${length(expected)} vs ${length(actual)}`] }
var msgs = []
for (var i = 0; i < expected.length; i++) {
for (var i = 0; i < length(expected); i++) {
var res = deep_compare(expected[i], actual[i], `${path}[${i}]`)
if (!res.passed) {
for(var m of res.messages) msgs.push(m)
}
}
return { passed: msgs.length == 0, messages: msgs }
return { passed: length(msgs) == 0, messages: msgs }
}
if (is_object(expected) && is_object(actual)) {
@@ -55,7 +55,7 @@ function deep_compare(expected, actual, path) {
for(var m of res.messages) msgs.push(m)
}
}
return { passed: msgs.length == 0, messages: msgs }
return { passed: length(msgs) == 0, messages: msgs }
}
return { passed: false, messages: [`Value mismatch at ${path}: ${JSON.stringify(expected)} vs ${JSON.stringify(actual)}`] }
@@ -120,7 +120,7 @@ function make_test(t) {
}
var tests = {}
for (var i = 0; i < testCases.length; i++) {
for (var i = 0; i < length(testCases); i++) {
var t = testCases[i]
var name = t.name || ('case_' + i)
tests[name] = make_test(t)