HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //usr/share/pear/test/json/tests/011-comments.phpt
--TEST--
JsonIncremantalParser::parseFile() test
--SKIPIF--
<?php
  if (!extension_loaded("json"))
    die('skip: json extension not available');
  if (!JSON_C_BUNDLED && version_compare(JSON_C_VERSION, "0.11", "le"))
    die('skip: need json-c library > 0.11')
?>
--FILE--
<?php
$ins = array(
    "/ bad comment\n[\"foo\"]",
    "// comment\n[\"foo\"]",
    "/* comment */ [\"foo\"]",
    "[/* comment */ \"foo\"]",
    "[\"/* not a comment */ foo\"]",
);
foreach($ins as $in) {
    echo "Testing: $in\n";
    var_dump(json_decode($in));
    var_dump(json_decode($in, true, 512, JSON_PARSER_NOTSTRICT));
}
echo "Done\n";
?>
--EXPECT--
Testing: / bad comment
["foo"]
NULL
NULL
Testing: // comment
["foo"]
NULL
array(1) {
  [0]=>
  string(3) "foo"
}
Testing: /* comment */ ["foo"]
NULL
array(1) {
  [0]=>
  string(3) "foo"
}
Testing: [/* comment */ "foo"]
NULL
array(1) {
  [0]=>
  string(3) "foo"
}
Testing: ["/* not a comment */ foo"]
array(1) {
  [0]=>
  string(23) "/* not a comment */ foo"
}
array(1) {
  [0]=>
  string(23) "/* not a comment */ foo"
}
Done