blob: f4717268babc75a2f101eea144e0bba75281deda (
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# Introduction
`clab` is a command line address book application. It has no
interactive features. This document collects its acceptance criteria.
# Empty database
~~~scenario
given an installed clab
when I run clab lint
then command is successful
when I run clab search Alice
then command is successful
then stdout is exactly ""
when I try to run clab mutt-query Alice
then command fails
~~~
# Alice and Bob
Next, let's add records for Alice and Bob, and make
sure searches find only the right records.
~~~scenario
given an installed clab
given file .local/share/clab/address-book.yaml from address-book.yaml
when I run clab lint
then command is successful
when I run clab list
then command is successful
then stdout is valid YAML
then stdout contains "Alice Atherthon"
then stdout contains "Bob Bobbington"
when I run clab search Alice
then command is successful
then stdout is valid YAML
then stdout contains "Alice Atherthon"
then stdout doesn't contain "Bob"
when I run clab mutt-query Alice
then command is successful
then stdout is exactly "clab found matches:\nalice@example.com\tAlice Atherthon\n"
~~~
~~~{#address-book.yaml .file .yaml}
- name: Alice Atherthon
email:
work: alice@example.com
- name: Bob Bobbington
email:
personal: bob@example.com
~~~
---
title: "clab; – command line address book"
author: Lars Wirzenius
template: python
bindings:
- subplot/clab.yaml
- subplot/vendor/files.yaml
- subplot/vendor/runcmd.yaml
functions:
- subplot/clab.py
- subplot/vendor/files.py
- subplot/vendor/runcmd.py
...
|