📄 wrap.t
字号:
#!/usr/bin/perl5.00502@tests = (split(/\nEND\n/s, <<DONE));TEST1This isatestEND This is a testENDTEST2This is a test of a very long line. It should be broken up and put onto multiple lines.This is a test of a very long line. It should be broken up and put onto multiple lines.This is a test of a very long line. It should be broken up and put onto multiple lines.END This is a test of a very long line. It should be broken up and put onto multiple lines. This is a test of a very long line. It should be broken up and put onto multiple lines. This is a test of a very long line. It should be broken up and put onto multiple lines.ENDTEST3This is a test of a very long line. It should be broken up and put onto multiple lines.END This is a test of a very long line. It should be broken up and put onto multiple lines.ENDTEST4This is a test of a very long line. It should be broken up and put onto multiple lines.END This is a test of a very long line. It should be broken up and put onto multiple lines.ENDTEST5This is a test of a very long line. It should be broken up and put onto multiple This is a test of a very long line. It should be broken up and putEND This is a test of a very long line. It should be broken up and put onto multiple This is a test of a very long line. It should be broken up and putENDTEST611111111 22222222 33333333 44444444 55555555 66666666 77777777 888888888 999999999 aaaaaaaaa bbbbbbbbb ccccccccc ddddddddd eeeeeeeee ffffffff gggggggg hhhhhhhh iiiiiiii jjjjjjjj kkkkkkkk llllllll mmmmmmmmm nnnnnnnnn ooooooooo ppppppppp qqqqqqqqq rrrrrrrrr sssssssssEND 11111111 22222222 33333333 44444444 55555555 66666666 77777777 888888888 999999999 aaaaaaaaa bbbbbbbbb ccccccccc ddddddddd eeeeeeeee ffffffff gggggggg hhhhhhhh iiiiiiii jjjjjjjj kkkkkkkk llllllll mmmmmmmmm nnnnnnnnn ooooooooo ppppppppp qqqqqqqqq rrrrrrrrr sssssssssENDTEST7c3t1d0s6 c4t1d0s6 c5t1d0s6 c6t1d0s6 c7t1d0s6 c8t1d0s6 c9t1d0s6 c10t1d0s6 c11t1d0s6 c12t1d0s6 c13t1d0s6 c14t1d0s6 c15t1d0s6 c16t1d0s6 c3t1d0s0 c4t1d0s0 c5t1d0s0 c6t1d0s0 c7t1d0s0 c8t1d0s0 c9t1d0s0 c10t1d0s0 c11t1d0s0 c12t1d0s0 c13t1d0s0 c14t1d0s0 c15t1d0s0 c16t1d0s0END c3t1d0s6 c4t1d0s6 c5t1d0s6 c6t1d0s6 c7t1d0s6 c8t1d0s6 c9t1d0s6 c10t1d0s6 c11t1d0s6 c12t1d0s6 c13t1d0s6 c14t1d0s6 c15t1d0s6 c16t1d0s6 c3t1d0s0 c4t1d0s0 c5t1d0s0 c6t1d0s0 c7t1d0s0 c8t1d0s0 c9t1d0s0 c10t1d0s0 c11t1d0s0 c12t1d0s0 c13t1d0s0 c14t1d0s0 c15t1d0s0 c16t1d0s0ENDTEST8A test of a very very long word.a123456789b123456789c123456789d123456789e123456789f123456789g123456789g1234567END A test of a very very long word. a123456789b123456789c123456789d123456789e123456789f123456789g123456789g123 4567ENDTEST9A test of a very very long word. a123456789b123456789c123456789d123456789e123456789f123456789g123456789g1234567END A test of a very very long word. a123456789b123456789c123456789d123456789e123456789f123456789g123456789g123 4567ENDTEST10my mother once said"never eat paste my darling"would that I heededEND my mother once said "never eat paste my darling" would that I heededENDTEST11This_is_a_word_that_is_too_long_to_wrap_we_want_to_make_sure_that_the_program_does_not_crash_and_burnEND This_is_a_word_that_is_too_long_to_wrap_we_want_to_make_sure_that_the_pr ogram_does_not_crash_and_burnENDTEST12ThisHasBlankLinesEND This Has Blank LinesENDDONE$| = 1;print "1..", 2 +@tests, "\n";use Text::Wrap;$rerun = $ENV{'PERL_DL_NONLAZY'} ? 0 : 1;$tn = 1;@st = @tests;while (@st) { my $in = shift(@st); my $out = shift(@st); $in =~ s/^TEST(\d+)?\n//; my $back = wrap(' ', ' ', $in); if ($back eq $out) { print "ok $tn\n"; } elsif ($rerun) { my $oi = $in; foreach ($in, $back, $out) { s/\t/^I\t/gs; s/\n/\$\n/gs; } print "------------ input ------------\n"; print $in; print "\n------------ output -----------\n"; print $back; print "\n------------ expected ---------\n"; print $out; print "\n-------------------------------\n"; $Text::Wrap::debug = 1; wrap(' ', ' ', $oi); exit(1); } else { print "not ok $tn\n"; } $tn++;}@st = @tests;while(@st) { my $in = shift(@st); my $out = shift(@st); $in =~ s/^TEST(\d+)?\n//; my @in = split("\n", $in, -1); @in = ((map { "$_\n" } @in[0..$#in-1]), $in[-1]); my $back = wrap(' ', ' ', @in); if ($back eq $out) { print "ok $tn\n"; } elsif ($rerun) { my $oi = $in; foreach ($in, $back, $out) { s/\t/^I\t/gs; s/\n/\$\n/gs; } print "------------ input2 ------------\n"; print $in; print "\n------------ output2 -----------\n"; print $back; print "\n------------ expected2 ---------\n"; print $out; print "\n-------------------------------\n"; $Text::Wrap::debug = 1; wrap(' ', ' ', $oi); exit(1); } else { print "not ok $tn\n"; } $tn++;}$Text::Wrap::huge = 'overflow';my $tw = 'This_is_a_word_that_is_too_long_to_wrap_we_want_to_make_sure_that_the_program_does_not_crash_and_burn';my $w = wrap('zzz','yyy',$tw);print (($w eq "zzz$tw") ? "ok $tn\n" : "not ok $tn");$tn++;{ local $Text::Wrap::columns = 10; local $Text::Wrap::huge = "wrap"; print ((wrap("verylongindent", "", "foo") eq "verylongindent\nfoo") ? "ok $tn\n" : "not ok $tn"); $tn++;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -