File: Words.t

package info (click to toggle)
libmime-tools-perl 5.515-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,612 kB
  • sloc: perl: 6,349; makefile: 8
file content (47 lines) | stat: -rw-r--r-- 1,271 bytes parent folder | download | duplicates (8)
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
#!/usr/bin/perl -w
use strict;
use warnings;
use Test::More tests => 20;

use MIME::QuotedPrint qw(decode_qp);
use MIME::Words qw( :all );

{
    local($/) = '';
    open WORDS, "<testin/words.txt" or die "open: $!";
    while (<WORDS>) {
	s{\A\s+|\s+\Z}{}g;    # trim

	my ($isgood, $expect, $enc) = split /\n/, $_, 3;

	# Create the expected data
	$expect = eval $expect;

	my $dec = decode_mimewords($enc);
	if( $isgood eq 'GOOD' ) {
		ok( ! $@, 'No exceptions');
		is( $dec, $expect, "$enc produced correct output");
	} else {
		ok( $@, 'Got an exception as expected');
	}
    }
    close WORDS;
}

# Test case for ticket 5462
{
	my $source  = 'h h';
	my $encoded = encode_mimewords($source, ('Encode' => 'Q', 'Charset' => 'iso-8859-1'));
	my $decoded = decode_mimewords($encoded);
	is( $decoded, $source, 'encode/decode of string with spaces matches original');
}

# Second test case for ticket 5462
{
	my $source = 'это специальныйсабжект для теста системы тикетов';
	my $encoded = encode_mimewords($source, ('Encode' => 'Q', 'Charset' => 'utf8'));
	my $decoded = decode_mimewords($encoded);
	is( $decoded, $source, 'encode/decode of string with spaces matches original');
}

# vim: set encoding=utf8 fileencoding=utf8: