Annotation of embedaddon/php/ext/intl/tests/idn_uts46_errors.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: IDN UTS #46 API error tests
                      3: --SKIPIF--
                      4: <?php
                      5:        if (!extension_loaded('intl'))
                      6:                die('skip');
                      7:        if (!defined('INTL_IDNA_VARIANT_UTS46'))
                      8:                die('skip no UTS #46 API');
                      9: --FILE--
                     10: <?php
                     11: ini_set("intl.error_level", E_WARNING);
                     12: echo "=> PHP level errors", "\n";
                     13: 
                     14: echo "bad args:", "\n";
                     15: var_dump(idn_to_ascii("", 0, array()));
                     16: var_dump(idn_to_ascii("", 0, INTL_IDNA_VARIANT_UTS46, $foo, null));
                     17: 
                     18: echo "bad variant:", "\n";
                     19: var_dump(idn_to_ascii("", 0, INTL_IDNA_VARIANT_UTS46 + 10));
                     20: 
                     21: echo "empty domain:", "\n";
                     22: var_dump(idn_to_ascii("", 0, INTL_IDNA_VARIANT_UTS46));
                     23: 
                     24: echo "fourth arg for 2003 variant (only notice raised):", "\n";
                     25: var_dump(idn_to_ascii("foo.com", 0, INTL_IDNA_VARIANT_2003, $foo));
                     26: 
                     27: echo "with error, but no details arg:", "\n";
                     28: var_dump(idn_to_ascii("www.fußball.com-", 0, INTL_IDNA_VARIANT_UTS46));
                     29: 
                     30: echo "with error, with details arg:", "\n";
                     31: var_dump(idn_to_ascii("www.fußball.com-", IDNA_NONTRANSITIONAL_TO_ASCII,
                     32:        INTL_IDNA_VARIANT_UTS46, $foo));
                     33: var_dump($foo);
                     34: 
                     35: echo "with error, with details arg, contextj:", "\n";
                     36: var_dump(idn_to_ascii(
                     37:                html_entity_decode("www.a&#x200D;b.com", 0, "UTF-8"),
                     38:                IDNA_NONTRANSITIONAL_TO_ASCII | IDNA_CHECK_CONTEXTJ,
                     39:                INTL_IDNA_VARIANT_UTS46, $foo));
                     40: var_dump($foo);
                     41: var_dump($foo["errors"]==IDNA_ERROR_CONTEXTJ);
                     42: --EXPECTF--
                     43: => PHP level errors
                     44: bad args:
                     45: 
                     46: Warning: idn_to_ascii() expects parameter 3 to be long, array given in %s on line %d
                     47: 
                     48: Warning: idn_to_ascii(): idn_to_ascii: bad arguments in %s on line %d
                     49: NULL
                     50: 
                     51: Warning: idn_to_ascii() expects at most 4 parameters, 5 given in %s on line %d
                     52: 
                     53: Warning: idn_to_ascii(): idn_to_ascii: bad arguments in %s on line %d
                     54: NULL
                     55: bad variant:
                     56: 
                     57: Warning: idn_to_ascii(): idn_to_ascii: invalid variant, must be one of {INTL_IDNA_VARIANT_2003, INTL_IDNA_VARIANT_UTS46} in %s on line %d
                     58: bool(false)
                     59: empty domain:
                     60: 
                     61: Warning: idn_to_ascii(): idn_to_ascii: empty domain name in %s on line %d
                     62: bool(false)
                     63: fourth arg for 2003 variant (only notice raised):
                     64: 
                     65: Notice: idn_to_ascii(): 4 arguments were provided, but INTL_IDNA_VARIANT_2003 only takes 3 - extra argument ignored in %s on line %d
                     66: string(7) "foo.com"
                     67: with error, but no details arg:
                     68: bool(false)
                     69: with error, with details arg:
                     70: bool(false)
                     71: array(3) {
                     72:   ["result"]=>
                     73:   string(23) "www.xn--fuball-cta.com-"
                     74:   ["isTransitionalDifferent"]=>
                     75:   bool(true)
                     76:   ["errors"]=>
                     77:   int(16)
                     78: }
                     79: with error, with details arg, contextj:
                     80: bool(false)
                     81: array(3) {
                     82:   ["result"]=>
                     83:   string(18) "www.xn--ab-m1t.com"
                     84:   ["isTransitionalDifferent"]=>
                     85:   bool(true)
                     86:   ["errors"]=>
                     87:   int(4096)
                     88: }
                     89: bool(true)

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