summaryrefslogtreecommitdiffstats
path: root/tests/015/awk-fields.tl
blob: 7bb2f5991b4e527caefecb63ffa94e0551a3c1fa (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
(load "../common")

(mtest
  (awk (:fields) (:begin (return-from awk))) nil
  (awk (:fields t) (:begin (return-from awk))) :error
  (awk (:fields nil) (:begin (return-from awk))) :error
  (awk (:fields - -) (:begin (return-from awk))) nil
  (awk (:fields a - - b) (:begin (return-from awk))) nil
  (awk (:fields (a foo) - - (a bar)) (:begin (return-from awk))) :error
  (awk (:fields (a foo) - - (b bar)) (:begin (return-from awk))) nil
  (awk (:fields (a foo) (-) - (b bar)) (:begin (return-from awk))) :error
  (awk (:fields (a foo) (- i) - (b bar)) (:begin (return-from awk))) :error
  (awk (:fields a) (:fields b) (:begin (return-from awk))) :error)

(test
  (build
    (awk
      (:inputs '("How now brown cow"))
      (:fields h n - c)
      (t (add h n c))))
  ("How" "now" "cow"))

(test
  (build
    (awk
      (:inputs '("1 x 2" "a x 1" "4 x b"))
      (:fields (foo iz) - (bar iz))
      (t (add (+ foo bar)))))
  (3 1 4))

(test
  (build
    (awk
      (:inputs '("1"))
      (:fields (a iz) - (c iz))
      (t (add (+ a c) nf))))
  (1 3))