summaryrefslogtreecommitdiff
path: root/ext/iconv/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ext/iconv/tests')
-rw-r--r--ext/iconv/tests/bug16069.phpt22
-rw-r--r--ext/iconv/tests/iconv_get_encoding_basic.phpt76
-rwxr-xr-xext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt2
3 files changed, 78 insertions, 22 deletions
diff --git a/ext/iconv/tests/bug16069.phpt b/ext/iconv/tests/bug16069.phpt
deleted file mode 100644
index 81fc235e2..000000000
--- a/ext/iconv/tests/bug16069.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-Bug #16069 (ICONV transliteration failure)
---SKIPIF--
-<?php
-include( 'skipif.inc' );
-if (@iconv('CP932', 'EUC-JP//TRANSLIT', "\x87\x6d")=='') {
- die("skip CP932 to EUC-JP translit not available\n");
-}
-?>
---INI--
-error_reporting=2039
---FILE--
-<?php
-/* include('test.inc'); */
-/* charset=CP932, KOI8-R */
-$str = "\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d\x87\x6d";
-print iconv( "CP932", "EUC-JP//TRANSLIT", $str );
-$str = "(\x9c\xe4\x9c)";
-print iconv( "KOI8-R", "EUC-JP//TRANSLIT", $str );
-?>
---EXPECT--
-ミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバールミリバール(°Д°)
diff --git a/ext/iconv/tests/iconv_get_encoding_basic.phpt b/ext/iconv/tests/iconv_get_encoding_basic.phpt
new file mode 100644
index 000000000..83efd1586
--- /dev/null
+++ b/ext/iconv/tests/iconv_get_encoding_basic.phpt
@@ -0,0 +1,76 @@
+--TEST--
+iconv_get_encoding() parameter tests
+--CREDITS--
+Oystein Rose <orose@redpill-linpro.com>
+#PHPTestFest2009 Norway 2009-06-09 \o/
+--SKIPIF--
+<?php if (!extension_loaded("iconv")) { echo 'skip extension not available'; } ?>
+--FILE--
+<?php
+
+iconv_set_encoding("internal_encoding", "UTF-8");
+iconv_set_encoding("output_encoding", "UTF-8");
+iconv_set_encoding("input_encoding", "UTF-8");
+
+var_dump( iconv_get_encoding('internal_encoding') );
+var_dump( iconv_get_encoding('output_encoding') );
+var_dump( iconv_get_encoding('input_encoding') );
+var_dump( iconv_get_encoding('all') );
+var_dump( iconv_get_encoding('foo') );
+var_dump( iconv_get_encoding() );
+
+
+
+iconv_set_encoding("internal_encoding", "ISO-8859-1");
+iconv_set_encoding("output_encoding", "ISO-8859-1");
+iconv_set_encoding("input_encoding", "ISO-8859-1");
+
+var_dump( iconv_get_encoding('internal_encoding') );
+var_dump( iconv_get_encoding('output_encoding') );
+var_dump( iconv_get_encoding('input_encoding') );
+var_dump( iconv_get_encoding('all') );
+var_dump( iconv_get_encoding('foo') );
+var_dump( iconv_get_encoding() );
+
+?>
+--EXPECT--
+string(5) "UTF-8"
+string(5) "UTF-8"
+string(5) "UTF-8"
+array(3) {
+ ["input_encoding"]=>
+ string(5) "UTF-8"
+ ["output_encoding"]=>
+ string(5) "UTF-8"
+ ["internal_encoding"]=>
+ string(5) "UTF-8"
+}
+bool(false)
+array(3) {
+ ["input_encoding"]=>
+ string(5) "UTF-8"
+ ["output_encoding"]=>
+ string(5) "UTF-8"
+ ["internal_encoding"]=>
+ string(5) "UTF-8"
+}
+string(10) "ISO-8859-1"
+string(10) "ISO-8859-1"
+string(10) "ISO-8859-1"
+array(3) {
+ ["input_encoding"]=>
+ string(10) "ISO-8859-1"
+ ["output_encoding"]=>
+ string(10) "ISO-8859-1"
+ ["internal_encoding"]=>
+ string(10) "ISO-8859-1"
+}
+bool(false)
+array(3) {
+ ["input_encoding"]=>
+ string(10) "ISO-8859-1"
+ ["output_encoding"]=>
+ string(10) "ISO-8859-1"
+ ["internal_encoding"]=>
+ string(10) "ISO-8859-1"
+}
diff --git a/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt b/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
index 8cf54b732..fd01d83ca 100755
--- a/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
+++ b/ext/iconv/tests/ob_iconv_handler-charset-length-cve-2007-4840.phpt
@@ -2,6 +2,8 @@
ob_iconv_handler() charset parameter length checks (CVE-2007-4840)
--SKIPIF--
<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
+--INI--
+memory_limit=256M
--FILE--
<?php
ini_set("iconv.output_encoding", str_repeat("a", 9000000));