Skip to content

test(cli): render + FilterCommand coverage#58

Merged
dfa1 merged 2 commits into
mainfrom
test/cli-render-coverage
Jun 19, 2026
Merged

test(cli): render + FilterCommand coverage#58
dfa1 merged 2 commits into
mainfrom
test/cli-render-coverage

Conversation

@dfa1

@dfa1 dfa1 commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Fills untested CLI branches surfaced while chasing the SonarCloud coverage gap. Tests only — no production changes.

GridRender / InspectorRender (849441a6)

  • VarBin rendering: Utf8 (raw / quoted) and binary→hex, including the >16-byte truncation.
  • Extension rendering via the decoder dtype factories: vortex.date, vortex.time (I32 ms), vortex.timestamp (I64 ms), vortex.uuid (FixedSizeList(U8,16)).
  • Diagnostic/fallback paths: extension-decode failure, unknown-extension-id fall-through, GenericArray-backed decimal + bad-shape tryDecimal, non-struct formatStatsArray guard.
  • New reusable VarBin fixture (utf8/binary OffsetMode) in ArrayFixtures.

FilterCommand (567f5c8e)

  • parser: Double literal, unknown operator (!), empty value, operator-at-index-0 (empty column), invalid column name.
  • compareValue: Int / Double (compareDouble) / VarBin (lexicographic) columns + compareNumeric's Double branch.
  • New mixed-type fixture (I64/I32/F64/Utf8) writeTypedVortex in CliTestSupport.

Known gaps (intentional)

  • compareValue Short/Byte/Float/Bool and RowFilter.And — the writer takes no such arrays and the parser emits no AND syntax.
  • DecimalByteParts "null cell" branch — needs a masked byte-parts fixture not worth the weight.

🤖 Generated with Claude Code

dfa1 and others added 2 commits June 19, 2026 11:48
GridRender: vortex.time (I32 ms), vortex.timestamp (I64 ms) and vortex.uuid
(FixedSizeList(U8,16)) extension rendering via the decoder dtype factories.

InspectorRender: GenericArray-backed decimal (single-buffer LE mantissa) and
the bad-shape fallback path through tryDecimal.

Leaves only the DecimalByteParts "null cell" branch uncovered — it needs a
masked byte-parts fixture not worth the weight for one return.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a mixed-type fixture (I64/I32/F64/Utf8) to CliTestSupport and exercise the
previously-uncovered FilterCommand paths:

- parser: Double literal, unknown operator ('!'), empty value, operator at
  index 0 (empty column), invalid column name.
- compareValue: Int, Double (compareDouble) and VarBin (lexicographic) columns,
  plus compareNumeric's Double branch via a fractional threshold on an I64 column.

Short/Byte/Float/Bool compare branches and the RowFilter.And predicate stay
uncovered — the writer takes no such arrays and the parser emits no AND syntax.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dfa1 dfa1 merged commit d089308 into main Jun 19, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant