File: code.t

package info (click to toggle)
libmarc-charset-perl 1.35-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,476 kB
  • sloc: xml: 99,038; perl: 774; makefile: 9
file content (33 lines) | stat: -rw-r--r-- 910 bytes parent folder | download | duplicates (9)
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
use Test::More no_plan;
use strict;
use warnings;

use_ok('MARC::Charset::Code');

ONE_BYTE_CHAR: 
{
    my $code = MARC::Charset::Code->new();
    $code->name('UPPERCASE POLISH L');
    $code->marc('A1');
    $code->ucs('0141');
    $code->charset('45');

    is(chr(0x45). ':' . chr(0xA1), $code->marc8_hash_code(), 'marc8_hash_code()');
    is(int(0x0141), $code->utf8_hash_code(), 'utf8_hash_code()');
    is('EXTENDED_LATIN', $code->charset_name(), 'charset_name()');
}

THREE_BYTE_CHAR:
{
    my $code = MARC::Charset::Code->new();
    $code->name('EACC component character');
    $code->marc('212A45');
    $code->ucs('E8F2');
    $code->charset('31');

    is(chr(0x31).':'.chr(0x21).chr(0x2A).chr(0x45), $code->marc8_hash_code(), 
        'three byte hash_code()');
    is(int(0xE8F2), $code->utf8_hash_code(), 'utf_hash_code()');
    is('CJK', $code->charset_name(), 'three byte charset_name()');
}