#!/www/server/bin/php lines[1], " "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"]); foreach(it::pipe(['a','b','a']) as $i) $x1 .= $i; is($x1, "aba"); foreach(it::pipe(['a','b','a'])->filter(fn($x) => $x == 'a') as $i) $x2 .= $i; is($x2, "aa"); foreach(it::pipe(['a','b','a'])->grep('a') as $i) $x3 .= $i; is($x3, "aa"); # 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");