From: Raghubansh Kumar Date: Mon, 13 Aug 2007 11:34:42 +0000 (+0000) Subject: New testcase for parse_ini_file() function X-Git-Tag: php-5.2.4RC2~26 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4ed53a6dce7f0c28b1bdbccf5472077b8a73eb3d;p=php New testcase for parse_ini_file() function --- diff --git a/ext/standard/tests/file/parse_ini_file.phpt b/ext/standard/tests/file/parse_ini_file.phpt new file mode 100644 index 0000000000..741b03af8d --- /dev/null +++ b/ext/standard/tests/file/parse_ini_file.phpt @@ -0,0 +1,491 @@ +--TEST-- +Test parse_ini_file() function +--FILE-- +] + +; start of ini file + +[Constans] +one = 1 +five = 5 +animal = BIRD +Language = PHP +PHP_CONSTANT = 1.2345678 +10 = Ten +HELLO = HELLO + +[date] +date = +time = + +[paths] +path = /usr/local/bin +URL = http://www.php.net + +[Decimal] +Decimal_value1 = 100 +Decimal_value2 = -100 +Decimal_value3 = -2147483647 +Decimal_value4 = 2147483647 +Decimal_value5 = -2147483648 +Decimal_value6 = 2147483648 + +[Octal] +Octal_value = 0100 + +[Hex] +Hex_value1 = 0x101 +Hex_Value2 = 0x102 +Hex_Value2 = 0x103 + +[Non-alphanumerics_as_values] +;Non-alpha numeric chars without quotes +Non-alpha1 = ; +Non-alpha2 = + +Non-alpha3 = * +Non-alpha4 = % +Non-alpha5 = <> +Non-alpha6 = @ +Non-alpha7 = # +Non-alpha8 = ^ +non-alpha9 = - +Non-alpha10 = : +Non-alpha11 = ? +Non-alpha12 = / +Non-alpha13 = \ +;These chars have a special meaning when used in the value, +; hence parser throws an error +;Non-alpha14 = & +;Non-alpha15 = {} +;Non-alpha16 = | +;Non-alpha17 = ~ +;Non-alpha18 = ! +;Non-alpha19 = $ +;Non-alpha20 = () + +Non-alpha1_quotes = ";" +Non-alpha2_quotes = "+" +Non-alpha3_quotes = "*" +Non-alpha4_quotes = "%" +Non-alpha5_quotes = "<>" +Non-alpha6_quotes = "@" +Non-alpha7_quotes = "#" +Non-alpha8_quotes = "^" +Non-alpha9_quotes = "-" +Non-alpha10_quotes = "=" +Non-alpha11_quotes = ":" +Non-alpha12_quotes = "?" +Non-alpha13_quotes = "/" +Non-alpha14_quotes = "\" +Non-alpha15_quotes = "&" +Non-alpha16_quotes = "{}" +Non-alpha17_quotes = "|" +Non-alpha18_quotes = "~" +Non-alpha19_quotes = "!" +non-alpha20_quotes = "$" +non-alpha21_quotes = "()" + +[Non-alpha numerics in strings] +;expected error, as the non-alphanumeric chars not enclosed in double quotes("") +Non-alpha_string1 = Hello@world +;Non-alpha_string2 = Hello!world +;Non-alpha_string3 = Hello#world +;Non-alpha_string4 = Hello%world +;Non-alpha_string5 = Hello&world +;Non-alpha_string6 = Hello*world +;Non-alpha_string7 = Hello+world +;Non-alpha_string8 = Hello-world +;Non-alpha_string9 = Hello'world +;Non-alpha_string10 = Hello:world +;Non-alpha_string11 = Hello;world +;Non-alpha_string12 = Helloworld +;Non-alpha_string14 = Hello>world +;Non-alpha_string15 = Hello?world +;Non-alpha_string16 = Hello\world +;Non-alpha_string17 = Hello^world +;Non-alpha_string18 = Hello_world +;Non-alpha_string19 = Hello|world +;Non-alpha_string20 = Hello~world +;Non-alpha_string21 = Hello`world +;Non-alpha_string22 = Hello(world) + +[Non-alpha numerics in strings -with quotes] +Non-alpha_string1_quotes = "Hello@world" +Non-alpha_string2_quotes = "Hello!world" +Non-alpha_string3_quotes = "Hello#world" +Non-alpha_string4_quotes = "Hello&world" +Non-alpha_string5_quotes = "Hello*world" +Non-alpha_string6_quotes = "Hello+world" +Non-alpha_string7_quotes = "Hello-world" +Non-alpha_string8_quotes = "Hello'world" +Non-alpha_string9_quotes = "Hello:world" +Non-alpha_string10_quotes = "Hello;world" +Non-alpha_string11_quotes = "Hello +--CLEAN-- + +--EXPECTF-- +*** Test parse_ini_file() function: with various keys and values given in parse.ini file *** +-- ini file without process_sections optional arg -- +Array +( + [one] => 1 + [five] => 5 + [animal] => Humming bird + [Language] => PHP + [PHP_CONSTANT] => 1.2345678 + [10] => Ten + [HELLO] => HELLO + [date] => + [time] => + [path] => /usr/local/bin + [URL] => http://www.php.net + [Decimal_value1] => 100 + [Decimal_value2] => -100 + [Decimal_value3] => -2147483647 + [Decimal_value4] => 2147483647 + [Decimal_value5] => -2147483648 + [Decimal_value6] => 2147483648 + [Octal_value] => 0100 + [Hex_value1] => 0x101 + [Hex_Value2] => 0x103 + [Non-alpha1] => + [Non-alpha2] => + + [Non-alpha3] => * + [Non-alpha4] => % + [Non-alpha5] => <> + [Non-alpha6] => @ + [Non-alpha7] => # + [Non-alpha8] => ^ + [non-alpha9] => - + [Non-alpha10] => : + [Non-alpha11] => ? + [Non-alpha12] => / + [Non-alpha13] => \ + [Non-alpha1_quotes] => ; + [Non-alpha2_quotes] => + + [Non-alpha3_quotes] => * + [Non-alpha4_quotes] => % + [Non-alpha5_quotes] => <> + [Non-alpha6_quotes] => @ + [Non-alpha7_quotes] => # + [Non-alpha8_quotes] => ^ + [Non-alpha9_quotes] => - + [Non-alpha10_quotes] => = + [Non-alpha11_quotes] => : + [Non-alpha12_quotes] => ? + [Non-alpha13_quotes] => / + [Non-alpha14_quotes] => \ + [Non-alpha15_quotes] => & + [Non-alpha16_quotes] => {} + [Non-alpha17_quotes] => | + [Non-alpha18_quotes] => ~ + [Non-alpha19_quotes] => ! + [non-alpha20_quotes] => $ + [non-alpha21_quotes] => () + [Non-alpha_string1] => Hello@world + [Non-alpha_string1_quotes] => Hello@world + [Non-alpha_string2_quotes] => Hello!world + [Non-alpha_string3_quotes] => Hello#world + [Non-alpha_string4_quotes] => Hello&world + [Non-alpha_string5_quotes] => Hello*world + [Non-alpha_string6_quotes] => Hello+world + [Non-alpha_string7_quotes] => Hello-world + [Non-alpha_string8_quotes] => Hello'world + [Non-alpha_string9_quotes] => Hello:world + [Non-alpha_string10_quotes] => Hello;world + [Non-alpha_string11_quotes] => Hello Hello>world + [Non-alpha_string13_quotes] => Hello>world + [Non-alpha_string14_quotes] => Hello?world + [Non-alpha_string15_quotes] => Hello\world + [Non-alpha_string16_quotes] => Hello^world + [Non-alpha_string17_quotes] => Hello_world + [Non-alpha_string18_quotes] => Hello|world + [Non-alpha_string19_quotes] => Hello~world + [Non-alpha_string20_quotes] => Hello`world + [Non-alpha_string21_quotes] => Hello(world) + [String1] => Hello, world +Good Morning + [String2] => +Hello, world + Good Morning + + [String3] => Hello, worldGood Morning + [String4] => + + [String5] => + + + [Key1] => 1 + [Key2] => 1 + [Key3] => 1 + [Key4] => + [Key5] => + [Key6] => + [Key7] => 1 + [Key8] => 1 + [Key9] => 1 + [Key10] => 1 + [Key11] => + [Key12] => + [Key13] => + [Key14] => + [Key15] => + [Key16] => + [Key17] => + [Key18] => +) + +-- ini file with process_sections as TRUE -- +Array +( + [Constans] => Array + ( + [one] => 1 + [five] => 5 + [animal] => Humming bird + [Language] => PHP + [PHP_CONSTANT] => 1.2345678 + [10] => Ten + [HELLO] => HELLO + ) + + [date] => Array + ( + [date] => + [time] => + ) + + [paths] => Array + ( + [path] => /usr/local/bin + [URL] => http://www.php.net + ) + + [Decimal] => Array + ( + [Decimal_value1] => 100 + [Decimal_value2] => -100 + [Decimal_value3] => -2147483647 + [Decimal_value4] => 2147483647 + [Decimal_value5] => -2147483648 + [Decimal_value6] => 2147483648 + ) + + [Octal] => Array + ( + [Octal_value] => 0100 + ) + + [Hex] => Array + ( + [Hex_value1] => 0x101 + [Hex_Value2] => 0x103 + ) + + [Non-alphanumerics_as_values] => Array + ( + [Non-alpha1] => + [Non-alpha2] => + + [Non-alpha3] => * + [Non-alpha4] => % + [Non-alpha5] => <> + [Non-alpha6] => @ + [Non-alpha7] => # + [Non-alpha8] => ^ + [non-alpha9] => - + [Non-alpha10] => : + [Non-alpha11] => ? + [Non-alpha12] => / + [Non-alpha13] => \ + [Non-alpha1_quotes] => ; + [Non-alpha2_quotes] => + + [Non-alpha3_quotes] => * + [Non-alpha4_quotes] => % + [Non-alpha5_quotes] => <> + [Non-alpha6_quotes] => @ + [Non-alpha7_quotes] => # + [Non-alpha8_quotes] => ^ + [Non-alpha9_quotes] => - + [Non-alpha10_quotes] => = + [Non-alpha11_quotes] => : + [Non-alpha12_quotes] => ? + [Non-alpha13_quotes] => / + [Non-alpha14_quotes] => \ + [Non-alpha15_quotes] => & + [Non-alpha16_quotes] => {} + [Non-alpha17_quotes] => | + [Non-alpha18_quotes] => ~ + [Non-alpha19_quotes] => ! + [non-alpha20_quotes] => $ + [non-alpha21_quotes] => () + ) + + [Non-alpha numerics in strings] => Array + ( + [Non-alpha_string1] => Hello@world + ) + + [Non-alpha numerics in strings -with quotes] => Array + ( + [Non-alpha_string1_quotes] => Hello@world + [Non-alpha_string2_quotes] => Hello!world + [Non-alpha_string3_quotes] => Hello#world + [Non-alpha_string4_quotes] => Hello&world + [Non-alpha_string5_quotes] => Hello*world + [Non-alpha_string6_quotes] => Hello+world + [Non-alpha_string7_quotes] => Hello-world + [Non-alpha_string8_quotes] => Hello'world + [Non-alpha_string9_quotes] => Hello:world + [Non-alpha_string10_quotes] => Hello;world + [Non-alpha_string11_quotes] => Hello Hello>world + [Non-alpha_string13_quotes] => Hello>world + [Non-alpha_string14_quotes] => Hello?world + [Non-alpha_string15_quotes] => Hello\world + [Non-alpha_string16_quotes] => Hello^world + [Non-alpha_string17_quotes] => Hello_world + [Non-alpha_string18_quotes] => Hello|world + [Non-alpha_string19_quotes] => Hello~world + [Non-alpha_string20_quotes] => Hello`world + [Non-alpha_string21_quotes] => Hello(world) + ) + + [Newlines_in_Values] => Array + ( + [String1] => Hello, world +Good Morning + [String2] => +Hello, world + Good Morning + + [String3] => Hello, worldGood Morning + [String4] => + + [String5] => + + + ) + + [ReservedKeys_as_Values] => Array + ( + [Key1] => 1 + [Key2] => 1 + [Key3] => 1 + [Key4] => + [Key5] => + [Key6] => + [Key7] => 1 + [Key8] => 1 + [Key9] => 1 + [Key10] => 1 + [Key11] => + [Key12] => + [Key13] => + [Key14] => + [Key15] => + [Key16] => + [Key17] => + [Key18] => + ) + + [ReservedKeys_as_Keys] => Array + ( + ) + +) +*** Done ** \ No newline at end of file