datasend.t

来自「source of perl for linux application,」· T 代码 · 共 160 行

T
160
字号
#!./perl -wBEGIN {    if ($ENV{PERL_CORE}) {	chdir 't' if -d 't';	@INC = '../lib';    }    if (!eval "require Socket") {	print "1..0 # no Socket\n"; exit 0;    }    if (ord('A') == 193 && !eval "require Convert::EBCDIC") {        print "1..0 # EBCDIC but no Convert::EBCDIC\n"; exit 0;    }}BEGIN {  package Foo;  use IO::File;  use Net::Cmd;  @ISA = qw(Net::Cmd IO::File);  sub timeout { 0 }  sub new {    my $fh = shift->new_tmpfile;    binmode($fh);    $fh;  }  sub output {    my $self = shift;    seek($self,0,0);    local $/ = undef;    scalar(<$self>);  }  sub response {    return Net::Cmd::CMD_OK;  }}(my $libnet_t = __FILE__) =~ s/datasend.t/libnet_t.pl/;require $libnet_t or die;print "1..51\n";sub check {  my $expect = pop;  my $cmd = Foo->new;  ok($cmd->datasend, 'datasend') unless @_;  foreach my $line (@_) {    ok($cmd->datasend($line), 'datasend');  }  ok($cmd->dataend, 'dataend');  is(    unpack("H*",$cmd->output),    unpack("H*",$expect)  );}my $cmd;check(  # nothing  ".\015\012");check(  "a",  "a\015\012.\015\012",);check(  "a\r",  "a\015\015\012.\015\012",);check(  "a\rb",  "a\015b\015\012.\015\012",);check(  "a\rb\n",  "a\015b\015\012.\015\012",);check(  "a\rb\n\n",  "a\015b\015\012\015\012.\015\012",);check(  "a\r",  "\nb",  "a\015\012b\015\012.\015\012",);check(  "a\r",  "\nb\n",  "a\015\012b\015\012.\015\012",);check(  "a\r",  "\nb\r\n",  "a\015\012b\015\012.\015\012",);check(  "a\r",  "\nb\r\n\n",  "a\015\012b\015\012\015\012.\015\012",);check(  "a\n.b\n",  "a\015\012..b\015\012.\015\012",);check(  ".a\n.b\n",  "..a\015\012..b\015\012.\015\012",);check(  ".a\n",  ".b\n",  "..a\015\012..b\015\012.\015\012",);check(  ".a",  ".b\n",  "..a.b\015\012.\015\012",);check(  "a\n.",  "a\015\012..\015\012.\015\012",);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?