8000 Catch with tests a new jetdb variant that falls to a wildcard arm in the CLI or jetdb-wasm by dominion525 · Pull Request #195 · dominion525/jetdb · GitHub
[go: up one dir, main page]

Skip to content

Catch with tests a new jetdb variant that falls to a wildcard arm in the CLI or jetdb-wasm - #195

Merged
dominion525 merged 1 commit into
mainfrom
test/unmapped-variants
Oct 26, 2026
Merged

dominion525 merged 1 commit into
mainfrom
test/unmapped-variants

Conversation

@dominion525
Copy link
Copy Markdown
Owner

Summary

  • The public enums of jetdb are #[non_exhaustive], so matches in the CLI and jetdb-wasm need a wildcard arm and the compiler says nothing when a variant is added (non_exhaustive_omitted_patterns is not available on stable)
  • Add a public ALL to PropMapType and VbaModuleType, and make QueryType::ALL public
  • A test whose variant names are both the arms of an exhaustive match and the expected list checks that ALL holds every variant, for these and for ObjectType: adding a variant breaks the build or the test until ALL has it
  • Tests in the CLI (object_type_name, map_heading) and jetdb-wasm (query_type_name, module_type_name, grouping of properties) compare every element of ALL with a known table, and stop building when ALL grows and the table does not
  • map_heading now takes the map type and name, and jetdb-wasm groups properties in add_properties, without changing behavior
  • Enums with data (Value, BlobValue, MacroStatement, MacroSource, FileError, ComplexValues) cannot be listed and are left out

🤖 Generated with Claude Code

… jetdb-wasm

- Add a public ALL to PropMapType and VbaModuleType, and make QueryType::ALL public
- Check that ALL holds every variant, for these and for ObjectType, with a test macro whose variant names are both the arms of an exhaustive matc
8000
h and the expected list
- Test that every element of ALL maps to its entry in a known table in the CLI's object_type_name and map_heading and in jetdb-wasm's query_type_name, module_type_name and grouping of properties
- Make map_heading take the map type and name, and move the grouping of properties into add_properties, so that tests can call them, without changing behavior

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Coverage

For f1790a4.

Filename                       Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
jetdb-cli/src/export.rs            144                10    93.06%           9                 1    88.89%          72                 5    93.06%           0                 0         -
jetdb-cli/src/form.rs              276                23    91.67%          24                 4    83.33%         158                 7    95.57%           0                 0         -
jetdb-cli/src/macro_cmd.rs         140                13    90.71%           7                 2    71.43%          64                 6    90.62%           0                 0         -
jetdb-cli/src/main.rs             1001                48    95.20%          86                 3    96.51%         611                25    95.91%           0                 0         -
jetdb-cli/src/prop.rs              443                16    96.39%          48                 2    95.83%         262                 8    96.95%           0                 0         -
jetdb-cli/src/query.rs              68                 3    95.59%           5                 0   100.00%          32                 0   100.00%           0                 0         -
jetdb-cli/src/vba.rs                62                 3    95.16%           5                 0   100.00%          28                 0   100.00%           0                 0         -
jetdb-wasm/src/lib.rs             3967               100    97.48%         264                 4    98.48%        2107                25    98.81%           0                 0         -
jetdb/src/catalog.rs               509                14    97.25%          46                 0   100.00%         299                 3    99.00%           0                 0         -
jetdb/src/complex.rs               924                32    96.54%          73                 0   100.00%         605                15    97.52%           0                 0         -
jetdb/src/crypto.rs               2300               112    95.13%         127                10    92.13%        1315                60    95.44%           0                 0         -
jetdb/src/csv.rs                   974                13    98.67%          77                 0   100.00%         557                 3    99.46%           0                 0         -
jetdb/src/data.rs                 4798                89    98.15%         299                 3    99.00%        2701                50    98.15%           0                 0         -
jetdb/src/ddl/access.rs             70                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/mod.rs              2771                 8    99.71%         208                 2    99.04%        1501                 6    99.60%           0                 0         -
jetdb/src/ddl/mysql.rs              70                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/postgres.rs           71                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/sqlite.rs             69                 0   100.00%           7                 0   100.00%          48                 0   100.00%           0                 0         -
jetdb/src/encoding.rs              285                 0   100.00%          30                 0   100.00%         153                 0   100.00%           0                 0         -
jetdb/src/file.rs                 1932                64    96.69%         118                 0   100.00%         989                18    98.18%           0                 0         -
jetdb/src/form.rs                 3332               133    96.01%         248                11    95.56%        1780                50    97.19%           0                 0         -
jetdb/src/form2000.rs              934                20    97.86%          73                 1    98.63%         497                 4    99.20%           0                 0         -
jetdb/src/format.rs                619                 2    99.68%          46                 0   100.00%         391                 2    99.49%           0                 0         -
jetdb/src/lib.rs                    14                 3    78.57%           2                 0   100.00%          11                 2    81.82%           0                 0         -
jetdb/src/macro_action.rs          299                19    93.65%          27                 3    88.89%         165                24    85.45%           0                 0         -
jetdb/src/macro_def.rs            2440                88    96.39%         196                 9    95.41%        1596                36    97.74%           0                 0         -
jetdb/src/macro_text.rs            804                24    97.01%          54                 2    96.30%         451                20    95.57%           0                 0         -
jetdb/src/map.rs                   417                13    96.88%          27                 0   100.00%         221                 5    97.74%           0                 0         -
jetdb/src/money.rs                 296                 0   100.00%          28                 0   100.00%         190                 0   100.00%           0                 0         -
jetdb/src/prop.rs                 1378                18    98.69%          91                 0   100.00%         698                10    98.57%           0                 0         -
jetdb/src/query.rs                2517                62    97.54%         201                 1    99.50%        1553                18    98.84%           0                 0         -
jetdb/src/relationship.rs          249                26    89.56%          22                 0   100.00%         177                10    94.35%           0                 0         -
jetdb/src/save_as_text.rs          574                27    95.30%          52                 3    94.23%         341                27    92.08%           0                 0         -
jetdb/src/storage.rs               766                32    95.82%          57                 0   100.00%         435                 6    98.62%           0                 0         -
jetdb/src/table.rs                1679                65    96.13%         109                 2    98.17%        1017                17    98.33%           0                 0         -
jetdb/src/timestamp.rs             491                 0   100.00%          51                 0   100.00%         285                 0   100.00%           0                 0         -
jetdb/src/vba.rs                   952                57    94.01%          83                11    86.75%         543                21    96.13%           0                 0         -
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                            38635              1137    97.06%        2821                74    97.38%       21991               483    97.80%           0                 0         -

@dominion525
dominion525 merged commit f4e659b into main Oct 26, 2026
11 checks passed
@dominion525
dominion525 deleted the test/unmapped-variants branch October 26, 2026 19:40
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

0