mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
47 lines
1.6 KiB
Scheme
47 lines
1.6 KiB
Scheme
|
|
(define-library (chibi shell-test)
|
|
(import (scheme base) (chibi shell) (chibi test))
|
|
(export run-tests)
|
|
(begin
|
|
(define (run-tests)
|
|
(test-begin "(chibi shell)")
|
|
(test "hello\n"
|
|
(shell->string (echo "hello")))
|
|
(test "world\n"
|
|
(shell->string (echo "world")))
|
|
(test "HELLO\n"
|
|
(shell->string
|
|
,(shell-pipe
|
|
'(echo "hello")
|
|
'(tr "a-z" "A-Z"))))
|
|
(test "OLLEH\n"
|
|
(shell->string
|
|
,(shell-pipe
|
|
'(echo "hello")
|
|
'(tr "a-z" "A-Z")
|
|
'rev)))
|
|
(test "OLLEH\n"
|
|
(shell->string (echo "hello") (tr "a-z" "A-Z") rev))
|
|
(test "pass\n"
|
|
(shell->string ,(shell-if 'true '(echo "pass") '(echo "fail"))))
|
|
(test "fail\n"
|
|
(shell->string ,(shell-if 'false '(echo "pass") '(echo "fail"))))
|
|
(test "hello\nworld\n"
|
|
(shell->string ,(shell-do '(echo "hello") '(echo "world"))))
|
|
(test "hello\n"
|
|
(shell->string
|
|
,(shell-and 'true '(echo "hello") 'false '(echo "world"))))
|
|
(test "hello\n"
|
|
(shell->string
|
|
,(shell-or 'false '(echo "hello") '(echo "world"))))
|
|
(test "hello\n"
|
|
(shell->string (or false (echo "hello") (echo "world"))))
|
|
(test '("hello" "world")
|
|
(shell->string-list (do (echo "hello") (echo "world"))))
|
|
(test '(hello world)
|
|
(shell->sexp-list (do (echo "hello") (echo "world"))))
|
|
(test "HELLO"
|
|
(shell->string (cat) (<< hello) (tr "a-z" "A-Z")))
|
|
(test "HELLO"
|
|
(shell->string (>< (cat) (tr "a-z" "A-Z")) (<< hello)))
|
|
(test-end))))
|