mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-08 22:28:09 +00:00
New crate vectorcraft-js reads ECMAScript 5.1 source into a syntax tree with source positions: a UTF-16 lexer (line and column tracking, automatic semicolon insertion, the regexp and division goals), preprocessor lines read as directive tokens, a recursive-descent parser to an arena tree, and the ES5 early errors, strict mode included. Nesting deeper than Options::max_depth (200 by default) gives a SyntaxError with its line and column rather than overflowing the stack. Nothing runs scripts yet. cargo xtask test262 downloads test262 at a pinned commit, checks its SHA-256, unpacks it into the gitignored corpus/ folder and runs the ES5 syntax tests. A differential test in the engine compares the lexer with scriptcheck on line counts, directives and unterminated literals.
34 lines
902 B
Rust
34 lines
902 B
Rust
//! Integration tests: one test binary for the crate, one module per area.
|
||
// Unwrapping and panicking on failure is fine here, unlike in shipped code (AGENTS.md › Robustness).
|
||
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
||
|
||
#[path = "../support/affinity_docs.rs"]
|
||
mod affinity_docs;
|
||
#[path = "../../../affinity/tests/support/text_fixture.rs"]
|
||
mod text_fixture;
|
||
|
||
mod affinity_features;
|
||
mod affinity_local;
|
||
mod artboard_click;
|
||
mod beyond_canvas;
|
||
mod clear_commands;
|
||
mod compound_attributes;
|
||
mod copy_direct_selection;
|
||
mod dimensions;
|
||
mod eyedropper_sources;
|
||
mod find_replace_paras;
|
||
mod inline_text;
|
||
mod js_lexer_vs_scriptcheck;
|
||
mod known_bugs;
|
||
mod lossy_overwrite;
|
||
mod model_based;
|
||
mod param_keys;
|
||
mod paste_many;
|
||
mod pen_click_after_smooth;
|
||
mod pen_endpoint_picking;
|
||
mod ruler_origin;
|
||
mod selection_commands;
|
||
mod stroke_visibility;
|
||
mod text_stroke_scale;
|
||
mod three_d_light_color;
|