Entity / API
foldkit-entity/conformance
The conformance suite for a query body: what data-query-DESIGN §6.0.1 says each operator means, as cases an interpreter can be run against.
Exported rather than kept in this repository's tests, because the interpreter
most worth checking against it is one written elsewhere: run every case
through yours and compare the ids, in order, against expected.
§18 names portable-kernel conformance as what the reference interpreter is
for. This is that, extracted: one set of cases, run against every interpreter
rather than each interpreter having its own tests that happen to agree.
foldkit-remote-server runs them over rows in memory;
foldkit-remote-drizzle compiles them to SQL and runs them against a real
SQLite. A body that means two things fails in whichever is wrong.
The cases are chosen to make interpreters disagree, which is the only kind
that tests anything. A fixture whose values are all lowercase cannot tell a
case-sensitive contains from a case-insensitive one — that is not a
hypothetical, it is how contains reached a released package meaning three
different things.
Values
Interfaces
ConformanceCase | |
ConformanceRefusal | A body whose answer no two interpreters agree on, so every interpreter must refuse it rather than answer. Run each through yours and expect a failure. |
ConformanceRow | How a row looks to an interpreter reading values, and to SQL as a table. The index signature is what lets one be read by key without a cast, which is how an… |