diff options
Diffstat (limited to 'testsuite/awk.tests')
-rwxr-xr-x | testsuite/awk.tests | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testsuite/awk.tests b/testsuite/awk.tests index cdab93d21..c61d32947 100755 --- a/testsuite/awk.tests +++ b/testsuite/awk.tests | |||
@@ -552,4 +552,51 @@ testing "awk = has higher precedence than == (despite what gawk manpage claims)" | |||
552 | '0\n1\n2\n1\n3\n' \ | 552 | '0\n1\n2\n1\n3\n' \ |
553 | '' '' | 553 | '' '' |
554 | 554 | ||
555 | sq="'" | ||
556 | testing 'awk gensub backslashes \' \ | ||
557 | 'awk '$sq'BEGIN { s="\\"; print "s=" s; print gensub("a", s, "g", "a|a") }'$sq \ | ||
558 | 's=\\ | ||
559 | \\|\\ | ||
560 | ' \ | ||
561 | '' '' | ||
562 | testing 'awk gensub backslashes \\' \ | ||
563 | 'awk '$sq'BEGIN { s="\\\\"; print "s=" s; print gensub("a", s, "g", "a|a") }'$sq \ | ||
564 | 's=\\\\ | ||
565 | \\|\\ | ||
566 | ' \ | ||
567 | '' '' | ||
568 | # gawk 5.1.1 handles trailing unpaired \ inconsistently. | ||
569 | # If replace string is single \, it is used verbatim, | ||
570 | # but if it is \\\ (three slashes), gawk uses "\<NUL>" (!!!), not "\\" as you would expect. | ||
571 | testing 'awk gensub backslashes \\\' \ | ||
572 | 'awk '$sq'BEGIN { s="\\\\\\"; print "s=" s; print gensub("a", s, "g", "a|a") }'$sq \ | ||
573 | 's=\\\\\\ | ||
574 | \\\\|\\\\ | ||
575 | ' \ | ||
576 | '' '' | ||
577 | testing 'awk gensub backslashes \\\\' \ | ||
578 | 'awk '$sq'BEGIN { s="\\\\\\\\"; print "s=" s; print gensub("a", s, "g", "a|a") }'$sq \ | ||
579 | 's=\\\\\\\\ | ||
580 | \\\\|\\\\ | ||
581 | ' \ | ||
582 | '' '' | ||
583 | testing 'awk gensub backslashes \&' \ | ||
584 | 'awk '$sq'BEGIN { s="\\&"; print "s=" s; print gensub("a", s, "g", "a|a") }'$sq \ | ||
585 | 's=\\& | ||
586 | &|& | ||
587 | ' \ | ||
588 | '' '' | ||
589 | testing 'awk gensub backslashes \0' \ | ||
590 | 'awk '$sq'BEGIN { s="\\0"; print "s=" s; print gensub("a", s, "g", "a|a") }'$sq \ | ||
591 | 's=\\0 | ||
592 | a|a | ||
593 | ' \ | ||
594 | '' '' | ||
595 | testing 'awk gensub backslashes \\0' \ | ||
596 | 'awk '$sq'BEGIN { s="\\\\0"; print "s=" s; print gensub("a", s, "g", "a|a") }'$sq \ | ||
597 | 's=\\\\0 | ||
598 | \\0|\\0 | ||
599 | ' \ | ||
600 | '' '' | ||
601 | |||
555 | exit $FAILCOUNT | 602 | exit $FAILCOUNT |