Fix wasm query tests

This commit is contained in:
Max Brunsfeld 2020-05-11 15:22:05 -07:00
parent f6f96f3503
commit fce5c50f81
3 changed files with 123 additions and 130 deletions

View file

@ -748,10 +748,10 @@ class Language {
isPositive = false;
case 'eq?':
if (steps.length !== 3) throw new Error(
`Wrong number of arguments to \`eq?\` predicate. Expected 2, got ${steps.length - 1}`
`Wrong number of arguments to \`#eq?\` predicate. Expected 2, got ${steps.length - 1}`
);
if (steps[1].type !== 'capture') throw new Error(
`First argument of \`eq?\` predicate must be a capture. Got "${steps[1].value}"`
`First argument of \`#eq?\` predicate must be a capture. Got "${steps[1].value}"`
);
if (steps[2].type === 'capture') {
const captureName1 = steps[1].name;
@ -780,13 +780,13 @@ class Language {
case 'match?':
if (steps.length !== 3) throw new Error(
`Wrong number of arguments to \`match?\` predicate. Expected 2, got ${steps.length - 1}.`
`Wrong number of arguments to \`#match?\` predicate. Expected 2, got ${steps.length - 1}.`
);
if (steps[1].type !== 'capture') throw new Error(
`First argument of \`match?\` predicate must be a capture. Got "${steps[1].value}".`
`First argument of \`#match?\` predicate must be a capture. Got "${steps[1].value}".`
);
if (steps[2].type !== 'string') throw new Error(
`Second argument of \`match?\` predicate must be a string. Got @${steps[2].value}.`
`Second argument of \`#match?\` predicate must be a string. Got @${steps[2].value}.`
);
const captureName = steps[1].name;
const regex = new RegExp(steps[2].value);
@ -800,10 +800,10 @@ class Language {
case 'set!':
if (steps.length < 2 || steps.length > 3) throw new Error(
`Wrong number of arguments to \`set!\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`
`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`
);
if (steps.some(s => s.type !== 'string')) throw new Error(
`Arguments to \`set!\` predicate must be a strings.".`
`Arguments to \`#set!\` predicate must be a strings.".`
);
if (!setProperties[i]) setProperties[i] = {};
setProperties[i][steps[1].value] = steps[2] ? steps[2].value : null;
@ -812,10 +812,10 @@ class Language {
case 'is?':
case 'is-not?':
if (steps.length < 2 || steps.length > 3) throw new Error(
`Wrong number of arguments to \`${operator}\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`
`Wrong number of arguments to \`#${operator}\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`
);
if (steps.some(s => s.type !== 'string')) throw new Error(
`Arguments to \`${operator}\` predicate must be a strings.".`
`Arguments to \`#${operator}\` predicate must be a strings.".`
);
const properties = operator === 'is?' ? assertedProperties : refutedProperties;
if (!properties[i]) properties[i] = {};
@ -823,7 +823,7 @@ class Language {
break;
default:
throw new Error(`Unknown query predicate \`${steps[0].value}\``);
throw new Error(`Unknown query predicate \`#${steps[0].value}\``);
}
steps.length = 0;