Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
60 lines
1.6 KiB
Plaintext
60 lines
1.6 KiB
Plaintext
;; show.sx — tests for the Show class plumbing.
|
|
;;
|
|
;; Covers:
|
|
;; - showsPrec / showParen / shows / showString stubs (Phase 8)
|
|
;; - Eventually expanded to ≥12 tests covering the full audit (Phase 8 ☐).
|
|
|
|
(hk-test
|
|
"shows: prepends show output"
|
|
(hk-deep-force (hk-run "main = shows 5 \"abc\""))
|
|
"5abc")
|
|
|
|
(hk-test
|
|
"shows: works on True"
|
|
(hk-deep-force (hk-run "main = shows True \"x\""))
|
|
"Truex")
|
|
|
|
(hk-test
|
|
"showString: prepends literal"
|
|
(hk-deep-force (hk-run "main = showString \"hello\" \" world\""))
|
|
"hello world")
|
|
|
|
(hk-test
|
|
"showParen True: wraps inner output in parens"
|
|
(hk-deep-force (hk-run "main = showParen True (showString \"inside\") \"\""))
|
|
"(inside)")
|
|
|
|
(hk-test
|
|
"showParen False: passes through unchanged"
|
|
(hk-deep-force (hk-run "main = showParen False (showString \"inside\") \"\""))
|
|
"inside")
|
|
|
|
(hk-test
|
|
"showsPrec: prepends show output regardless of prec"
|
|
(hk-deep-force (hk-run "main = showsPrec 11 42 \"end\""))
|
|
"42end")
|
|
|
|
(hk-test
|
|
"showParen + manual composition: build (Just 3)"
|
|
(hk-deep-force
|
|
(hk-run
|
|
"buildJust3 s = showString \"Just \" (shows 3 s)\nmain = showParen True buildJust3 \"\""))
|
|
"(Just 3)")
|
|
|
|
(hk-test
|
|
"reads: stub returns empty list (null-check)"
|
|
(hk-deep-force (hk-run "main = show (null (reads \"42\"))"))
|
|
"True")
|
|
|
|
(hk-test
|
|
"readsPrec: stub returns empty list"
|
|
(hk-deep-force (hk-run "main = show (null (readsPrec 0 \"True\"))"))
|
|
"True")
|
|
|
|
(hk-test
|
|
"reads: type-checks in expression context (length)"
|
|
(hk-deep-force (hk-run "main = show (length (reads \"abc\"))"))
|
|
"0")
|
|
|
|
{:fails hk-test-fails :pass hk-test-pass :fail hk-test-fail}
|