Add table-driven lexer tests for keywords and built-in types
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 88/100
Línea de trabajo
Empieza con front/lexer/src/ident.rs y revisa las grafías de las palabras clave y los tipos incorporados de TokenType. Añade pruebas basadas en tablas en un módulo bajo front/lexer/tests/, incluidos casos en los límites exactos, ptr y array, los lexemas de los tokens y los números de línea. Ejecuta cargo test -p lexer --locked; terminado significa que cada token enumerado está comprobado y que el comportamiento del parser no ha cambiado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Why
The lexer currently has no unit tests. Keyword and built-in type classification in front/lexer/src/ident.rs is a compact, stable surface that is well suited to a first contribution.
Scope
- Add table-driven tests in the lexer crate for every language keyword and built-in type spelling.
- Verify exact-boundary behavior: for example,
funis a keyword whilefunnyis an identifier. - Cover
ptrandarray, which intentionally remain identifier tokens for the type parser. - Verify the token lexeme and line number as well as the token kind.
- Do not change the Wave grammar or add new keywords.
Likely files
front/lexer/src/ident.rs- A new test module under
front/lexer/tests/
Completion criteria
- Every keyword and built-in type in
TokenTypehas an assertion. - Prefix/suffix identifier cases are covered.
-
cargo test -p lexer --lockedpasses. - Existing parser behavior is unchanged.
- Lenguaje dominante
- Rust
- Estrellas
- 53
- Forks
- 16
- Merge medio
- 4 h 6 min
- PR fusionados (30 d)
- 44
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de wavefnd/Wave
-
ci enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
bug ci good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
documentation good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
good first issue needs testing
Dificultad 2/5 Medio día Aptitud para principiantes 84/100
Todos los issues de wavefnd/Wave
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
gitbutlerapp/gitbutler#15998 · 1 comentario ·
-
bug triage:deciding
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
open-telemetry/otel-arrow#4132 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100