From: Remi Collet Date: Thu, 5 Mar 2015 13:41:37 +0000 (+0100) Subject: Split tests. X-Git-Tag: v1.0.0RC1~3 X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-json_post;a=commitdiff_plain;h=b14bbb2fd8b3d37dbc59b38b87642422f9e2632b Split tests. 001: most types, return as array 002: bigint return as float member of an objet (32 bits only) 003: bigint return as string member of an objet (32 bits only) 004: bigint return as integer member of an objet (64 bits only) The bigint value used is >32bits but <64bits which doesn't exists in real world (to avoid issue with jsonc used in free distro) --- diff --git a/.gitignore b/.gitignore index 811bba1..6c8f7d6 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,5 @@ tests/*/*.exp tests/*/*.log tests/*/*.sh php_json_post.o +json_post-*.tgz +tmp-php.ini diff --git a/package.xml b/package.xml index 36e12d7..4b6ed04 100644 --- a/package.xml +++ b/package.xml @@ -49,6 +49,8 @@ This extension does not provide any constants, functions or classes. + + diff --git a/tests/001.phpt b/tests/001.phpt index b3e5775..d4ee29f 100644 --- a/tests/001.phpt +++ b/tests/001.phpt @@ -1,8 +1,8 @@ --TEST-- -json_post +json_post with most common types, as array --SKIPIF-- --POST_RAW-- Content-type: text/json @@ -11,7 +11,6 @@ Content-type: text/json "null": null, "bool": true, "int": 123, - "bigint": 36893488147419103232, "float": 123.123, "string": "Hello World", "array": [1,2,3], @@ -22,18 +21,17 @@ Content-type: text/json } --FILE-- +Done --EXPECTF-- -array(8) { +array(7) { ["null"]=> NULL ["bool"]=> bool(true) ["int"]=> int(123) - ["bigint"]=> - float(3.689%dE+19) ["float"]=> float(123.123) ["string"]=> @@ -62,4 +60,5 @@ array(8) { string(11) "Österreich" } } -string(8) "No error" \ No newline at end of file +int(0) +Done \ No newline at end of file diff --git a/tests/002.phpt b/tests/002.phpt index 643f560..18b2ce7 100644 --- a/tests/002.phpt +++ b/tests/002.phpt @@ -1,67 +1,27 @@ --TEST-- -json_post +json_post with > 32bits integer as float on 32bits --SKIPIF-- --INI-- -json_post.flags=2;JSON_BIGINT_AS_STRING +json_post.flags=0 --POST_RAW-- Content-type: text/json { - "null": null, - "bool": true, - "int": 123, - "bigint": 36893488147419103232, - "float": 123.123, - "string": "Hello World", - "array": [1,2,3], - "object": { - "array": [1,2,3], - "unicode": "\u00D6sterreich" - } + "bigint": 12345678901234 } --FILE-- +Done --EXPECTF-- -object(stdClass)#%d (8) { - ["null"]=> - NULL - ["bool"]=> - bool(true) - ["int"]=> - int(123) +object(stdClass)#%d (1) { ["bigint"]=> - string(20) "36893488147419103232" - ["float"]=> - float(123.123) - ["string"]=> - string(11) "Hello World" - ["array"]=> - array(3) { - [0]=> - int(1) - [1]=> - int(2) - [2]=> - int(3) - } - ["object"]=> - object(stdClass)#%d (2) { - ["array"]=> - array(3) { - [0]=> - int(1) - [1]=> - int(2) - [2]=> - int(3) - } - ["unicode"]=> - string(11) "Österreich" - } + float(12345678901234) } -string(8) "No error" \ No newline at end of file +int(0) +Done \ No newline at end of file diff --git a/tests/003.phpt b/tests/003.phpt new file mode 100644 index 0000000..9ee1aa6 --- /dev/null +++ b/tests/003.phpt @@ -0,0 +1,27 @@ +--TEST-- +json_post with > 32bits integer as float on 32bits +--SKIPIF-- + +--INI-- +json_post.flags=2;JSON_BIGINT_AS_STRING +--POST_RAW-- +Content-type: text/json + +{ + "bigint": 12345678901234 +} +--FILE-- + +Done +--EXPECTF-- +object(stdClass)#%d (1) { + ["bigint"]=> + string(14) "12345678901234" +} +int(0) +Done \ No newline at end of file diff --git a/tests/004.phpt b/tests/004.phpt new file mode 100644 index 0000000..2b69665 --- /dev/null +++ b/tests/004.phpt @@ -0,0 +1,27 @@ +--TEST-- +json_post with > 32bits integer as float on 64bits +--SKIPIF-- + +--INI-- +json_post.flags=0 +--POST_RAW-- +Content-type: text/json + +{ + "bigint": 12345678901234 +} +--FILE-- + +Done +--EXPECTF-- +object(stdClass)#%d (1) { + ["bigint"]=> + int(12345678901234) +} +int(0) +Done \ No newline at end of file