Skip to content

Latest commit

 

History

History
139 lines (111 loc) · 4.77 KB

File metadata and controls

139 lines (111 loc) · 4.77 KB

Testing

This is the v1.7.2 release verification set.

Required Local Gates

cargo fmt --check
cargo clippy --workspace --all-features -- -D warnings
cargo test --workspace --all-features
cargo test --workspace --no-default-features
cargo test -p animato --all-features --examples
cargo doc --workspace --all-features --no-deps
cargo check -p animato-wasm --target wasm32-unknown-unknown --features wasm-dom
cargo test -p animato-leptos
cargo check -p animato-leptos --target wasm32-unknown-unknown --features csr
cargo check -p animato-leptos --target wasm32-unknown-unknown --features hydrate
cargo check --manifest-path examples/leptos_animated_list/Cargo.toml --target wasm32-unknown-unknown
cargo check -p animato-dioxus
cargo check -p animato-dioxus --target wasm32-unknown-unknown --features web
cargo check -p animato-yew --target wasm32-unknown-unknown --features csr
cargo check -p animato-js --target wasm32-unknown-unknown --all-features
cargo check -p animato-devtools --all-features
cargo test -p animato-devtools --all-features
cargo check -p animato-devtools --target wasm32-unknown-unknown --features web-panel
bash scripts/build-js-package.sh
cargo bench --workspace --no-run

For a local CI-style run, use:

bash scripts/ci-local.sh

Coverage

Install:

cargo install cargo-llvm-cov --locked

Run:

bash scripts/coverage-core.sh

The coverage gate targets the core engine crates. Browser/UI adapter crates are validated by their compile, browser, and example gates because native llvm coverage does not measure their renderer paths accurately.

Fuzzing

Install:

cargo install cargo-fuzz --locked

Run the SVG parser target:

cargo +nightly fuzz run svg_path_parser -- -max_total_time=60

WASM

cargo check -p animato-wasm --target wasm32-unknown-unknown --features wasm-dom
cargo check -p animato-leptos --target wasm32-unknown-unknown --features csr
cargo check -p animato-leptos --target wasm32-unknown-unknown --features hydrate
cargo check --manifest-path examples/leptos_animated_list/Cargo.toml --target wasm32-unknown-unknown
cargo check -p animato-dioxus --target wasm32-unknown-unknown --features web
cargo check -p animato-yew --target wasm32-unknown-unknown --features csr
cargo check -p animato-js --target wasm32-unknown-unknown --all-features
cargo check -p animato-devtools --target wasm32-unknown-unknown --features web-panel
cargo check --manifest-path examples/yew_basic_tween/Cargo.toml --target wasm32-unknown-unknown
cargo check --manifest-path examples/yew_scroll_trigger/Cargo.toml --target wasm32-unknown-unknown
cargo check --manifest-path examples/yew_animated_list/Cargo.toml --target wasm32-unknown-unknown
cargo check --manifest-path examples/yew_drag_gesture/Cargo.toml --target wasm32-unknown-unknown
cargo check --manifest-path examples/yew_page_transition/Cargo.toml --target wasm32-unknown-unknown
cargo check --manifest-path examples/yew_agent_coordination/Cargo.toml --target wasm32-unknown-unknown
cd examples/wasm_counter
wasm-pack build --target web

Leptos Animated List Browser Check

Run the example with Trunk and verify the complete retained lifecycle:

cd examples/leptos_animated_list
trunk serve --open
  1. Initial rows execute the enter animation.
  2. Adding a row executes the configured enter animation.
  3. Removing a row keeps it visible through exit duration and stagger.
  4. The exiting row does not intercept pointer input.
  5. Surviving rows move only after the exiting row leaves layout.
  6. Rapidly removing, reinserting, and removing the same key does not allow an older cleanup timer to delete the reinserted row.
  7. Reverse and rotate operations retain correct FLIP movement.

JavaScript Package

cargo test -p animato-js
bash scripts/wasm-pack-test-js.sh
bash scripts/build-js-package.sh
node scripts/check-js-size.mjs
npm run typecheck --prefix examples/js_vanilla_timeline
npm run build --prefix examples/js_vanilla_timeline
npm run typecheck --prefix examples/js_react_tween
npm run build --prefix examples/js_react_tween
npm run typecheck --prefix examples/js_svelte_spring
npm run build --prefix examples/js_svelte_spring
npm run typecheck --prefix examples/js_vue_motion
npm run build --prefix examples/js_vue_motion
npm run typecheck --prefix examples/js_angular_color
npm run build --prefix examples/js_angular_color
npm run typecheck --prefix examples/js_advanced_engine
npm run build --prefix examples/js_advanced_engine
npm run typecheck --prefix examples/js_devtools
npm run build --prefix examples/js_devtools

The v1.7.2 package budget is 150 KiB gzipped WASM for the full JavaScript surface, including the DevTools exports.

Related Docs