Annotation of embedaddon/php/ext/gettext/tests/44938.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: #44938: gettext functions crash with overlong strings
                      3: --SKIPIF--
                      4: <?php
                      5: if (!extension_loaded("gettext")) {
                      6:        die("skip\n");
                      7: }
                      8: --FILE--
                      9: <?php
                     10: $overflown = str_repeat('C', 8476509);
                     11: $msgid     = "msgid";
                     12: $domain    = "domain";
                     13: $category  = "cat";
                     14: 
                     15: var_dump(bindtextdomain($overflown, 'path'));
                     16: 
                     17: var_dump(dngettext($overflown, $msgid, $msgid, 1));
                     18: var_dump(dngettext($domain, $overflown, $msgid, 1));
                     19: var_dump(dngettext($domain, $msgid, $overflown, 1));
                     20: 
                     21: var_dump(gettext($overflown));
                     22: 
                     23: var_dump(ngettext($overflown, $msgid, -1));
                     24: var_dump(ngettext($msgid, $overflown, -1));
                     25: 
                     26: var_dump(dcgettext($overflown, $msgid, -1));
                     27: var_dump(dcgettext($domain, $overflown, -1));
                     28: 
                     29: var_dump(dcngettext($overflown, $msgid, $msgid, -1, -1));
                     30: var_dump(dcngettext($domain, $overflown, $msgid, -1, -1));
                     31: var_dump(dcngettext($domain, $msgid, $overflown, -1, -1));
                     32: 
                     33: var_dump(dgettext($overflown, $msgid));
                     34: var_dump(dgettext($domain, $overflown));
                     35: 
                     36: var_dump(textdomain($overflown));
                     37: ?>
                     38: ==DONE==
                     39: --EXPECTF--
                     40: 
                     41: Warning: bindtextdomain(): domain passed too long in %s on line %d
                     42: bool(false)
                     43: 
                     44: Warning: dngettext(): domain passed too long in %s on line %d
                     45: bool(false)
                     46: 
                     47: Warning: dngettext(): msgid1 passed too long in %s on line %d
                     48: bool(false)
                     49: 
                     50: Warning: dngettext(): msgid2 passed too long in %s on line %d
                     51: bool(false)
                     52: 
                     53: Warning: gettext(): msgid passed too long in %s on line %d
                     54: bool(false)
                     55: 
                     56: Warning: ngettext(): msgid1 passed too long in %s on line %d
                     57: bool(false)
                     58: 
                     59: Warning: ngettext(): msgid2 passed too long in %s on line %d
                     60: bool(false)
                     61: 
                     62: Warning: dcgettext(): domain passed too long in %s on line %d
                     63: bool(false)
                     64: 
                     65: Warning: dcgettext(): msgid passed too long in %s on line %d
                     66: bool(false)
                     67: 
                     68: Warning: dcngettext(): domain passed too long in %s on line %d
                     69: bool(false)
                     70: 
                     71: Warning: dcngettext(): msgid1 passed too long in %s on line %d
                     72: bool(false)
                     73: 
                     74: Warning: dcngettext(): msgid2 passed too long in %s on line %d
                     75: bool(false)
                     76: 
                     77: Warning: dgettext(): domain passed too long in %s on line %d
                     78: bool(false)
                     79: 
                     80: Warning: dgettext(): msgid passed too long in %s on line %d
                     81: bool(false)
                     82: 
                     83: Warning: textdomain(): domain passed too long in %s on line %d
                     84: bool(false)
                     85: ==DONE==

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>