| # vi:ft= |
| |
| use 5.10.1; |
| use Test::Base; |
| use RecvUntil; |
| |
| plan tests => 1 * blocks(); |
| |
| run { |
| my $block = shift; |
| my $name = $block->name; |
| my $pat = $block->pat // die "$name: No --- pat found"; |
| my $txt = $block->txt // die "$name: No --- txt found"; |
| |
| my $expected = $block->out // die "$name: No --- out found"; |
| |
| my $it = RecvUntil::recv_until($pat); |
| is $it->($txt), $expected, "$name: output ok"; |
| }; |
| |
| __DATA__ |
| |
| === TEST 1: |
| --- pat: abcabd |
| --- txt: abcabcabd |
| --- out: abc |
| |
| |
| |
| === TEST 2: |
| --- pat: aa |
| --- txt: abcabcaad |
| --- out: abcabc |
| |
| |
| |
| === TEST 3: |
| --- pat: ab |
| --- txt: bbcabcaad |
| --- out: bbc |
| |
| |
| |
| === TEST 4: |
| --- pat: aaa |
| --- txt: abaabcaaaef |
| --- out: abaabc |
| |
| |
| |
| === TEST 5: |
| --- pat: aaaaad |
| --- txt: baaaaaaaaeaaaaaaadf |
| --- out: baaaaaaaaeaa |
| |
| |
| |
| === TEST 6: |
| --- pat: abacadae |
| --- txt: a |
| --- out: |
| |
| |
| |
| === TEST 7: |
| --- pat: abacadae |
| --- txt: ababacadae |
| --- out: ab |
| |
| |
| |
| === TEST 8: |
| --- pat: abacadae |
| --- txt: abacabacadae |
| --- out: abac |
| |
| |
| |
| === TEST 9: |
| --- pat: abacadae |
| --- txt: abaabacadae |
| --- out: aba |
| |
| |
| |
| === TEST 10: |
| --- pat: abacadae |
| --- txt: abacadabacadae |
| --- out: abacad |
| |
| |
| |
| === TEST 11: |
| --- pat: abcabdabcabe |
| --- txt: abcabdabcabdabcabe |
| --- out: abcabd |
| |
| |
| |
| === TEST 12: |
| --- pat: abcabdabcabe |
| --- txt: abcabdabcabcabdabcabe |
| --- out: abcabdabc |
| |
| |
| |
| === TEST 13: |
| --- pat: abcabdabcabe |
| --- txt: abcabcabdabcabe |
| --- out: abc |
| |
| |
| |
| === TEST 14: |
| --- pat: abcabdabcabe |
| --- txt: ababcabdabcabe |
| --- out: ab |
| |
| |
| |
| === TEST 15: |
| --- pat: abcdef |
| --- txt: abcabcdef |
| --- out: abc |
| |
| |
| |
| === TEST 16: |
| --- pat: -- abc |
| --- txt: ---- abc |
| --- out: -- |
| |
| |
| |
| === TEST 17: |
| --- pat: yz--ababyz |
| --- txt: |
| --- out: -- |
| --- SKIP |
| |