is_deeply($rt->_unrev_path([['x' => ['x', '\\d'], '' => 0]], $context), [['\\d' => ['\\d', 'x'], '' => 0]], 'node(* metachar) 2'); is_deeply($rt->_unrev_path([['ab', 'cd', 'ef'], ['x1' => ['x1', 'y2', 'z\\d'], 'mx' => [['mx', 'us', 'ca']]]], $context), [['z\\d' => ['z\\d', 'y2', 'x1'], 'ca' => [['ca', 'us', 'mx']]], ['ef', 'cd', 'ab']], 'path(node)'); //{ // my $r = $r; is_deeply($r->lexstr('ab'), ['a', 'b'], "lexstr('ab')"); is_deeply($r->lexstr('a\\,b'), ['a', ',', 'b'], "lexstr('a\\,b')"); //} //eval { // my $ra = $r; // $ra->Default_Lexer( qr/\d+/ ); //}; //like( $@, // qr/^Cannot pass a Regexp::Assemble to Default_Lexer at \S+ line \d+/m, // 'Default_Lexer die' //); $r = new Regexp_Assemble(); is_deeply($r->_fastlex('ab+c{2,4}'), ['a', 'b+', 'c{2,4}'], '_fastlex reg plus min-max'); //my $x; is_deeply($x = $r->_fastlex('\\d+\\s{3,4}?\\Qa+\\E\\lL\\uu\\Ufoo\\E\\Lbar\\x40'), ['\\d+', '\\s{3,4}?', 'a', '\\+', 'l', 'U', 'F', 'O', 'O', 'b', 'a', 'r', '@'], '_fastlex backslash'); is_deeply($x = $r->_fastlex('\\Q\\L\\Ua+\\E\\Ub?\\Ec'), ['a', '\\+', 'B?', 'c'], '_fastlex in and out of quotemeta'); is_deeply($x = $r->_fastlex('\\A\\a\\e\\f\\r\\n\\t\\Z'), ['\\A', '\\a', '\\e', '\\f', '\\r', '\\n', '\\t', '\\Z'], '_fastlex backslash letter'); is_deeply($x = $r->_fastlex('\\cG\\cd\\007*?\\041\\z'), ['\\cG', '\\cD', '\\cG*?', '!', '\\z'], '_fastlex backslash misc'); /* package Regexp::Assemble; my @list = ('a', 'a'); my @out = sort _re_sort @list; package main; is_deeply( [@list], [@out], 'bogus coverage improvements rulez' ); is( $_, $fixed, '$_ has not been altered' ); */ echo "===OK===\n";