File: release-50_cmd.t

package info (click to toggle)
libnet-cli-interact-perl 2.142720-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 420 kB
  • ctags: 127
  • sloc: perl: 1,907; makefile: 2
file content (44 lines) | stat: -rw-r--r-- 1,423 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl

BEGIN {
  unless ($ENV{RELEASE_TESTING}) {
    require Test::More;
    Test::More::plan(skip_all => 'these tests are for release candidate testing');
  }
}


use strict; use warnings FATAL => 'all';
use Test::More 0.88;

use Net::CLI::Interact;

my $s = new_ok('Net::CLI::Interact' => [{
    transport => 'Loopback',
    personality => 'testing',
    add_library => 't/phrasebook',
}]);

$s->set_prompt('TEST_PROMPT_TWO'); # wrong!
ok(! eval { $s->cmd('TEST COMMAND', {timeout => 0} ) }, 'timeout of zero not accepted');
ok(! eval { $s->cmd('TEST COMMAND', {timeout => 1} ) }, 'wrong prompt causes timeout');

# need to reinit the connection
ok(eval{$s->transport->disconnect;1}, 'transport reinitialized');

my $out = $s->cmd('TEST COMMAND', {match => ['TEST_PROMPT']});
like($out, qr/^\d{10}$/, 'sent data with named custom match');

my $out2 = $s->cmd('TEST COMMAND', {match => [qr/PROMPT>/]});
like($out2, qr/^\d{10}$/, 'sent data with regexp custom match');

my $outa = $s->cmd('TEST COMMAND', {match => 'TEST_PROMPT'});
like($outa, qr/^\d{10}$/, 'sent data with named custom match, coerced');

my $out2a = $s->cmd('TEST COMMAND', {match => qr/PROMPT>/});
like($out2a, qr/^\d{10}$/, 'sent data with regexp custom match, coerced');

my $out3 = $s->cmd('TEST COMMAND', {match => [qr/PROMPT>/, qr/ANOTHER PROMPT>/]});
like($out3, qr/^\d{10}$/, 'sent data with two regexp custom matches');

done_testing;