diff options
| author | Arun Isaac | 2025-08-28 20:09:50 +0100 |
|---|---|---|
| committer | Arun Isaac | 2025-11-16 22:42:59 +0000 |
| commit | 767f80e7296c41a4428c73cadc90b953d252f8d7 (patch) | |
| tree | ce32736718146b2c01dd27c5627503786f33b505 /e2e-tests/tools/spell-check.scm | |
| parent | 8b4d0320cbc2f07c9040aee7b6e7e4fb1fe08a91 (diff) | |
| download | ravanan-767f80e7296c41a4428c73cadc90b953d252f8d7.tar.gz ravanan-767f80e7296c41a4428c73cadc90b953d252f8d7.tar.lz ravanan-767f80e7296c41a4428c73cadc90b953d252f8d7.zip | |
e2e-tests: Add tests based off of examples in the ccwl manual.
Diffstat (limited to 'e2e-tests/tools/spell-check.scm')
| -rw-r--r-- | e2e-tests/tools/spell-check.scm | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/e2e-tests/tools/spell-check.scm b/e2e-tests/tools/spell-check.scm new file mode 100644 index 0000000..d5ccebb --- /dev/null +++ b/e2e-tests/tools/spell-check.scm @@ -0,0 +1,33 @@ +(define split-words + (command #:inputs text + #:run "tr" "--complement" "--squeeze-repeats" "A-Za-z" "\\n" + #:stdin text + #:outputs (words #:type stdout))) + +(define downcase + (command #:inputs words + #:run "tr" "A-Z" "a-z" + #:stdin words + #:outputs (downcased-words #:type stdout))) + +(define sort + (command #:inputs words + #:run "sort" "--unique" + #:stdin words + #:outputs (sorted #:type stdout))) + +(define find-misspellings + (command #:inputs words dictionary + #:run "comm" "-23" words dictionary + #:outputs (misspellings #:type stdout) + #:stdout "misspelt-words")) + +(workflow (text-file dictionary) + (pipe (tee (pipe (split-words #:text text-file) + (downcase #:words words) + (sort (sort-words) #:words downcased-words) + (rename #:sorted-words sorted)) + (pipe (sort (sort-dictionary) #:words dictionary) + (rename #:sorted-dictionary sorted))) + (find-misspellings #:words sorted-words + #:dictionary sorted-dictionary))) |
