summaryrefslogtreecommitdiff
path: root/examples/echo/echo.md
blob: 495a102b36a46ec6134553672f11e1dfd0d60a5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
---
title: "**echo**(1) acceptance tests"
author: The Subplot project
bindings: [echo.yaml]
impls:
  bash: [echo.sh]
...

FIXME: This needs to move back into YAML: bibliography: [echo.bib]


Introduction
=============================================================================

**echo**(1) is a Unix command line tool, which writes its command line
arguments to the standard output. This is a simple acceptance test
suite for the `echo` implementation.

For more information, see [@foo2020].

No arguments
=============================================================================

Run `echo` without arguments.

```scenario
when user runs echo without arguments
then exit code is 0
then standard output contains a newline
then standard error is empty
```

Hello, world
=============================================================================

This scenario runs `echo` to produce the output "hello, world".

```scenario
when user runs echo with arguments hello, world
then exit code is 0
then standard output contains "hello, world"
then standard error is empty
```


# References