diff options
| -rw-r--r-- | ext/recode/tests/001.phpt | 38 | ||||
| -rw-r--r-- | ext/recode/tests/002.phpt | 32 | ||||
| -rw-r--r-- | ext/recode/tests/html.raw | 1 |
3 files changed, 71 insertions, 0 deletions
diff --git a/ext/recode/tests/001.phpt b/ext/recode/tests/001.phpt new file mode 100644 index 0000000000..c03b44a811 --- /dev/null +++ b/ext/recode/tests/001.phpt @@ -0,0 +1,38 @@ +--TEST-- +recode_string() function - Testing string conversions between latin1, UTF-8 and html +--SKIPIF-- +<?php if (!extension_loaded("recode")) print "skip"; ?> +--FILE-- +<?php +function ascii2hex($ascii) { + $hex = ''; + for ($i = 0; $i < strlen($ascii); $i++) { + $byte = dechex(ord($ascii{$i})); + $byte = str_repeat('0', 2 - strlen($byte)).$byte; + $hex .= $byte . " "; + } + return $hex; +} + +function hex2ascii($hex){ + $ascii=''; + $hex=str_replace(" ", "", $hex); + for($i=0; $i<strlen($hex); $i=$i+2) { + $ascii .= chr(hexdec(substr($hex, $i, 2))); + } + return($ascii); +} + +$lat1_hex_org = '31 32 33 e5 e4 f6 61 62 63'; +$utf8_hex = ascii2hex(recode_string('lat1..utf-8', hex2ascii($lat1_hex_org))); +$html = recode_string('utf-8..html', hex2ascii($utf8_hex)); +$lat1_hex = ascii2hex(recode_string('html..lat1', $html)); + +echo "#" . $utf8_hex . "#\n"; +echo "#" . $html . "#\n"; +echo "#" . $lat1_hex . "#\n"; +?> +--EXPECT-- +#31 32 33 c3 a5 c3 a4 c3 b6 61 62 63 # +#123åäöabc# +#31 32 33 e5 e4 f6 61 62 63 #
\ No newline at end of file diff --git a/ext/recode/tests/002.phpt b/ext/recode/tests/002.phpt new file mode 100644 index 0000000000..fb9f286422 --- /dev/null +++ b/ext/recode/tests/002.phpt @@ -0,0 +1,32 @@ +--TEST-- +recode_string() function - Testing string conversions between latin1, UTF-8 and html +--SKIPIF-- +<?php if (!extension_loaded("recode")) print "skip"; ?> +--FILE-- +<?php +function ascii2hex($ascii) { + $hex = ''; + for ($i = 0; $i < strlen($ascii); $i++) { + $byte = dechex(ord($ascii{$i})); + $byte = str_repeat('0', 2 - strlen($byte)).$byte; + $hex .= $byte . " "; + } + return $hex; +} + +$html_file = fopen(realpath(dirname(__FILE__)) . '/html.raw', 'r'); +$utf_8_filepath = realpath(dirname(__FILE__)) . '/utf8.raw'; +$utf_8_file = fopen($utf_8_filepath, 'w+'); + +recode_file('html..utf8', $html_file, $utf_8_file); + +rewind($utf_8_file); +echo '#' . ascii2hex(fread($utf_8_file, filesize($utf_8_filepath))) . "#\n"; + +fclose($html_file); +fclose($utf_8_file); + +unlink($utf_8_filepath); +?> +--EXPECT-- +#31 32 33 c3 a5 c3 a4 c3 b6 61 62 63 # diff --git a/ext/recode/tests/html.raw b/ext/recode/tests/html.raw new file mode 100644 index 0000000000..64ecf1331f --- /dev/null +++ b/ext/recode/tests/html.raw @@ -0,0 +1 @@ +123åäöabc
\ No newline at end of file |
