aprender-test-showcase 0.60.0

100% test coverage calculator showcase demonstrating Probar TUI + WASM testing
Documentation
[package]
name = "aprender-test-showcase"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
description = "100% test coverage calculator showcase demonstrating Probar TUI + WASM testing"
keywords = ["calculator", "tdd", "testing", "wasm", "tui"]
categories = ["development-tools::testing"]

[dependencies]
# Core
thiserror.workspace = true
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true

# TUI (optional for WASM builds) — presentar-terminal
presentar-terminal = { workspace = true, optional = true }
crossterm = { workspace = true, optional = true }

# WASM (optional for TUI builds)
wasm-bindgen = { version = "0.2", optional = true }
console_error_panic_hook = { version = "0.1", optional = true }
web-sys = { version = "0.3", optional = true, features = [
    "Document", "Element", "HtmlElement", "HtmlInputElement",
    "HtmlButtonElement", "Window", "Event", "EventTarget",
    "KeyboardEvent", "MouseEvent", "console"
] }

[dev-dependencies]
# Use local probar for dogfooding PIXEL-001 v2.1
jugar-probar = "1.0"
proptest.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }

[features]
default = ["tui"]
tui = ["dep:presentar-terminal", "dep:crossterm"]
wasm = ["dep:wasm-bindgen", "dep:web-sys", "dep:console_error_panic_hook"]

[lib]
name = "showcase_calculator"
crate-type = ["cdylib", "rlib"]

[lints]
workspace = true

[[example]]
name = "calculator_tui"
required-features = ["tui"]