summaryrefslogtreecommitdiff
path: root/test/it_pipe.t
blob: 79c27b29f114bdb7ffd44bc1166e511af128bcb0 (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
#!/www/server/bin/php
<?php

# it::cat frontend
is(it::cat("test/it_pipe.t")->lines[1],                 "<?php");
is(it::cat(['data' => "foo"])->lines(),                 ["foo"]);
is(it::pipe('echo {x}', ['x' => "foo"])->lines(),       ["foo"]);
is(it::pipe('echo {0}{1}', "f", "oo")->lines(),         ["foo"]);
is(it::pipe('echo {f}', ['f' => 1, 'f' => 2])->lines(), [2]);
is(it::pipe(['foo'])->lines(),                          ["foo"]);

# csv()
is(json_encode((new it_pipe(['data' => ["a\tb", "1\t2"]]))->csv()),      '[{"a":"1","b":"2"}]');
is(json_encode((new it_pipe(['data' => ["a;b",   "1;2"]]))->csv()),      '[{"a":"1","b":"2"}]');
is(json_encode((new it_pipe(['data' => ["a,b",   "1,2"]]))->csv()),      '[{"a":"1","b":"2"}]');
is(json_encode((new it_pipe(['data' => ["\t", "1\t2"]]))->csv()),        '[{"field0":"1","field1":"2"}]');
is(json_encode((new it_pipe(['data' => ["a\tb", "1\t2"]]))->csv("c,d")), '[{"c":"1","d":"2"}]');
is(json_encode((new it_pipe(['data' => ["a\tb", "1\t2"]]))->csv(['forceschema' => "c,d"])),  '[{"c":"1","d":"2"}]');
is(json_encode((new it_pipe(['data' => ["a b\tb", "1\t2"]]))->csv(['fixcolnames' => true])), '[{"a_b":"1","b":"2"}]');

is(iterator_to_array((new it_pipe(['data' => ["a b\tb", "1\t2"]]))->cols('c')), [(object)['c' => 'a b'], (object)['c' => '1']], "cols() ignoring some columns");

# askey()
is(json_encode((new it_pipe(['data' => "a\nb\n"]))->askey()), '{"a":true,"b":true}');

# __call() generic funcs
is((new it_pipe(['data' => [" a a "]]))->trim()->lines[0], "a a");
is((new it_pipe(['data' => [" a a "]]))->it__match('\w', ['all' => true])->lines[0], ["a", "a"], "test argument in second pos");