Encode-Escape

 view release on metacpan or  search on metacpan

t/Encode-Escape-ASCII.t  view on Meta::CPAN

# its man page ( perldoc Test::More ) for help writing this test script.

ok defined &encode, "import Encode's encode() function";
ok defined &decode, "import Encode's decode() function";

$string = "\a\b\e\f\n\r\t\\\"\$\@";
$escaped = "\\a\\b\\e\\f\\n\\r\\t\\\\\\\"\\\$\\\@"; 

is	$string, 
	(decode 'ascii-escape', $escaped),
	'decoded character escape sequences';
is	$escaped, 
	(encode 'ascii-escape', $string), 
	'encoded character escape sequences';

$string_oct = "\0\00\000\11\011\100";
$escaped_oct = "\\0\\00\\000\\11\\011\\100";

is	$string_oct, 
	(decode 'ascii-escape', $escaped_oct), 
	'decoded octal escape sequences';

$string_hex = "\x09\x47\x57\x67\x77";
$escaped_hex = "\\x09\\x47\\x57\\x67\\x77";

is	$string_hex, 
	(decode 'ascii-escape', $escaped_hex), 
	'decoded hex escape sequences';

$string_non_printing 
	= "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e" .
	  "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e" .
	  "\x7f";
$escaped_non_printing 
	= "\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\a\\b\\t\\n\\x0b\\f\\r\\x0e" .
      "\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\e\\x1c\\x1d\\x1e" .
	  "\\x7f";

is $string_non_printing,
	(decode 'ascii-escape', $escaped_non_printing),
	'decoded non-printing characters';
is $escaped_non_printing,
	(encode 'ascii-escape', $string_non_printing),
	'encoded non-printing characters';


t/Encode-Escape-Unicode.t  view on Meta::CPAN

# its man page ( perldoc Test::More ) for help writing this test script.

ok defined &encode, "import Encode's encode() function";
ok defined &decode, "import Encode's decode() function";

$string = "\a\b\e\f\n\r\t\\\"\$\@";
$escaped = "\\a\\b\\e\\f\\n\\r\\t\\\\\\\"\\\$\\\@"; 

is	$string, 
	(decode 'unicode-escape', $escaped),
	'decoded character escape sequences';
is	$escaped, 
	(encode 'unicode-escape', $string), 
	'encoded character escape sequences';

$string_oct = "\0\00\000\1\01\001\11\011\100\111";
$escaped_oct = "\\0\\00\\000\\1\\01\\001\\11\\011\\100\\111";

is	$string_oct, 
	(decode 'unicode-escape', $escaped_oct), 
	'decoded octal escape sequences';

$string_hex = "\x27\x37\x47\x57\x67\x77\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7";
$escaped_hex = "\\x27\\x37\\x47\\x57\\x67\\x77\\x87\\x97\\xa7\\xb7\\xc7\\xd7\\xe7\\xf7";

is	$string_hex, 
	(decode 'unicode-escape', $escaped_hex), 
	'decoded hex escape sequences';

$string_non_printing 
	= "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e" .
	  "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e" .
	  "\x7f";
$escaped_non_printing 
	= "\\x{0000}\\x{0001}\\x{0002}\\x{0003}\\x{0004}\\x{0005}\\x{0006}\\a\\b\\t\\n\\x{000B}\\f\\r\\x{000E}" .
      "\\x{0010}\\x{0011}\\x{0012}\\x{0013}\\x{0014}\\x{0015}\\x{0016}\\x{0017}\\x{0018}\\x{0019}\\x{001A}\\e\\x{001C}\\x{001D}\\x{001E}" .
	  "\\x{007F}";

is $string_non_printing,
	(decode 'unicode-escape', $escaped_non_printing),
	'decoded non-printing characters';
is $escaped_non_printing,
	(encode 'unicode-escape', $string_non_printing),
	'encoded non-printing characters';



@string_unicode = (
	"English",
	"Deutsch",
	"Fran\x{00E7}ais",

t/Encode-Escape-Unicode.t  view on Meta::CPAN

	"Xitsonga",
	"Kirundi",
	"Afar",
	"Ebon",
	"Tsets\\x{00EA}hest\\x{00E2}hese",
	"Chamoru",
	"Oshiwambo",
); 

for (my $i = 0; $i < 240; ++$i) {
	is $string_unicode[$i], (decode 'unicode-escape', $escaped_unicode[$i]), "decoded unicode escape";
	is $escaped_unicode[$i], (encode 'unicode-escape', $string_unicode[$i]), "encoded unicode string";
}


Encode::Escape::Unicode->enmode('python');
Encode::Escape::Unicode->demode('python');

$string_unicode = "\x{0420}\x{0443}\x{0441}\x{0441}\x{043A}\x{0438}\x{0439}";
$escaped_python = "\\u0420\\u0443\\u0441\\u0441\\u043a\\u0438\\u0439";

is	$string_unicode,
	(decode 'unicode-escape', $escaped_python),
	"decoded python mode";
is	$escaped_python,
	(encode 'unicode-escape', $string_unicode),
	"encoded python mode";





( run in 0.272 second using v1.01-cache-2.11-cpan-0d8aa00de5b )