prompt.t

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

T
57
字号
#!/usr/bin/perl -wBEGIN {    if( $ENV{PERL_CORE} ) {        chdir 't' if -d 't';        @INC = ('../lib', 'lib');    }    else {        unshift @INC, 't/lib';    }}use strict;use Test::More tests => 11;use ExtUtils::MakeMaker;use TieOut;use TieIn;eval q{    prompt();};like( $@, qr/^Not enough arguments for ExtUtils::MakeMaker::prompt/,                                            'no args' );eval {    prompt(undef);};like( $@, qr/^prompt function called without an argument/,                                             'undef message' );my $stdout = tie *STDOUT, 'TieOut' or die;$ENV{PERL_MM_USE_DEFAULT} = 1;is( prompt("Foo?"), '',     'no default' );like( $stdout->read,  qr/^Foo\?\s*\n$/,      '  question' );is( prompt("Foo?", undef), '',     'undef default' );like( $stdout->read,  qr/^Foo\?\s*\n$/,      '  question' );is( prompt("Foo?", 'Bar!'), 'Bar!',     'default' );like( $stdout->read,  qr/^Foo\? \[Bar!\]\s+Bar!\n$/,      '  question' );SKIP: {    skip "eof() doesn't honor ties in 5.5.3", 3 if $] < 5.006;    $ENV{PERL_MM_USE_DEFAULT} = 0;    close STDIN;    my $stdin = tie *STDIN, 'TieIn' or die;    $stdin->write("From STDIN");    ok( !-t STDIN,      'STDIN not a tty' );    is( prompt("Foo?", 'Bar!'), 'From STDIN',     'from STDIN' );    like( $stdout->read,  qr/^Foo\? \[Bar!\]\s*$/,      '  question' );}

⌨️ 快捷键说明

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