summaryrefslogtreecommitdiff
path: root/ext/intl/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ext/intl/tests')
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/_files/es-bundle.txt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/_files/res_index.txt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/_files/resourcebundle.txt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/_files/resourcebundle/es.resbin384 -> 384 bytes
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/_files/resourcebundle/res_index.resbin128 -> 128 bytes
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/_files/resourcebundle/root.resbin388 -> 388 bytes
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/badargs.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/bug12887.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/bug14562.phpt0
-rw-r--r--ext/intl/tests/bug59597_64.phpt3
-rw-r--r--ext/intl/tests/bug62070.phpt2
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collation_customization.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_asort.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_compare.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_create.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_get_error_code.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_get_error_message.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_get_locale.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_get_set_attribute.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_get_set_strength.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_get_sort_key.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_sort.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/collator_sort_with_sort_keys.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_clone.phpt0
-rw-r--r--ext/intl/tests/dateformat_clone_bad_obj.phpt20
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_format.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_format_parse.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_get_datetype.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_get_locale.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_get_set_calendar.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_get_set_pattern.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_get_timetype.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_get_timezone_id.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_is_set_lenient.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_localtime.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_parse.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_parse_localtime_parsepos.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/dateformat_set_timezone_id.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_clone.phpt0
-rw-r--r--ext/intl/tests/formatter_clone_bad_obj.phpt20
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_fail.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_format.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_format_conv.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_format_currency.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_get_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_get_locale.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_get_set_attribute.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_get_set_pattern.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_get_set_symbol.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_get_set_text_attribute.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_parse.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/formatter_parse_currency.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/grapheme.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/idn.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/intl_error_name.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/intl_get_error_code.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/intl_get_error_message.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/intl_is_failure.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_accept.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_compose_locale.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_filter_matches.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_all_variants.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_default.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_display_language.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_display_name.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_display_region.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_display_script.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_display_variant.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_keywords.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_primary_language.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_region.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_get_script.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_lookup.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_parse_locale.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/locale_set_default.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/msgfmt_clone.phpt0
-rw-r--r--ext/intl/tests/msgfmt_clone_bad_obj.phpt20
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/msgfmt_fail.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/msgfmt_format.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/msgfmt_get_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/msgfmt_get_locale.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/msgfmt_get_set_pattern.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/msgfmt_parse.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/normalizer_normalize.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/regression_sort_and_cow.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/regression_sort_eq.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/regression_sortwsk_and_cow.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/regression_sortwsk_eq.phpt0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/resourcebundle.build0
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/resourcebundle_locales.phpt0
-rw-r--r--ext/intl/tests/symfony_format_type_double_intl1.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_double_intl2.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_double_intl3.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_double_intl4.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int32_intl1.phpt49
-rw-r--r--ext/intl/tests/symfony_format_type_int32_intl2.phpt33
-rw-r--r--ext/intl/tests/symfony_format_type_int32_intl3.phpt32
-rw-r--r--ext/intl/tests/symfony_format_type_int32_intl4.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int32_intl5.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int32_intl6.phpt32
-rw-r--r--ext/intl/tests/symfony_format_type_int32_intl7.phpt32
-rw-r--r--ext/intl/tests/symfony_format_type_int64_intl1.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int64_intl2.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int64_intl3.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int64_intl4.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int64_intl5.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int64_intl6.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int64_intl7.phpt30
-rw-r--r--ext/intl/tests/symfony_format_type_int64_intl8.phpt30
-rw-r--r--[-rwxr-xr-x]ext/intl/tests/ut_common.inc0
111 files changed, 661 insertions, 2 deletions
diff --git a/ext/intl/tests/_files/es-bundle.txt b/ext/intl/tests/_files/es-bundle.txt
index 46399a7717..46399a7717 100755..100644
--- a/ext/intl/tests/_files/es-bundle.txt
+++ b/ext/intl/tests/_files/es-bundle.txt
diff --git a/ext/intl/tests/_files/res_index.txt b/ext/intl/tests/_files/res_index.txt
index a39bea58e5..a39bea58e5 100755..100644
--- a/ext/intl/tests/_files/res_index.txt
+++ b/ext/intl/tests/_files/res_index.txt
diff --git a/ext/intl/tests/_files/resourcebundle.txt b/ext/intl/tests/_files/resourcebundle.txt
index 5b081da6cc..5b081da6cc 100755..100644
--- a/ext/intl/tests/_files/resourcebundle.txt
+++ b/ext/intl/tests/_files/resourcebundle.txt
diff --git a/ext/intl/tests/_files/resourcebundle/es.res b/ext/intl/tests/_files/resourcebundle/es.res
index f9d891d6ba..f9d891d6ba 100755..100644
--- a/ext/intl/tests/_files/resourcebundle/es.res
+++ b/ext/intl/tests/_files/resourcebundle/es.res
Binary files differ
diff --git a/ext/intl/tests/_files/resourcebundle/res_index.res b/ext/intl/tests/_files/resourcebundle/res_index.res
index 9dd3df2de3..9dd3df2de3 100755..100644
--- a/ext/intl/tests/_files/resourcebundle/res_index.res
+++ b/ext/intl/tests/_files/resourcebundle/res_index.res
Binary files differ
diff --git a/ext/intl/tests/_files/resourcebundle/root.res b/ext/intl/tests/_files/resourcebundle/root.res
index 62cb48c457..62cb48c457 100755..100644
--- a/ext/intl/tests/_files/resourcebundle/root.res
+++ b/ext/intl/tests/_files/resourcebundle/root.res
Binary files differ
diff --git a/ext/intl/tests/badargs.phpt b/ext/intl/tests/badargs.phpt
index 9232bbf0c1..9232bbf0c1 100755..100644
--- a/ext/intl/tests/badargs.phpt
+++ b/ext/intl/tests/badargs.phpt
diff --git a/ext/intl/tests/bug12887.phpt b/ext/intl/tests/bug12887.phpt
index e2fc194944..e2fc194944 100755..100644
--- a/ext/intl/tests/bug12887.phpt
+++ b/ext/intl/tests/bug12887.phpt
diff --git a/ext/intl/tests/bug14562.phpt b/ext/intl/tests/bug14562.phpt
index 3256268405..3256268405 100755..100644
--- a/ext/intl/tests/bug14562.phpt
+++ b/ext/intl/tests/bug14562.phpt
diff --git a/ext/intl/tests/bug59597_64.phpt b/ext/intl/tests/bug59597_64.phpt
index 4b96bf72e9..eb70995a25 100644
--- a/ext/intl/tests/bug59597_64.phpt
+++ b/ext/intl/tests/bug59597_64.phpt
@@ -15,7 +15,6 @@ $value = $formatter->parse('2147483650', \NumberFormatter::TYPE_INT64);
var_dump($value);
?>
---EXPECTREGEX--
+--EXPECT--
int(2147483647)
int(2147483650)
-
diff --git a/ext/intl/tests/bug62070.phpt b/ext/intl/tests/bug62070.phpt
index a466b05c24..3ab0078d70 100644
--- a/ext/intl/tests/bug62070.phpt
+++ b/ext/intl/tests/bug62070.phpt
@@ -4,6 +4,8 @@ Bug #62070: Collator::getSortKey() returns garbage
<?php
if (!extension_loaded('intl'))
die('skip intl extension not enabled');
+if (version_compare(INTL_ICU_VERSION, '49') < 0)
+ die('skip ICU >= 49 only');
--FILE--
<?php
$s1 = 'Hello';
diff --git a/ext/intl/tests/collation_customization.phpt b/ext/intl/tests/collation_customization.phpt
index e380380639..e380380639 100755..100644
--- a/ext/intl/tests/collation_customization.phpt
+++ b/ext/intl/tests/collation_customization.phpt
diff --git a/ext/intl/tests/collator_asort.phpt b/ext/intl/tests/collator_asort.phpt
index a614ddc3f8..a614ddc3f8 100755..100644
--- a/ext/intl/tests/collator_asort.phpt
+++ b/ext/intl/tests/collator_asort.phpt
diff --git a/ext/intl/tests/collator_compare.phpt b/ext/intl/tests/collator_compare.phpt
index f10b5708f4..f10b5708f4 100755..100644
--- a/ext/intl/tests/collator_compare.phpt
+++ b/ext/intl/tests/collator_compare.phpt
diff --git a/ext/intl/tests/collator_create.phpt b/ext/intl/tests/collator_create.phpt
index eed8cf1b23..eed8cf1b23 100755..100644
--- a/ext/intl/tests/collator_create.phpt
+++ b/ext/intl/tests/collator_create.phpt
diff --git a/ext/intl/tests/collator_get_error_code.phpt b/ext/intl/tests/collator_get_error_code.phpt
index 45a8e710f4..45a8e710f4 100755..100644
--- a/ext/intl/tests/collator_get_error_code.phpt
+++ b/ext/intl/tests/collator_get_error_code.phpt
diff --git a/ext/intl/tests/collator_get_error_message.phpt b/ext/intl/tests/collator_get_error_message.phpt
index af4b9c3821..af4b9c3821 100755..100644
--- a/ext/intl/tests/collator_get_error_message.phpt
+++ b/ext/intl/tests/collator_get_error_message.phpt
diff --git a/ext/intl/tests/collator_get_locale.phpt b/ext/intl/tests/collator_get_locale.phpt
index 68440f3ee7..68440f3ee7 100755..100644
--- a/ext/intl/tests/collator_get_locale.phpt
+++ b/ext/intl/tests/collator_get_locale.phpt
diff --git a/ext/intl/tests/collator_get_set_attribute.phpt b/ext/intl/tests/collator_get_set_attribute.phpt
index b234790f81..b234790f81 100755..100644
--- a/ext/intl/tests/collator_get_set_attribute.phpt
+++ b/ext/intl/tests/collator_get_set_attribute.phpt
diff --git a/ext/intl/tests/collator_get_set_strength.phpt b/ext/intl/tests/collator_get_set_strength.phpt
index 1f779441fa..1f779441fa 100755..100644
--- a/ext/intl/tests/collator_get_set_strength.phpt
+++ b/ext/intl/tests/collator_get_set_strength.phpt
diff --git a/ext/intl/tests/collator_get_sort_key.phpt b/ext/intl/tests/collator_get_sort_key.phpt
index a9c4d71348..a9c4d71348 100755..100644
--- a/ext/intl/tests/collator_get_sort_key.phpt
+++ b/ext/intl/tests/collator_get_sort_key.phpt
diff --git a/ext/intl/tests/collator_sort.phpt b/ext/intl/tests/collator_sort.phpt
index 5cefe2fd7c..5cefe2fd7c 100755..100644
--- a/ext/intl/tests/collator_sort.phpt
+++ b/ext/intl/tests/collator_sort.phpt
diff --git a/ext/intl/tests/collator_sort_with_sort_keys.phpt b/ext/intl/tests/collator_sort_with_sort_keys.phpt
index 2f489d745c..2f489d745c 100755..100644
--- a/ext/intl/tests/collator_sort_with_sort_keys.phpt
+++ b/ext/intl/tests/collator_sort_with_sort_keys.phpt
diff --git a/ext/intl/tests/dateformat_clone.phpt b/ext/intl/tests/dateformat_clone.phpt
index f060444741..f060444741 100755..100644
--- a/ext/intl/tests/dateformat_clone.phpt
+++ b/ext/intl/tests/dateformat_clone.phpt
diff --git a/ext/intl/tests/dateformat_clone_bad_obj.phpt b/ext/intl/tests/dateformat_clone_bad_obj.phpt
new file mode 100644
index 0000000000..5e12b96ae8
--- /dev/null
+++ b/ext/intl/tests/dateformat_clone_bad_obj.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Cloning unconstructed IntlDateFormatter
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+class A extends IntlDateFormatter {
+ function __construct() {}
+}
+
+$a = new A;
+try {
+ $b = clone $a;
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+--EXPECTF--
+string(%s) "Cannot clone unconstructed IntlDateFormatter"
diff --git a/ext/intl/tests/dateformat_format.phpt b/ext/intl/tests/dateformat_format.phpt
index e5548196d1..e5548196d1 100755..100644
--- a/ext/intl/tests/dateformat_format.phpt
+++ b/ext/intl/tests/dateformat_format.phpt
diff --git a/ext/intl/tests/dateformat_format_parse.phpt b/ext/intl/tests/dateformat_format_parse.phpt
index bd41d715b9..bd41d715b9 100755..100644
--- a/ext/intl/tests/dateformat_format_parse.phpt
+++ b/ext/intl/tests/dateformat_format_parse.phpt
diff --git a/ext/intl/tests/dateformat_get_datetype.phpt b/ext/intl/tests/dateformat_get_datetype.phpt
index 24d03898ea..24d03898ea 100755..100644
--- a/ext/intl/tests/dateformat_get_datetype.phpt
+++ b/ext/intl/tests/dateformat_get_datetype.phpt
diff --git a/ext/intl/tests/dateformat_get_locale.phpt b/ext/intl/tests/dateformat_get_locale.phpt
index 17fcca3551..17fcca3551 100755..100644
--- a/ext/intl/tests/dateformat_get_locale.phpt
+++ b/ext/intl/tests/dateformat_get_locale.phpt
diff --git a/ext/intl/tests/dateformat_get_set_calendar.phpt b/ext/intl/tests/dateformat_get_set_calendar.phpt
index bfd4e578e1..bfd4e578e1 100755..100644
--- a/ext/intl/tests/dateformat_get_set_calendar.phpt
+++ b/ext/intl/tests/dateformat_get_set_calendar.phpt
diff --git a/ext/intl/tests/dateformat_get_set_pattern.phpt b/ext/intl/tests/dateformat_get_set_pattern.phpt
index bd541c1c93..bd541c1c93 100755..100644
--- a/ext/intl/tests/dateformat_get_set_pattern.phpt
+++ b/ext/intl/tests/dateformat_get_set_pattern.phpt
diff --git a/ext/intl/tests/dateformat_get_timetype.phpt b/ext/intl/tests/dateformat_get_timetype.phpt
index 2ddc1172b1..2ddc1172b1 100755..100644
--- a/ext/intl/tests/dateformat_get_timetype.phpt
+++ b/ext/intl/tests/dateformat_get_timetype.phpt
diff --git a/ext/intl/tests/dateformat_get_timezone_id.phpt b/ext/intl/tests/dateformat_get_timezone_id.phpt
index 80cbdbbf0f..80cbdbbf0f 100755..100644
--- a/ext/intl/tests/dateformat_get_timezone_id.phpt
+++ b/ext/intl/tests/dateformat_get_timezone_id.phpt
diff --git a/ext/intl/tests/dateformat_is_set_lenient.phpt b/ext/intl/tests/dateformat_is_set_lenient.phpt
index 8492a2e2a8..8492a2e2a8 100755..100644
--- a/ext/intl/tests/dateformat_is_set_lenient.phpt
+++ b/ext/intl/tests/dateformat_is_set_lenient.phpt
diff --git a/ext/intl/tests/dateformat_localtime.phpt b/ext/intl/tests/dateformat_localtime.phpt
index 79f297db74..79f297db74 100755..100644
--- a/ext/intl/tests/dateformat_localtime.phpt
+++ b/ext/intl/tests/dateformat_localtime.phpt
diff --git a/ext/intl/tests/dateformat_parse.phpt b/ext/intl/tests/dateformat_parse.phpt
index ff59773488..ff59773488 100755..100644
--- a/ext/intl/tests/dateformat_parse.phpt
+++ b/ext/intl/tests/dateformat_parse.phpt
diff --git a/ext/intl/tests/dateformat_parse_localtime_parsepos.phpt b/ext/intl/tests/dateformat_parse_localtime_parsepos.phpt
index 03f99f1d92..03f99f1d92 100755..100644
--- a/ext/intl/tests/dateformat_parse_localtime_parsepos.phpt
+++ b/ext/intl/tests/dateformat_parse_localtime_parsepos.phpt
diff --git a/ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt b/ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt
index 0f26643163..0f26643163 100755..100644
--- a/ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt
+++ b/ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt
diff --git a/ext/intl/tests/dateformat_set_timezone_id.phpt b/ext/intl/tests/dateformat_set_timezone_id.phpt
index 72a9230bdf..72a9230bdf 100755..100644
--- a/ext/intl/tests/dateformat_set_timezone_id.phpt
+++ b/ext/intl/tests/dateformat_set_timezone_id.phpt
diff --git a/ext/intl/tests/formatter_clone.phpt b/ext/intl/tests/formatter_clone.phpt
index 4e8d096244..4e8d096244 100755..100644
--- a/ext/intl/tests/formatter_clone.phpt
+++ b/ext/intl/tests/formatter_clone.phpt
diff --git a/ext/intl/tests/formatter_clone_bad_obj.phpt b/ext/intl/tests/formatter_clone_bad_obj.phpt
new file mode 100644
index 0000000000..ef7b28a546
--- /dev/null
+++ b/ext/intl/tests/formatter_clone_bad_obj.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Cloning unconstructed numfmt
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+class A extends NumberFormatter {
+ function __construct() {}
+}
+
+$a = new A;
+try {
+ $b = clone $a;
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+--EXPECTF--
+string(42) "Cannot clone unconstructed NumberFormatter"
diff --git a/ext/intl/tests/formatter_fail.phpt b/ext/intl/tests/formatter_fail.phpt
index 295f011008..295f011008 100755..100644
--- a/ext/intl/tests/formatter_fail.phpt
+++ b/ext/intl/tests/formatter_fail.phpt
diff --git a/ext/intl/tests/formatter_format.phpt b/ext/intl/tests/formatter_format.phpt
index 334ef49567..334ef49567 100755..100644
--- a/ext/intl/tests/formatter_format.phpt
+++ b/ext/intl/tests/formatter_format.phpt
diff --git a/ext/intl/tests/formatter_format_conv.phpt b/ext/intl/tests/formatter_format_conv.phpt
index e1d25ef3d9..e1d25ef3d9 100755..100644
--- a/ext/intl/tests/formatter_format_conv.phpt
+++ b/ext/intl/tests/formatter_format_conv.phpt
diff --git a/ext/intl/tests/formatter_format_currency.phpt b/ext/intl/tests/formatter_format_currency.phpt
index be219a5baa..be219a5baa 100755..100644
--- a/ext/intl/tests/formatter_format_currency.phpt
+++ b/ext/intl/tests/formatter_format_currency.phpt
diff --git a/ext/intl/tests/formatter_get_error.phpt b/ext/intl/tests/formatter_get_error.phpt
index c7b3972709..c7b3972709 100755..100644
--- a/ext/intl/tests/formatter_get_error.phpt
+++ b/ext/intl/tests/formatter_get_error.phpt
diff --git a/ext/intl/tests/formatter_get_locale.phpt b/ext/intl/tests/formatter_get_locale.phpt
index 3d4fb2ae4e..3d4fb2ae4e 100755..100644
--- a/ext/intl/tests/formatter_get_locale.phpt
+++ b/ext/intl/tests/formatter_get_locale.phpt
diff --git a/ext/intl/tests/formatter_get_set_attribute.phpt b/ext/intl/tests/formatter_get_set_attribute.phpt
index 51c7d3658a..51c7d3658a 100755..100644
--- a/ext/intl/tests/formatter_get_set_attribute.phpt
+++ b/ext/intl/tests/formatter_get_set_attribute.phpt
diff --git a/ext/intl/tests/formatter_get_set_pattern.phpt b/ext/intl/tests/formatter_get_set_pattern.phpt
index 0ae5b308b2..0ae5b308b2 100755..100644
--- a/ext/intl/tests/formatter_get_set_pattern.phpt
+++ b/ext/intl/tests/formatter_get_set_pattern.phpt
diff --git a/ext/intl/tests/formatter_get_set_symbol.phpt b/ext/intl/tests/formatter_get_set_symbol.phpt
index 050e8cf9e1..050e8cf9e1 100755..100644
--- a/ext/intl/tests/formatter_get_set_symbol.phpt
+++ b/ext/intl/tests/formatter_get_set_symbol.phpt
diff --git a/ext/intl/tests/formatter_get_set_text_attribute.phpt b/ext/intl/tests/formatter_get_set_text_attribute.phpt
index 539ff52322..539ff52322 100755..100644
--- a/ext/intl/tests/formatter_get_set_text_attribute.phpt
+++ b/ext/intl/tests/formatter_get_set_text_attribute.phpt
diff --git a/ext/intl/tests/formatter_parse.phpt b/ext/intl/tests/formatter_parse.phpt
index 2ab9cce3b6..2ab9cce3b6 100755..100644
--- a/ext/intl/tests/formatter_parse.phpt
+++ b/ext/intl/tests/formatter_parse.phpt
diff --git a/ext/intl/tests/formatter_parse_currency.phpt b/ext/intl/tests/formatter_parse_currency.phpt
index 4ebd1a4174..4ebd1a4174 100755..100644
--- a/ext/intl/tests/formatter_parse_currency.phpt
+++ b/ext/intl/tests/formatter_parse_currency.phpt
diff --git a/ext/intl/tests/grapheme.phpt b/ext/intl/tests/grapheme.phpt
index def9110d0d..def9110d0d 100755..100644
--- a/ext/intl/tests/grapheme.phpt
+++ b/ext/intl/tests/grapheme.phpt
diff --git a/ext/intl/tests/idn.phpt b/ext/intl/tests/idn.phpt
index fde822a560..fde822a560 100755..100644
--- a/ext/intl/tests/idn.phpt
+++ b/ext/intl/tests/idn.phpt
diff --git a/ext/intl/tests/intl_error_name.phpt b/ext/intl/tests/intl_error_name.phpt
index 8f5b2dc198..8f5b2dc198 100755..100644
--- a/ext/intl/tests/intl_error_name.phpt
+++ b/ext/intl/tests/intl_error_name.phpt
diff --git a/ext/intl/tests/intl_get_error_code.phpt b/ext/intl/tests/intl_get_error_code.phpt
index 6cd361ba71..6cd361ba71 100755..100644
--- a/ext/intl/tests/intl_get_error_code.phpt
+++ b/ext/intl/tests/intl_get_error_code.phpt
diff --git a/ext/intl/tests/intl_get_error_message.phpt b/ext/intl/tests/intl_get_error_message.phpt
index f81b5c03d5..f81b5c03d5 100755..100644
--- a/ext/intl/tests/intl_get_error_message.phpt
+++ b/ext/intl/tests/intl_get_error_message.phpt
diff --git a/ext/intl/tests/intl_is_failure.phpt b/ext/intl/tests/intl_is_failure.phpt
index e07df8f2c9..e07df8f2c9 100755..100644
--- a/ext/intl/tests/intl_is_failure.phpt
+++ b/ext/intl/tests/intl_is_failure.phpt
diff --git a/ext/intl/tests/locale_accept.phpt b/ext/intl/tests/locale_accept.phpt
index 923571f8f0..923571f8f0 100755..100644
--- a/ext/intl/tests/locale_accept.phpt
+++ b/ext/intl/tests/locale_accept.phpt
diff --git a/ext/intl/tests/locale_compose_locale.phpt b/ext/intl/tests/locale_compose_locale.phpt
index 2d0ca54e74..2d0ca54e74 100755..100644
--- a/ext/intl/tests/locale_compose_locale.phpt
+++ b/ext/intl/tests/locale_compose_locale.phpt
diff --git a/ext/intl/tests/locale_filter_matches.phpt b/ext/intl/tests/locale_filter_matches.phpt
index cada499b9a..cada499b9a 100755..100644
--- a/ext/intl/tests/locale_filter_matches.phpt
+++ b/ext/intl/tests/locale_filter_matches.phpt
diff --git a/ext/intl/tests/locale_get_all_variants.phpt b/ext/intl/tests/locale_get_all_variants.phpt
index 864b8a2e1a..864b8a2e1a 100755..100644
--- a/ext/intl/tests/locale_get_all_variants.phpt
+++ b/ext/intl/tests/locale_get_all_variants.phpt
diff --git a/ext/intl/tests/locale_get_default.phpt b/ext/intl/tests/locale_get_default.phpt
index 57c46ccd2b..57c46ccd2b 100755..100644
--- a/ext/intl/tests/locale_get_default.phpt
+++ b/ext/intl/tests/locale_get_default.phpt
diff --git a/ext/intl/tests/locale_get_display_language.phpt b/ext/intl/tests/locale_get_display_language.phpt
index 2e00056284..2e00056284 100755..100644
--- a/ext/intl/tests/locale_get_display_language.phpt
+++ b/ext/intl/tests/locale_get_display_language.phpt
diff --git a/ext/intl/tests/locale_get_display_name.phpt b/ext/intl/tests/locale_get_display_name.phpt
index b128734277..b128734277 100755..100644
--- a/ext/intl/tests/locale_get_display_name.phpt
+++ b/ext/intl/tests/locale_get_display_name.phpt
diff --git a/ext/intl/tests/locale_get_display_region.phpt b/ext/intl/tests/locale_get_display_region.phpt
index 9a6e75d94a..9a6e75d94a 100755..100644
--- a/ext/intl/tests/locale_get_display_region.phpt
+++ b/ext/intl/tests/locale_get_display_region.phpt
diff --git a/ext/intl/tests/locale_get_display_script.phpt b/ext/intl/tests/locale_get_display_script.phpt
index 0440dfb204..0440dfb204 100755..100644
--- a/ext/intl/tests/locale_get_display_script.phpt
+++ b/ext/intl/tests/locale_get_display_script.phpt
diff --git a/ext/intl/tests/locale_get_display_variant.phpt b/ext/intl/tests/locale_get_display_variant.phpt
index 9f72ee0498..9f72ee0498 100755..100644
--- a/ext/intl/tests/locale_get_display_variant.phpt
+++ b/ext/intl/tests/locale_get_display_variant.phpt
diff --git a/ext/intl/tests/locale_get_keywords.phpt b/ext/intl/tests/locale_get_keywords.phpt
index 4a09f54d36..4a09f54d36 100755..100644
--- a/ext/intl/tests/locale_get_keywords.phpt
+++ b/ext/intl/tests/locale_get_keywords.phpt
diff --git a/ext/intl/tests/locale_get_primary_language.phpt b/ext/intl/tests/locale_get_primary_language.phpt
index bc92e9266c..bc92e9266c 100755..100644
--- a/ext/intl/tests/locale_get_primary_language.phpt
+++ b/ext/intl/tests/locale_get_primary_language.phpt
diff --git a/ext/intl/tests/locale_get_region.phpt b/ext/intl/tests/locale_get_region.phpt
index 0baae49932..0baae49932 100755..100644
--- a/ext/intl/tests/locale_get_region.phpt
+++ b/ext/intl/tests/locale_get_region.phpt
diff --git a/ext/intl/tests/locale_get_script.phpt b/ext/intl/tests/locale_get_script.phpt
index 6a794fdb12..6a794fdb12 100755..100644
--- a/ext/intl/tests/locale_get_script.phpt
+++ b/ext/intl/tests/locale_get_script.phpt
diff --git a/ext/intl/tests/locale_lookup.phpt b/ext/intl/tests/locale_lookup.phpt
index f0affafa6f..f0affafa6f 100755..100644
--- a/ext/intl/tests/locale_lookup.phpt
+++ b/ext/intl/tests/locale_lookup.phpt
diff --git a/ext/intl/tests/locale_parse_locale.phpt b/ext/intl/tests/locale_parse_locale.phpt
index c8aa2f4123..c8aa2f4123 100755..100644
--- a/ext/intl/tests/locale_parse_locale.phpt
+++ b/ext/intl/tests/locale_parse_locale.phpt
diff --git a/ext/intl/tests/locale_set_default.phpt b/ext/intl/tests/locale_set_default.phpt
index 7debf4d3de..7debf4d3de 100755..100644
--- a/ext/intl/tests/locale_set_default.phpt
+++ b/ext/intl/tests/locale_set_default.phpt
diff --git a/ext/intl/tests/msgfmt_clone.phpt b/ext/intl/tests/msgfmt_clone.phpt
index 9d8ea64442..9d8ea64442 100755..100644
--- a/ext/intl/tests/msgfmt_clone.phpt
+++ b/ext/intl/tests/msgfmt_clone.phpt
diff --git a/ext/intl/tests/msgfmt_clone_bad_obj.phpt b/ext/intl/tests/msgfmt_clone_bad_obj.phpt
new file mode 100644
index 0000000000..48321094d1
--- /dev/null
+++ b/ext/intl/tests/msgfmt_clone_bad_obj.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Cloning unconstructed MessageFormatter
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+class A extends MessageFormatter {
+ function __construct() {}
+}
+
+$a = new A;
+try {
+ $b = clone $a;
+} catch (Exception $e) {
+ var_dump($e->getMessage());
+}
+
+--EXPECTF--
+string(%d) "Cannot clone unconstructed MessageFormatter"
diff --git a/ext/intl/tests/msgfmt_fail.phpt b/ext/intl/tests/msgfmt_fail.phpt
index bffb71c56d..bffb71c56d 100755..100644
--- a/ext/intl/tests/msgfmt_fail.phpt
+++ b/ext/intl/tests/msgfmt_fail.phpt
diff --git a/ext/intl/tests/msgfmt_format.phpt b/ext/intl/tests/msgfmt_format.phpt
index c1bf5e9db6..c1bf5e9db6 100755..100644
--- a/ext/intl/tests/msgfmt_format.phpt
+++ b/ext/intl/tests/msgfmt_format.phpt
diff --git a/ext/intl/tests/msgfmt_get_error.phpt b/ext/intl/tests/msgfmt_get_error.phpt
index 015c50d465..015c50d465 100755..100644
--- a/ext/intl/tests/msgfmt_get_error.phpt
+++ b/ext/intl/tests/msgfmt_get_error.phpt
diff --git a/ext/intl/tests/msgfmt_get_locale.phpt b/ext/intl/tests/msgfmt_get_locale.phpt
index 4c2651fe2b..4c2651fe2b 100755..100644
--- a/ext/intl/tests/msgfmt_get_locale.phpt
+++ b/ext/intl/tests/msgfmt_get_locale.phpt
diff --git a/ext/intl/tests/msgfmt_get_set_pattern.phpt b/ext/intl/tests/msgfmt_get_set_pattern.phpt
index 67b1aca459..67b1aca459 100755..100644
--- a/ext/intl/tests/msgfmt_get_set_pattern.phpt
+++ b/ext/intl/tests/msgfmt_get_set_pattern.phpt
diff --git a/ext/intl/tests/msgfmt_parse.phpt b/ext/intl/tests/msgfmt_parse.phpt
index b9ec36374b..b9ec36374b 100755..100644
--- a/ext/intl/tests/msgfmt_parse.phpt
+++ b/ext/intl/tests/msgfmt_parse.phpt
diff --git a/ext/intl/tests/normalizer_normalize.phpt b/ext/intl/tests/normalizer_normalize.phpt
index 238b7423cf..238b7423cf 100755..100644
--- a/ext/intl/tests/normalizer_normalize.phpt
+++ b/ext/intl/tests/normalizer_normalize.phpt
diff --git a/ext/intl/tests/regression_sort_and_cow.phpt b/ext/intl/tests/regression_sort_and_cow.phpt
index d7ff797705..d7ff797705 100755..100644
--- a/ext/intl/tests/regression_sort_and_cow.phpt
+++ b/ext/intl/tests/regression_sort_and_cow.phpt
diff --git a/ext/intl/tests/regression_sort_eq.phpt b/ext/intl/tests/regression_sort_eq.phpt
index 8676c5c931..8676c5c931 100755..100644
--- a/ext/intl/tests/regression_sort_eq.phpt
+++ b/ext/intl/tests/regression_sort_eq.phpt
diff --git a/ext/intl/tests/regression_sortwsk_and_cow.phpt b/ext/intl/tests/regression_sortwsk_and_cow.phpt
index a4953232ef..a4953232ef 100755..100644
--- a/ext/intl/tests/regression_sortwsk_and_cow.phpt
+++ b/ext/intl/tests/regression_sortwsk_and_cow.phpt
diff --git a/ext/intl/tests/regression_sortwsk_eq.phpt b/ext/intl/tests/regression_sortwsk_eq.phpt
index 945bac300a..945bac300a 100755..100644
--- a/ext/intl/tests/regression_sortwsk_eq.phpt
+++ b/ext/intl/tests/regression_sortwsk_eq.phpt
diff --git a/ext/intl/tests/resourcebundle.build b/ext/intl/tests/resourcebundle.build
index 6a7eeae5eb..6a7eeae5eb 100755..100644
--- a/ext/intl/tests/resourcebundle.build
+++ b/ext/intl/tests/resourcebundle.build
diff --git a/ext/intl/tests/resourcebundle_locales.phpt b/ext/intl/tests/resourcebundle_locales.phpt
index e14a7e5aa1..e14a7e5aa1 100755..100644
--- a/ext/intl/tests/resourcebundle_locales.phpt
+++ b/ext/intl/tests/resourcebundle_locales.phpt
diff --git a/ext/intl/tests/symfony_format_type_double_intl1.phpt b/ext/intl/tests/symfony_format_type_double_intl1.phpt
new file mode 100644
index 0000000000..13a7ad761f
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_double_intl1.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeDoubleIntl #1
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeDoubleIntl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;i:1;i:2;s:1:"1";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeDoubleIntl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_DOUBLE);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ int(1)
+ [2]=>
+ string(1) "1"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_double_intl2.phpt b/ext/intl/tests/symfony_format_type_double_intl2.phpt
new file mode 100644
index 0000000000..6bff7cc355
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_double_intl2.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeDoubleIntl #2
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeDoubleIntl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:1.1000000000000001;i:2;s:3:"1.1";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeDoubleIntl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_DOUBLE);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(1.1)
+ [2]=>
+ string(3) "1.1"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_double_intl3.phpt b/ext/intl/tests/symfony_format_type_double_intl3.phpt
new file mode 100644
index 0000000000..3b0d576df7
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_double_intl3.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeDoubleIntl #3
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeDoubleIntl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;i:1;i:2;s:7:"SFD1.00";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeDoubleIntl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_DOUBLE);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ int(1)
+ [2]=>
+ string(7) "SFD1.00"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_double_intl4.phpt b/ext/intl/tests/symfony_format_type_double_intl4.phpt
new file mode 100644
index 0000000000..3476e10892
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_double_intl4.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeDoubleIntl #4
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeDoubleIntl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:1.1000000000000001;i:2;s:7:"SFD1.10";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeDoubleIntl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_DOUBLE);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(1.1)
+ [2]=>
+ string(7) "SFD1.10"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int32_intl1.phpt b/ext/intl/tests/symfony_format_type_int32_intl1.phpt
new file mode 100644
index 0000000000..2867b35690
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int32_intl1.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #1
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+// port of Symfony's Symfony\Component\Locale\Tests\Stub\StubNumberFormatterTest#testFormatTypeInt32Intl
+
+
+// Crashes on Windows
+// Windows note: the popup '...program has stopped working'(AEDebug Popup)
+// doesn't always show if you're rapidly running this test repeatedly.
+// regardless of that, the test always crashes every time.
+// (it will show up the first time, or if you wait a while before running it again.)
+// (the popup may also be disabled, which can be done with a registry setting.)
+// you can confirm it crashed by checking the exit code OR
+// the message this test prints at the very end (expected output for pass).
+//
+// Get Exit Code
+// Linux: echo $?
+// Windows: echo %ErrorLevel%
+
+
+
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt32Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;i:1;i:2;s:1:"1";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt32Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT32);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ int(1)
+ [2]=>
+ string(1) "1"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int32_intl2.phpt b/ext/intl/tests/symfony_format_type_int32_intl2.phpt
new file mode 100644
index 0000000000..6a65a0a809
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int32_intl2.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #2
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+// StubNumberFormatterTest#testFormatTypeInt32Intl is tested many times, each with different args.
+// there are 7 sets of args that crash PHP (and other args that don't), each of those 7 is now a separate PHPT test
+// to ensure that each of the 7 args are always tested.
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt32Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:1.1000000000000001;i:2;s:1:"1";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt32Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT32);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(1.1)
+ [2]=>
+ string(1) "1"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int32_intl3.phpt b/ext/intl/tests/symfony_format_type_int32_intl3.phpt
new file mode 100644
index 0000000000..5e657db419
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int32_intl3.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #3
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt32Intl
+$unit_test_args = unserialize('a:4:{i:0;O:15:"NumberFormatter":0:{}i:1;d:2147483648;i:2;s:14:"-2,147,483,648";i:3;s:83:"->format() TYPE_INT32 formats inconsistently an integer if out of the 32 bit range.";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt32Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT32);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(4) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(2147483648)
+ [2]=>
+ string(14) "-2,147,483,648"
+ [3]=>
+ string(83) "->format() TYPE_INT32 formats inconsistently an integer if out of the 32 bit range."
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int32_intl4.phpt b/ext/intl/tests/symfony_format_type_int32_intl4.phpt
new file mode 100644
index 0000000000..54043d92e9
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int32_intl4.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #4
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt32Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;i:1;i:2;s:7:"SFD1.00";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt32Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT32);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ int(1)
+ [2]=>
+ string(7) "SFD1.00"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int32_intl5.phpt b/ext/intl/tests/symfony_format_type_int32_intl5.phpt
new file mode 100644
index 0000000000..d5f78d7119
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int32_intl5.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #5
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt32Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:1.1000000000000001;i:2;s:7:"SFD1.00";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt32Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT32);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(1.1)
+ [2]=>
+ string(7) "SFD1.00"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int32_intl6.phpt b/ext/intl/tests/symfony_format_type_int32_intl6.phpt
new file mode 100644
index 0000000000..fa708799d1
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int32_intl6.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #6
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt32Intl
+$unit_test_args = unserialize('a:4:{i:0;O:15:"NumberFormatter":0:{}i:1;d:2147483648;i:2;s:21:"(SFD2,147,483,648.00)";i:3;s:83:"->format() TYPE_INT32 formats inconsistently an integer if out of the 32 bit range.";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt32Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT32);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(4) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(2147483648)
+ [2]=>
+ string(21) "(SFD2,147,483,648.00)"
+ [3]=>
+ string(83) "->format() TYPE_INT32 formats inconsistently an integer if out of the 32 bit range."
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int32_intl7.phpt b/ext/intl/tests/symfony_format_type_int32_intl7.phpt
new file mode 100644
index 0000000000..5bbe426677
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int32_intl7.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt32Intl #7
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt32Intl
+$unit_test_args = unserialize('a:4:{i:0;O:15:"NumberFormatter":0:{}i:1;d:-2147483649;i:2;s:19:"SFD2,147,483,647.00";i:3;s:83:"->format() TYPE_INT32 formats inconsistently an integer if out of the 32 bit range.";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt32Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT32);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(4) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(-2147483649)
+ [2]=>
+ string(19) "SFD2,147,483,647.00"
+ [3]=>
+ string(83) "->format() TYPE_INT32 formats inconsistently an integer if out of the 32 bit range."
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int64_intl1.phpt b/ext/intl/tests/symfony_format_type_int64_intl1.phpt
new file mode 100644
index 0000000000..01f5820911
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int64_intl1.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #1
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt64Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;i:1;i:2;s:1:"1";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt64Intl
+//$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT64);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ int(1)
+ [2]=>
+ string(1) "1"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int64_intl2.phpt b/ext/intl/tests/symfony_format_type_int64_intl2.phpt
new file mode 100644
index 0000000000..13d1cdaee7
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int64_intl2.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #2
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt64Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:1.1000000000000001;i:2;s:1:"1";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt64Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT64);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(1.1)
+ [2]=>
+ string(1) "1"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int64_intl3.phpt b/ext/intl/tests/symfony_format_type_int64_intl3.phpt
new file mode 100644
index 0000000000..a7c80b34c3
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int64_intl3.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #3
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt64Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:2147483648;i:2;s:13:"2,147,483,648";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt64Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT64);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(2147483648)
+ [2]=>
+ string(13) "2,147,483,648"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int64_intl4.phpt b/ext/intl/tests/symfony_format_type_int64_intl4.phpt
new file mode 100644
index 0000000000..f1a0801edf
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int64_intl4.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #4
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt64Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:-2147483649;i:2;s:14:"-2,147,483,649";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt64Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT64);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(-2147483649)
+ [2]=>
+ string(14) "-2,147,483,649"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int64_intl5.phpt b/ext/intl/tests/symfony_format_type_int64_intl5.phpt
new file mode 100644
index 0000000000..dad8735b89
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int64_intl5.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #5
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt64Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;i:1;i:2;s:7:"SFD1.00";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt64Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT64);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ int(1)
+ [2]=>
+ string(7) "SFD1.00"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int64_intl6.phpt b/ext/intl/tests/symfony_format_type_int64_intl6.phpt
new file mode 100644
index 0000000000..f038cbd0c3
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int64_intl6.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #6
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt64Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:1.1000000000000001;i:2;s:7:"SFD1.00";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt64Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT64);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(1.1)
+ [2]=>
+ string(7) "SFD1.00"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int64_intl7.phpt b/ext/intl/tests/symfony_format_type_int64_intl7.phpt
new file mode 100644
index 0000000000..9c8853cafc
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int64_intl7.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #7
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt64Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:2147483648;i:2;s:19:"SFD2,147,483,648.00";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt64Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT64);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(2147483648)
+ [2]=>
+ string(19) "SFD2,147,483,648.00"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/symfony_format_type_int64_intl8.phpt b/ext/intl/tests/symfony_format_type_int64_intl8.phpt
new file mode 100644
index 0000000000..50524976ab
--- /dev/null
+++ b/ext/intl/tests/symfony_format_type_int64_intl8.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Symfony StubNumberFormatterTest#testFormatTypeInt64Intl #8
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+
+
+// PHP Unit's code to unserialize data passed as args to #testFormatTypeInt64Intl
+$unit_test_args = unserialize('a:3:{i:0;O:15:"NumberFormatter":0:{}i:1;d:-2147483649;i:2;s:21:"(SFD2,147,483,649.00)";}');
+
+var_dump($unit_test_args);
+
+// execute the code from #testFormatTypeInt64Intl
+$unit_test_args[0]->format($unit_test_args[1], \NumberFormatter::TYPE_INT64);
+
+echo "== didn't crash ==".PHP_EOL;
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ object(NumberFormatter)#1 (0) {
+ }
+ [1]=>
+ float(-2147483649)
+ [2]=>
+ string(21) "(SFD2,147,483,649.00)"
+}
+== didn't crash ==
diff --git a/ext/intl/tests/ut_common.inc b/ext/intl/tests/ut_common.inc
index 09be22bf5a..09be22bf5a 100755..100644
--- a/ext/intl/tests/ut_common.inc
+++ b/ext/intl/tests/ut_common.inc