diff options
author | Daniel Persson <daniel.persson@textalk.se> | 2015-09-01 21:53:09 +0200 |
---|---|---|
committer | Christoph M. Becker <cmb@php.net> | 2015-09-02 00:11:45 +0200 |
commit | c98b88aafe9d71839274f978e3e62e2a76a49e04 (patch) | |
tree | a4956b8d770970cf92086ab92789f4aca98b3a57 /ext/recode | |
parent | 874dcd8f737349551f8549ed3a142f557fd3d847 (diff) | |
download | php-git-c98b88aafe9d71839274f978e3e62e2a76a49e04.tar.gz |
Added two tests to check the main functionallity of recode extension
Diffstat (limited to 'ext/recode')
-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 |