| 1 | ## our_shell: ysh
|
| 2 | ## oils_failures_allowed: 1
|
| 3 |
|
| 4 | # Hm can we do this entirely in user code, not as a builtin?
|
| 5 |
|
| 6 | #### Describe Prototype
|
| 7 |
|
| 8 | source --builtin testing.ysh
|
| 9 |
|
| 10 | proc p {
|
| 11 | echo STDOUT
|
| 12 | echo STDERR >& 2
|
| 13 | return 42
|
| 14 | }
|
| 15 |
|
| 16 | describe p {
|
| 17 | # each case changes to a clean directory?
|
| 18 | #
|
| 19 | # and each one is numbered?
|
| 20 |
|
| 21 | it 'prints to stdout and stderr' {
|
| 22 | try {
|
| 23 | p > out 2>& err
|
| 24 | }
|
| 25 | assert (_status === 42)
|
| 26 |
|
| 27 | cat out
|
| 28 | cat err
|
| 29 |
|
| 30 | # Oh man the here docs are still useful here because of 'diff' interface
|
| 31 | # Multiline strings don't quite do it
|
| 32 |
|
| 33 | diff out - <<< '''
|
| 34 | STDOUT
|
| 35 | '''
|
| 36 |
|
| 37 | diff err - <<< '''
|
| 38 | STDERR
|
| 39 | '''
|
| 40 | }
|
| 41 | }
|
| 42 |
|
| 43 | ## STDOUT:
|
| 44 | TODO
|
| 45 | ## END
|