File: 05flags.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 (42 lines) | stat: -rw-r--r-- 959 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
#!/usr/bin/perl

use v5.14;
use warnings;

use Test2::V0;

use Term::TermKey qw( FLAG_UTF8 FLAG_RAW );

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

   is( $tk->get_flags & (FLAG_UTF8|FLAG_RAW), FLAG_UTF8, 'Explicit UTF-8 flag preserved' );
}

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

   is( $tk->get_flags & (FLAG_UTF8|FLAG_RAW), FLAG_RAW, 'Explicit RAW flag preserved' );
}

use constant STDIN_IS_TTY => -t STDIN;

# Force UTF-8 on
if( STDIN_IS_TTY ) {
   local @ENV{qw( LANG LC_MESSAGES LC_ALL )} = ( "en_GB.UTF-8" ) x 3;

   my $tk = Term::TermKey->new( \*STDIN, 0 );

   is( $tk->get_flags & (FLAG_UTF8|FLAG_RAW), FLAG_UTF8, 'Autodetected UTF-8' );
}

# Force UTF-8 off
if( STDIN_IS_TTY ) {
   local @ENV{qw( LANG LC_MESSAGES LC_ALL )} = ( "en_GB.ISO-8859-1" ) x 3;

   my $tk = Term::TermKey->new( \*STDIN, 0 );

   is( $tk->get_flags & (FLAG_UTF8|FLAG_RAW), FLAG_RAW, 'Autodetected RAW' );
}

done_testing;