Skip to content

feat layout - #218

Merged
0xsamuel1 merged 1 commit into
soroban-testkit:mainfrom
Ghoost-404:feat/layout
Oct 18, 2026
Merged

0xsamuel1 merged 1 commit into
soroban-testkit:mainfrom
Ghoost-404:feat/layout

Conversation

@Ghoost-404

Copy link
Copy Markdown
Contributor

Closes #176
Closes #177
Closes #178
Closes #179

Changes

1. Multi-line & Responsive Command Formatting (src/testkit.ts)

  • formatCommandLine(options, multiline): Added command string formatting utility that outputs standard POSIX shell line continuations ( \) with clean two-space indentation when multiline = true, while maintaining identical single-line output when multiline = false.
  • Properly handles argument quoting for paths with spaces and optional flags across coverage, limits, and audit.

2. Versioned CLI Compatibility Matrix (src/testkit.ts)

  • cliCompatibility: Added structured compatibility mapping tracking:
    • v0.2.0 (Current): Soroban SDK 27.0.x, Stellar CLI >= 22.0.0, Target wasm32v1-none (Rust >= 1.84).
    • v0.1.0 (Supported): Soroban SDK 22.x - 26.x, Stellar CLI >= 21.0.0, Target wasm32-unknown-unknown / wasm32v1-none.
    • v0.3.0 (Upcoming): Soroban SDK 28.0.x+, Stellar CLI >= 23.0.0, Target wasm32v1-none (Rust 2024 edition).

3. Local Project File Integration Documentation (src/testkit.ts)

  • localFileGuides: Documented how each generated CLI workflow interacts with the developer's local project files:
    • coverage: Reads Cargo.toml, Cargo.lock, src/**/*.rs, and tests/**/*.rs; writes local coverage artifacts to target/llvm-cov/html or lcov.info.
    • limits: Reads pre-compiled WebAssembly bytecode (target/wasm32v1-none/release/contract.wasm); outputs instruction ceilings and RAM byte limits to stdout without file mutation.
    • audit: Parses local Rust AST for authorization checks, unchecked arithmetic, and TTL risks; outputs diagnostics to stdout without file mutation.
    • Documents 100% offline determinism and zero network telemetry guarantees.

4. Test Suite & Visual Regression Hardening

  • src/testkit.test.ts: Added 13 unit tests verifying multi-line formatting with backslash continuations, quoting rules, compatibility table invariants, and file guide coverage.
  • src/clipboard.test.ts: Removed unused beforeEach import (fixes TypeScript TS6133 lint error).
  • src/test/setup.ts: Registered Testing Library's cleanup() in afterEach() to avoid DOM bleed between tests.
  • vite.config.ts: Excluded tests/visual/** from Vitest runs to keep unit and visual test suites isolated.
  • tests/visual/__screenshots__/: Generated Playwright baseline screenshots for hero, modules, commands (per tab), and full-page.

Validation

  • Vitest: npm test passes with 22/22 tests passing across all suites.
  • TypeScript & Build: npm run build (tsc -b && vite build) compiles with zero errors.
  • ESLint: npm run lint passes cleanly.
  • Playwright: npm run test:visual executed and matched baseline snapshots.

@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@Ghoost-404 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@0xsamuel1
0xsamuel1 merged commit bbae9e2 into soroban-testkit:main Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants