]> begriffs open source - sa-parse/commit
Orthogonal tests, and enforce same field count for all records
authorJoe Nelson <joe@begriffs.com>
Sat, 16 Aug 2025 05:00:00 +0000 (00:00 -0500)
committerJoe Nelson <joe@begriffs.com>
Sat, 16 Aug 2025 05:00:00 +0000 (00:00 -0500)
commit620073825bdcd1aa063f07f94d750837ac2b27a7
treee9d5119e264a37caa02765abb815a315393b6cd1
parentcb16aa580924bdb178142e7c99a0eaed1edee0c0
Orthogonal tests, and enforce same field count for all records
53 files changed:
src/csv_parser.c
tests/csv/invalid/char_after_quote.csv [deleted file]
tests/csv/invalid/eof_in_quote.csv [deleted file]
tests/csv/invalid/inconsistent_field_count.csv [new file with mode: 0644]
tests/csv/invalid/malformed_quote_escape.csv [deleted file]
tests/csv/invalid/quote_in_middle_unquoted.csv [deleted file]
tests/csv/invalid/quote_in_unquoted_field.csv [deleted file]
tests/csv/invalid/quote_then_text.csv [new file with mode: 0644]
tests/csv/invalid/quote_then_text_comma.csv [new file with mode: 0644]
tests/csv/invalid/text_after_quote.csv [deleted file]
tests/csv/invalid/text_immediately_after_quote.csv [deleted file]
tests/csv/invalid/unclosed_quote.csv [deleted file]
tests/csv/invalid/unescaped_quote.csv [deleted file]
tests/csv/invalid/unterminated_quote.csv [new file with mode: 0644]
tests/csv/invalid/unterminated_quote_multiline.csv [new file with mode: 0644]
tests/csv/invalid/unterminated_quote_with_comma.csv [new file with mode: 0644]
tests/csv/stress/excessive_fields.csv [deleted file]
tests/csv/stress/extra_trailing_newlines.csv [deleted file]
tests/csv/stress/extremely_long_field.csv [deleted file]
tests/csv/stress/massive_records.csv [deleted file]
tests/csv/stress/multiline_quoted_field.csv [deleted file]
tests/csv/stress/null_bytes.csv [deleted file]
tests/csv/stress/quoted_newline_field.csv [deleted file]
tests/csv/stress/semicolon_as_text.csv [deleted file]
tests/csv/stress/unicode_characters.csv [deleted file]
tests/csv/valid/blank_line_record.csv [deleted file]
tests/csv/valid/boundary_no_final_newline.csv [new file with mode: 0644]
tests/csv/valid/boundary_trailing_newline.csv [new file with mode: 0644]
tests/csv/valid/complex.csv [deleted file]
tests/csv/valid/edge_all_empty_fields.csv [new file with mode: 0644]
tests/csv/valid/edge_empty_field_end.csv [new file with mode: 0644]
tests/csv/valid/edge_empty_field_middle.csv [new file with mode: 0644]
tests/csv/valid/edge_empty_field_start.csv [new file with mode: 0644]
tests/csv/valid/edge_single_comma.csv [new file with mode: 0644]
tests/csv/valid/empty_fields.csv [deleted file]
tests/csv/valid/empty_fields_double_comma.csv [deleted file]
tests/csv/valid/header_only.csv [deleted file]
tests/csv/valid/inconsistent_columns.csv [deleted file]
tests/csv/valid/leading_empty_field.csv [deleted file]
tests/csv/valid/no_final_newline.csv [deleted file]
tests/csv/valid/quotes.csv [deleted file]
tests/csv/valid/state_0_empty_file.csv [moved from tests/csv/valid/empty.csv with 100% similarity]
tests/csv/valid/state_1_single_field.csv [new file with mode: 0644]
tests/csv/valid/state_4_record_at_eof.csv [new file with mode: 0644]
tests/csv/valid/state_7_after_crlf.csv [new file with mode: 0644]
tests/csv/valid/state_8_after_comma.csv [new file with mode: 0644]
tests/csv/valid/tabs_in_fields.csv [deleted file]
tests/csv/valid/test.csv [deleted file]
tests/csv/valid/trailing_empty_field.csv [deleted file]
tests/csv/valid/transition_mixed_empty_nonempty.csv [new file with mode: 0644]
tests/csv/valid/transition_multifield_records.csv [new file with mode: 0644]
tests/csv/valid/transition_multiline_records.csv [new file with mode: 0644]
tests/meson.build