summaryrefslogtreecommitdiff
path: root/ext/gettext/tests
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/gettext/tests
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/gettext/tests')
-rw-r--r--ext/gettext/tests/44938.phpt85
-rw-r--r--ext/gettext/tests/dcngettext.phpt30
-rw-r--r--ext/gettext/tests/gettext_basic-enus.phpt28
-rw-r--r--ext/gettext/tests/gettext_basic.phpt25
-rw-r--r--ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt22
-rw-r--r--ext/gettext/tests/gettext_bind_textdomain_codeset-wrongparams.phpt23
-rw-r--r--ext/gettext/tests/gettext_bindtextdomain-cwd.phpt27
-rw-r--r--ext/gettext/tests/gettext_bindtextdomain-emptydomain.phpt16
-rw-r--r--ext/gettext/tests/gettext_bindtextdomain-path.phpt16
-rw-r--r--ext/gettext/tests/gettext_bindtextdomain-wrongparams.phpt19
-rw-r--r--ext/gettext/tests/gettext_dcgettext-wrongparams.phpt16
-rw-r--r--ext/gettext/tests/gettext_dcgettext.phpt25
-rw-r--r--ext/gettext/tests/gettext_dgettext.phpt30
-rw-r--r--ext/gettext/tests/gettext_dgettext_error_wrongparams.phpt34
-rw-r--r--ext/gettext/tests/gettext_dngettext-plural.phpt24
-rw-r--r--ext/gettext/tests/gettext_dngettext-wrongparams.phpt23
-rw-r--r--ext/gettext/tests/gettext_gettext_error_wrongparams.phpt17
-rw-r--r--ext/gettext/tests/gettext_ngettext-wrongparams.phpt33
-rw-r--r--ext/gettext/tests/gettext_ngettext.phpt26
-rw-r--r--ext/gettext/tests/gettext_phpinfo.phpt19
-rw-r--r--ext/gettext/tests/gettext_textdomain-retval.phpt29
-rw-r--r--ext/gettext/tests/gettext_textdomain-wrongparams.phpt25
-rw-r--r--ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.mobin0 -> 84 bytes
-rw-r--r--ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.po4
-rw-r--r--ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.mobin0 -> 102 bytes
-rw-r--r--ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.po4
-rw-r--r--ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switched.po2
-rw-r--r--ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.mobin0 -> 86 bytes
-rw-r--r--ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.po4
-rw-r--r--ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.mobin0 -> 84 bytes
-rw-r--r--ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.po4
-rw-r--r--ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.mobin0 -> 102 bytes
-rw-r--r--ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.po4
-rw-r--r--ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.mobin0 -> 84 bytes
-rw-r--r--ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.po4
-rw-r--r--ext/gettext/tests/locale/en/LC_MESSAGES/messages.mobin0 -> 201 bytes
-rw-r--r--ext/gettext/tests/locale/en/LC_MESSAGES/messages.po15
-rw-r--r--ext/gettext/tests/locale/fi/LC_MESSAGES/messages.mobin0 -> 199 bytes
-rw-r--r--ext/gettext/tests/locale/fi/LC_MESSAGES/messages.po15
39 files changed, 648 insertions, 0 deletions
diff --git a/ext/gettext/tests/44938.phpt b/ext/gettext/tests/44938.phpt
new file mode 100644
index 0000000..f2d594a
--- /dev/null
+++ b/ext/gettext/tests/44938.phpt
@@ -0,0 +1,85 @@
+--TEST--
+#44938: gettext functions crash with overlong strings
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip\n");
+}
+--FILE--
+<?php
+$overflown = str_repeat('C', 8476509);
+$msgid = "msgid";
+$domain = "domain";
+$category = "cat";
+
+var_dump(bindtextdomain($overflown, 'path'));
+
+var_dump(dngettext($overflown, $msgid, $msgid, 1));
+var_dump(dngettext($domain, $overflown, $msgid, 1));
+var_dump(dngettext($domain, $msgid, $overflown, 1));
+
+var_dump(gettext($overflown));
+
+var_dump(ngettext($overflown, $msgid, -1));
+var_dump(ngettext($msgid, $overflown, -1));
+
+var_dump(dcgettext($overflown, $msgid, -1));
+var_dump(dcgettext($domain, $overflown, -1));
+
+var_dump(dcngettext($overflown, $msgid, $msgid, -1, -1));
+var_dump(dcngettext($domain, $overflown, $msgid, -1, -1));
+var_dump(dcngettext($domain, $msgid, $overflown, -1, -1));
+
+var_dump(dgettext($overflown, $msgid));
+var_dump(dgettext($domain, $overflown));
+
+var_dump(textdomain($overflown));
+?>
+==DONE==
+--EXPECTF--
+
+Warning: bindtextdomain(): domain passed too long in %s on line %d
+bool(false)
+
+Warning: dngettext(): domain passed too long in %s on line %d
+bool(false)
+
+Warning: dngettext(): msgid1 passed too long in %s on line %d
+bool(false)
+
+Warning: dngettext(): msgid2 passed too long in %s on line %d
+bool(false)
+
+Warning: gettext(): msgid passed too long in %s on line %d
+bool(false)
+
+Warning: ngettext(): msgid1 passed too long in %s on line %d
+bool(false)
+
+Warning: ngettext(): msgid2 passed too long in %s on line %d
+bool(false)
+
+Warning: dcgettext(): domain passed too long in %s on line %d
+bool(false)
+
+Warning: dcgettext(): msgid passed too long in %s on line %d
+bool(false)
+
+Warning: dcngettext(): domain passed too long in %s on line %d
+bool(false)
+
+Warning: dcngettext(): msgid1 passed too long in %s on line %d
+bool(false)
+
+Warning: dcngettext(): msgid2 passed too long in %s on line %d
+bool(false)
+
+Warning: dgettext(): domain passed too long in %s on line %d
+bool(false)
+
+Warning: dgettext(): msgid passed too long in %s on line %d
+bool(false)
+
+Warning: textdomain(): domain passed too long in %s on line %d
+bool(false)
+==DONE==
diff --git a/ext/gettext/tests/dcngettext.phpt b/ext/gettext/tests/dcngettext.phpt
new file mode 100644
index 0000000..2b8e2b1
--- /dev/null
+++ b/ext/gettext/tests/dcngettext.phpt
@@ -0,0 +1,30 @@
+--TEST--
+dcngettext() tests
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) die("skip");
+if (!function_exists("dcngettext")) die("skip dcngettext() doesn't exist");
+?>
+--FILE--
+<?php
+
+var_dump(dcngettext(1,1,1,1));
+var_dump(dcngettext(1,1,1,1,1));
+var_dump(dcngettext("test","test","test",1,1));
+var_dump(dcngettext("test","test","test",0,0));
+var_dump(dcngettext("test","test","test",-1,-1));
+var_dump(dcngettext("","","",1,1));
+var_dump(dcngettext("","","",0,0));
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: dcngettext() expects exactly 5 parameters, 4 given in %s on line %d
+bool(false)
+string(1) "1"
+string(4) "test"
+string(4) "test"
+string(4) "test"
+string(0) ""
+string(0) ""
+Done
diff --git a/ext/gettext/tests/gettext_basic-enus.phpt b/ext/gettext/tests/gettext_basic-enus.phpt
new file mode 100644
index 0000000..4691d77
--- /dev/null
+++ b/ext/gettext/tests/gettext_basic-enus.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Gettext basic test with en_US locale that should be on nearly every system
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("skip\n");
+ }
+ if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("skip en_US.UTF-8 locale not supported.");
+ }
+?>
+--FILE--
+<?php
+
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain ("messages", "./locale");
+textdomain ("messages");
+echo gettext("Basic test"), "\n";
+echo _("Basic test"), "\n";
+
+?>
+--EXPECT--
+A basic test
+A basic test
+--CREDITS--
+Christian Weiske, cweiske@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_basic.phpt b/ext/gettext/tests/gettext_basic.phpt
new file mode 100644
index 0000000..441ca57
--- /dev/null
+++ b/ext/gettext/tests/gettext_basic.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Gettext basic test
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("skip\n");
+ }
+ if (!setlocale(LC_ALL, 'fi_FI')) {
+ die("skip fi_FI locale not supported.");
+ }
+?>
+--FILE--
+<?php // $Id$
+
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'fi_FI');
+bindtextdomain ("messages", "./locale");
+textdomain ("messages");
+echo gettext("Basic test"), "\n";
+echo _("Basic test"), "\n";
+
+?>
+--EXPECT--
+Perustesti
+Perustesti
diff --git a/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt b/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt
new file mode 100644
index 0000000..2c8e561
--- /dev/null
+++ b/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt
@@ -0,0 +1,22 @@
+--TEST--
+test if bind_textdomain_codeset() returns correct value
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("skip");
+ }
+?>
+--FILE--
+<?php
+ var_dump(bind_textdomain_codeset(false,false));
+ var_dump(bind_textdomain_codeset('messages', "UTF-8"));
+
+ echo "Done\n";
+?>
+--EXPECTF--
+bool(false)
+string(5) "UTF-8"
+Done
+--CREDITS--
+Florian Holzhauer fh-pt@fholzhauer.de
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_bind_textdomain_codeset-wrongparams.phpt b/ext/gettext/tests/gettext_bind_textdomain_codeset-wrongparams.phpt
new file mode 100644
index 0000000..eb50c5d
--- /dev/null
+++ b/ext/gettext/tests/gettext_bind_textdomain_codeset-wrongparams.phpt
@@ -0,0 +1,23 @@
+--TEST--
+test if bind_textdomain_codeset() fails on wrong param count
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("skip");
+ }
+?>
+--FILE--
+<?php
+ bind_textdomain_codeset('messages');
+ bind_textdomain_codeset('messages','foo','bar');
+
+ echo "Done\n";
+?>
+--EXPECTF--
+Warning: bind_textdomain_codeset() expects exactly 2 parameters, 1 given in %s on line %d
+
+Warning: bind_textdomain_codeset() expects exactly 2 parameters, 3 given in %s on line %d
+Done
+--CREDITS--
+Florian Holzhauer fh-pt@fholzhauer.de
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_bindtextdomain-cwd.phpt b/ext/gettext/tests/gettext_bindtextdomain-cwd.phpt
new file mode 100644
index 0000000..375e5fb
--- /dev/null
+++ b/ext/gettext/tests/gettext_bindtextdomain-cwd.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test if bindtextdomain() returns string id if no directory path is set(if directory path is 'null')
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("skip en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+$base_dir = dirname(__FILE__);
+chdir($base_dir);
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('messages',null);
+var_dump(gettext('Basic test'));
+bindtextdomain('messages', './locale');
+var_dump(gettext('Basic test'));
+
+?>
+--EXPECTF--
+string(10) "Basic test"
+string(12) "A basic test"
+--CREDIT--
+Moritz Neuhaeuser, info@xcompile.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_bindtextdomain-emptydomain.phpt b/ext/gettext/tests/gettext_bindtextdomain-emptydomain.phpt
new file mode 100644
index 0000000..0ebe66e
--- /dev/null
+++ b/ext/gettext/tests/gettext_bindtextdomain-emptydomain.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Test if bindtextdomain() errors if the domain is empty.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip gettext extension is not loaded.\n");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+bindtextdomain('', 'foobar');
+--EXPECTF--
+Warning: The first parameter of bindtextdomain must not be empty in %s on line %d
+--CREDITS--
+Till Klampaeckel, till@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_bindtextdomain-path.phpt b/ext/gettext/tests/gettext_bindtextdomain-path.phpt
new file mode 100644
index 0000000..45349b4
--- /dev/null
+++ b/ext/gettext/tests/gettext_bindtextdomain-path.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Test if bindtextdomain() returns false if path does not exist.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip gettext extension is not loaded.\n");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+var_dump(bindtextdomain('example.org', 'foobar'));
+--EXPECTF--
+bool(false)
+--CREDITS--
+Till Klampaeckel, till@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_bindtextdomain-wrongparams.phpt b/ext/gettext/tests/gettext_bindtextdomain-wrongparams.phpt
new file mode 100644
index 0000000..97939a4
--- /dev/null
+++ b/ext/gettext/tests/gettext_bindtextdomain-wrongparams.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Test if bindtextdomain() errors if you don't supply enough parameters.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip gettext extension is not loaded.\n");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+bindtextdomain('foobar');
+bindtextdomain();
+--EXPECTF--
+Warning: bindtextdomain() expects exactly 2 parameters, 1 given in %s on line %d
+
+Warning: bindtextdomain() expects exactly 2 parameters, 0 given in %s on line %d
+--CREDITS--
+Till Klampaeckel, till@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_dcgettext-wrongparams.phpt b/ext/gettext/tests/gettext_dcgettext-wrongparams.phpt
new file mode 100644
index 0000000..372a957
--- /dev/null
+++ b/ext/gettext/tests/gettext_dcgettext-wrongparams.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Test if dcgettext() errors when you don't supply the correct params.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip gettext extension is not loaded.\n");
+}
+--FILE--
+<?php
+var_dump(dcgettext('a', 'b'));
+--EXPECTF--
+Warning: dcgettext() expects exactly 3 parameters, 2 given in %s on line %d
+NULL
+--CREDITS--
+Christian Weiske, cweiske@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_dcgettext.phpt b/ext/gettext/tests/gettext_dcgettext.phpt
new file mode 100644
index 0000000..24b558e
--- /dev/null
+++ b/ext/gettext/tests/gettext_dcgettext.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Test dcgettext() functionality
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("skip en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+setlocale(LC_MESSAGES, 'en_US.UTF-8');
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dngettextTest', './locale');
+
+var_dump(dcgettext('dngettextTest', 'item', LC_CTYPE));
+var_dump(dcgettext('dngettextTest', 'item', LC_MESSAGES));
+--EXPECTF--
+string(8) "cProdukt"
+string(7) "Produkt"
+--CREDITS--
+Christian Weiske, cweiske@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_dgettext.phpt b/ext/gettext/tests/gettext_dgettext.phpt
new file mode 100644
index 0000000..a9a1337
--- /dev/null
+++ b/ext/gettext/tests/gettext_dgettext.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Test dgettext() functionality
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("SKIP gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("SKIP en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+setlocale(LC_MESSAGES, 'en_US.UTF-8');
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dgettextTest', './locale');
+bindtextdomain('dgettextTest_switch', './locale');
+textdomain('dgettextTest');
+
+var_dump(gettext('item'));
+var_dump(dgettext('dgettextTest_switch', 'item'));
+var_dump(gettext('item'));
+?>
+--EXPECT--
+string(7) "Produkt"
+string(16) "Produkt_switched"
+string(7) "Produkt"
+--CREDITS--
+Moritz Neuhaeuser, info@xcompile.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_dgettext_error_wrongparams.phpt b/ext/gettext/tests/gettext_dgettext_error_wrongparams.phpt
new file mode 100644
index 0000000..7839358
--- /dev/null
+++ b/ext/gettext/tests/gettext_dgettext_error_wrongparams.phpt
@@ -0,0 +1,34 @@
+--TEST--
+Check how dgettext() with wrong parameter types and wrong parameter cou types and wrong parameter count behaves.
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("skip extension gettext not loaded\n");
+ }
+ if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("skip en_US.UTF-8 locale not supported.");
+ }
+
+?>
+--FILE--
+<?php
+ chdir(dirname(__FILE__));
+ setlocale(LC_ALL, 'en_US.UTF-8');
+ dgettext ('foo');
+ dgettext ();
+
+ dgettext(array(), 'foo');
+ dgettext('foo', array());
+
+?>
+--EXPECTF--
+Warning: dgettext() expects exactly 2 parameters, 1 given in %s.php on line %d
+
+Warning: dgettext() expects exactly 2 parameters, 0 given in %s.php on line %d
+
+Warning: dgettext() expects parameter 1 to be string, array given in %s.php on line %d
+
+Warning: dgettext() expects parameter 2 to be string, array given in %s.php on line %d
+--CREDITS--
+Moritz Neuhaeuser, info@xcompile.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_dngettext-plural.phpt b/ext/gettext/tests/gettext_dngettext-plural.phpt
new file mode 100644
index 0000000..0417c0e
--- /dev/null
+++ b/ext/gettext/tests/gettext_dngettext-plural.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Test if dngettext() returns the correct translations (optionally plural).
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("skip en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dngettextTest', './locale');
+
+var_dump(dngettext('dngettextTest', 'item', 'items', 1));
+var_dump(dngettext('dngettextTest', 'item', 'items', 2));
+--EXPECT--
+string(7) "Produkt"
+string(8) "Produkte"
+--CREDITS--
+Till Klampaeckel, till@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_dngettext-wrongparams.phpt b/ext/gettext/tests/gettext_dngettext-wrongparams.phpt
new file mode 100644
index 0000000..4bcf093
--- /dev/null
+++ b/ext/gettext/tests/gettext_dngettext-wrongparams.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Test if dngettext() errors when you don't supply the correct params.
+--SKIPIF--
+<?php
+if (!extension_loaded("gettext")) {
+ die("skip gettext extension is not loaded.\n");
+}
+if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("skip en_US.UTF-8 locale not supported.");
+}
+--FILE--
+<?php
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dngettextTest', './locale');
+
+var_dump(dngettext('dngettextTest', 'item', 'items'));
+--EXPECTF--
+Warning: dngettext() expects exactly 4 parameters, 3 given in %s on line %d
+NULL
+--CREDITS--
+Till Klampaeckel, till@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_gettext_error_wrongparams.phpt b/ext/gettext/tests/gettext_gettext_error_wrongparams.phpt
new file mode 100644
index 0000000..a901090
--- /dev/null
+++ b/ext/gettext/tests/gettext_gettext_error_wrongparams.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Check how gettext() with wrong parameters behaves.
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("skip extension gettext not loaded\n");
+ }
+?>
+--FILE--
+<?php
+gettext (array());
+?>
+--EXPECTF--
+Warning: gettext() expects parameter 1 to be string, array given in %s on line 2
+--CREDITS--
+Moritz Neuhaeuser, info@xcompile.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_ngettext-wrongparams.phpt b/ext/gettext/tests/gettext_ngettext-wrongparams.phpt
new file mode 100644
index 0000000..9003aef
--- /dev/null
+++ b/ext/gettext/tests/gettext_ngettext-wrongparams.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Check how ngettext() with wrong parameters behaves.
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("SKIP extension gettext not loaded\n");
+ }
+
+?>
+--FILE--
+<?php
+ngettext(array(), "", 1);
+ngettext("", array(), 1);
+ngettext("", "", array());
+ngettext();
+ngettext("");
+ngettext("", "");
+?>
+--EXPECTF--
+Warning: ngettext() expects parameter 1 to be string, array given in %s on line 2
+
+Warning: ngettext() expects parameter 2 to be string, array given in %s on line 3
+
+Warning: ngettext() expects parameter 3 to be long, array given in %s on line 4
+
+Warning: ngettext() expects exactly 3 parameters, 0 given in %s on line 5
+
+Warning: ngettext() expects exactly 3 parameters, 1 given in %s on line 6
+
+Warning: ngettext() expects exactly 3 parameters, 2 given in %s on line 7
+--CREDITS--
+Tim Eggert, tim@elbart.com
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_ngettext.phpt b/ext/gettext/tests/gettext_ngettext.phpt
new file mode 100644
index 0000000..d0f1302
--- /dev/null
+++ b/ext/gettext/tests/gettext_ngettext.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Test ngettext() functionality
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("SKIP extension gettext not loaded\n");
+ }
+ if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("SKIP en_US.UTF-8 locale not supported.");
+ }
+?>
+--FILE--
+<?php // $Id$
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain('dngettextTest', './locale');
+textdomain('dngettextTest');
+var_dump(ngettext('item', 'items', 1));
+var_dump(ngettext('item', 'items', 2));
+?>
+--EXPECT--
+string(7) "Produkt"
+string(8) "Produkte"
+--CREDITS--
+Christian Weiske, cweiske@php.net
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_phpinfo.phpt b/ext/gettext/tests/gettext_phpinfo.phpt
new file mode 100644
index 0000000..6a38943
--- /dev/null
+++ b/ext/gettext/tests/gettext_phpinfo.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Test phpinfo() displays gettext support
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("SKIP extension gettext not loaded\n");
+ }
+?>
+--FILE--
+<?php
+phpinfo();
+?>
+--EXPECTF--
+%a
+%rGetText Support.*enabled%r
+%a
+--CREDITS--
+Tim Eggert, tim@elbart.com
+PHP Testfest Berlin 2009-05-09
diff --git a/ext/gettext/tests/gettext_textdomain-retval.phpt b/ext/gettext/tests/gettext_textdomain-retval.phpt
new file mode 100644
index 0000000..3e82f67
--- /dev/null
+++ b/ext/gettext/tests/gettext_textdomain-retval.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Check if textdomain() returns the new domain
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("skip\n");
+ }
+ if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("skip en_US.UTF-8 locale not supported.");
+ }
+?>
+--FILE--
+<?php
+
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain ("messages", "./locale");
+echo textdomain('test'), "\n";
+echo textdomain(null), "\n";
+echo textdomain('foo'), "\n";
+?>
+--EXPECT--
+
+test
+test
+foo
+--CREDITS--
+Christian Weiske, cweiske@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/gettext_textdomain-wrongparams.phpt b/ext/gettext/tests/gettext_textdomain-wrongparams.phpt
new file mode 100644
index 0000000..251ee9a
--- /dev/null
+++ b/ext/gettext/tests/gettext_textdomain-wrongparams.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Check how textdomain() with wrong parameters behaves.
+--SKIPIF--
+<?php
+ if (!extension_loaded("gettext")) {
+ die("skip\n");
+ }
+ if (!setlocale(LC_ALL, 'en_US.UTF-8')) {
+ die("skip en_US.UTF-8 locale not supported.");
+ }
+?>
+--FILE--
+<?php // $Id$
+
+chdir(dirname(__FILE__));
+setlocale(LC_ALL, 'en_US.UTF-8');
+bindtextdomain ("messages", "./locale");
+textdomain (array());
+
+?>
+--EXPECTF--
+Warning: textdomain() expects parameter 1 to be string, array given in %s on line 6
+--CREDITS--
+Christian Weiske, cweiske@php.net
+PHP Testfest Berlin 2009-05-09 \ No newline at end of file
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.mo b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.mo
new file mode 100644
index 0000000..255e1e9
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.mo
Binary files differ
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.po b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.po
new file mode 100644
index 0000000..159a90f
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt"
+msgstr[1] "Produkte"
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.mo b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.mo
new file mode 100644
index 0000000..c2ab696
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.mo
Binary files differ
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.po b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.po
new file mode 100644
index 0000000..b56d189
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switch.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt_switched"
+msgstr[1] "Produkte_switched"
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switched.po b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switched.po
new file mode 100644
index 0000000..d6f6ea2
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dgettextTest_switched.po
@@ -0,0 +1,2 @@
+msgid "item"
+msgstr[0] "cProdukt_switched"
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.mo b/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.mo
new file mode 100644
index 0000000..e9c63ef
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.mo
Binary files differ
diff --git a/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.po b/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.po
new file mode 100644
index 0000000..863e83c
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_CTYPE/dngettextTest.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "cProdukt"
+msgstr[1] "cProdukte"
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.mo b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.mo
new file mode 100644
index 0000000..255e1e9
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.mo
Binary files differ
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.po b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.po
new file mode 100644
index 0000000..159a90f
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt"
+msgstr[1] "Produkte"
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.mo b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.mo
new file mode 100644
index 0000000..c2ab696
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.mo
Binary files differ
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.po b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.po
new file mode 100644
index 0000000..b56d189
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dgettextTest_switch.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt_switched"
+msgstr[1] "Produkte_switched"
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.mo b/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.mo
new file mode 100644
index 0000000..255e1e9
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.mo
Binary files differ
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.po b/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.po
new file mode 100644
index 0000000..159a90f
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/dngettextTest.po
@@ -0,0 +1,4 @@
+msgid "item"
+msgid_plural "items"
+msgstr[0] "Produkt"
+msgstr[1] "Produkte"
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/messages.mo b/ext/gettext/tests/locale/en/LC_MESSAGES/messages.mo
new file mode 100644
index 0000000..335cbdd
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/ext/gettext/tests/locale/en/LC_MESSAGES/messages.po b/ext/gettext/tests/locale/en/LC_MESSAGES/messages.po
new file mode 100644
index 0000000..2faf01f
--- /dev/null
+++ b/ext/gettext/tests/locale/en/LC_MESSAGES/messages.po
@@ -0,0 +1,15 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gettext_basic.phpt:11
+msgid "Basic test"
+msgstr "A basic test"
diff --git a/ext/gettext/tests/locale/fi/LC_MESSAGES/messages.mo b/ext/gettext/tests/locale/fi/LC_MESSAGES/messages.mo
new file mode 100644
index 0000000..55f4d1a
--- /dev/null
+++ b/ext/gettext/tests/locale/fi/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/ext/gettext/tests/locale/fi/LC_MESSAGES/messages.po b/ext/gettext/tests/locale/fi/LC_MESSAGES/messages.po
new file mode 100644
index 0000000..3505156
--- /dev/null
+++ b/ext/gettext/tests/locale/fi/LC_MESSAGES/messages.po
@@ -0,0 +1,15 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: gettext_basic.phpt:11
+msgid "Basic test"
+msgstr "Perustesti"