File: 04parse_format.t

package info (click to toggle)
libterm-termkey-perl 0.19-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 232 kB
  • sloc: perl: 370; makefile: 5
file content (52 lines) | stat: -rw-r--r-- 1,566 bytes parent folder | download
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
45
46
47
48
49
50
51
52
#!/usr/bin/perl

use v5.14;
use warnings;

use Test2::V0;

use Term::TermKey;

my $tk = Term::TermKey->new_abstract( "vt100", FLAG_NOTERMIOS );

my $key;

ok( defined( $key = $tk->parse_key( "A", 0 ) ), '->parse_key "A" defined' );

ok( $key->type_is_unicode,     '$key->type_is_unicode' );
is( $key->codepoint, ord("A"), '$key->codepoint' );
is( $key->modifiers, 0,        '$key->modifiers' );

is( $tk->format_key( $key, 0 ), "A", '->format_key yields "A"' );

ok( defined( $key = $tk->parse_key( "Ctrl-b", FORMAT_LONGMOD ) ), '->parse_key "Ctrl-b" defined' );

ok( $key->type_is_unicode,        '$key->type_is_unicode' );
is( $key->codepoint, ord("b"),    '$key->codepoint' );
is( $key->modifiers, KEYMOD_CTRL, '$key->modifiers' );

is( $tk->format_key( $key, FORMAT_LONGMOD ), "Ctrl-b", '->format_key yields "Ctrl-b"' );

ok( !defined( $key = $tk->parse_key( "NoSuchKey", 0 ) ), '->parse_key "NoSuchKey" not defined' );

{
   my $str = "bind Alt-V = verbose";
   pos($str) = 5;

   ok( defined( $key = $tk->parse_key_at_pos( $str, FORMAT_LONGMOD ) ), '->parse_key_at_pos defined' );

   ok( $key->type_is_unicode,       '$key->type_is_unicode' );
   is( $key->codepoint, ord("V"),   '$key->codepoint' );
   is( $key->modifiers, KEYMOD_ALT, '$key->modifiers' );

   is( pos($str), 10, 'pos($str) after ->parse_key_at_pos' );
}

{
   my $str = "Ctrl-Up = up-page";

   ok( defined( $key = $tk->parse_key_at_pos( $str, FORMAT_LONGMOD ) ), '->parse_key_at_pos defined upgrade' );
   is( pos($str), 7, 'pos($str) after ->parse_key_at_pos upgrade' );
}

done_testing;