diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2024-06-10 22:39:55 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-11 09:39:55 +0800 |
| commit | c92ecda53337490633c95e6ae00e322dc9ad1fb8 (patch) | |
| tree | 47185f92938547b2c70fcf00b02c9acef772ac9c /tests | |
| parent | d20576d5cef3d7aa3b6d62db7aee9d9d5f03cc70 (diff) | |
| download | lua-cjson-c92ecda53337490633c95e6ae00e322dc9ad1fb8.tar.gz lua-cjson-c92ecda53337490633c95e6ae00e322dc9ad1fb8.tar.bz2 lua-cjson-c92ecda53337490633c95e6ae00e322dc9ad1fb8.zip | |
feature: Lua 5.3 + 5.4 integer support, with CI and conflicts fixed.
Co-Authored-By: Hisham Muhammad <hisham@gobolinux.org>
Co-authored-by: Mark Pulford <mark@kyne.com.au>
Co-authored-by: ichenq <ichenq@gmail.com>
Co-authored-by: Cloud Wu <cloudwu@gmail.com>
Co-authored-by: caijietao <t0350.prog@gmail.com>
Co-authored-by: actboy168 <actboy168@gmail.com>
Co-authored-by: wudeng <wudeng256@gmail.com>
Co-authored-by: caiyiheng <rangercyh@qq.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/agentzh.t | 42 | ||||
| -rwxr-xr-x | tests/genutf8.pl | 1 |
2 files changed, 43 insertions, 0 deletions
diff --git a/tests/agentzh.t b/tests/agentzh.t index 552630a..88a94b8 100644 --- a/tests/agentzh.t +++ b/tests/agentzh.t | |||
| @@ -332,3 +332,45 @@ Cannot serialise function: type not supported | |||
| 332 | 332 | ||
| 333 | {"valid":"valid"} | 333 | {"valid":"valid"} |
| 334 | ["one","two","three"] | 334 | ["one","two","three"] |
| 335 | |||
| 336 | |||
| 337 | |||
| 338 | === TEST 23: array-like proxy object with __len and __index | ||
| 339 | --- lua | ||
| 340 | local cjson = require "cjson" | ||
| 341 | local real_array = {"foo", "bar", "baz"} | ||
| 342 | local proxy_array = {} | ||
| 343 | setmetatable(proxy_array, { | ||
| 344 | __len = function() return 3 end, | ||
| 345 | __index = function(t, k) | ||
| 346 | return real_array[k] | ||
| 347 | end, | ||
| 348 | }) | ||
| 349 | |||
| 350 | print(cjson.encode(proxy_array)) | ||
| 351 | --- out | ||
| 352 | ["foo","bar","baz"] | ||
| 353 | |||
| 354 | |||
| 355 | |||
| 356 | === TEST 24: check that integers are handled correctly on Lua 5.3+ | ||
| 357 | --- lua | ||
| 358 | local lv = tonumber((_VERSION):match("Lua 5%.([0-9]+)")) | ||
| 359 | |||
| 360 | if lv >= 3 then | ||
| 361 | local cjson = require "cjson" | ||
| 362 | local array = cjson.decode [[ [10, 10.0, 3.5] ]] | ||
| 363 | for i = 1, 4 do | ||
| 364 | print(tostring(i) .. ": " .. tostring(math.type(array[i]))) | ||
| 365 | end | ||
| 366 | else | ||
| 367 | print("1: integer") | ||
| 368 | print("2: float") | ||
| 369 | print("3: float") | ||
| 370 | print("4: nil") | ||
| 371 | end | ||
| 372 | --- out | ||
| 373 | 1: integer | ||
| 374 | 2: float | ||
| 375 | 3: float | ||
| 376 | 4: nil | ||
diff --git a/tests/genutf8.pl b/tests/genutf8.pl index db661a1..c79f238 100755 --- a/tests/genutf8.pl +++ b/tests/genutf8.pl | |||
| @@ -6,6 +6,7 @@ | |||
| 6 | # cff03b039d850f370a7362f3313e5268 | 6 | # cff03b039d850f370a7362f3313e5268 |
| 7 | 7 | ||
| 8 | use strict; | 8 | use strict; |
| 9 | no warnings 'nonchar'; | ||
| 9 | 10 | ||
| 10 | # 0xD800 - 0xDFFF are used to encode supplementary codepoints | 11 | # 0xD800 - 0xDFFF are used to encode supplementary codepoints |
| 11 | # 0x10000 - 0x10FFFF are supplementary codepoints | 12 | # 0x10000 - 0x10FFFF are supplementary codepoints |
