From 047d80f792edc8464e004ed8dce885b073c85df5 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Sun, 11 Jan 2026 04:47:53 +0300 Subject: [PATCH] better testing + bugfix... Signed-off-by: Alex A. Naanou --- package.json | 2 +- serialize.js | 3 ++- test.js | 9 +++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 406906c..c964371 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ig-serialize", - "version": "1.0.5", + "version": "1.0.6", "description": "experimental extended json serializaion...", "main": "serialize.js", "scripts": { diff --git a/serialize.js b/serialize.js index 116f438..7c8c524 100644 --- a/serialize.js +++ b/serialize.js @@ -413,7 +413,7 @@ module.eJSON = { var mode = 'dec' if(str[j] == '0' && 'xXbBoO'.includes(str[j+1])){ - mode = str[j+1] + mode = str[j+1].toLowerCase() j++ } j++ while(j < str.length @@ -432,6 +432,7 @@ module.eJSON = { // exponent... || str[j] == 'e' || str[j] == 'E')){ + // exponent sign... if('eE'.includes(str[j]) && '+-'.includes(str[j+1])){ j++ } diff --git a/test.js b/test.js index 22b1d7f..7bf4503 100755 --- a/test.js +++ b/test.js @@ -49,6 +49,8 @@ var setups = test.Setups({ // return ['+123', json] }, 'number-exp': function(assert){ return ['1e+100', json] }, + 'number-exp-neg': function(assert){ + return ['1e-100', json] }, 'number-zero': function(assert){ return ['0', json] }, 'float-a': function(assert){ @@ -204,9 +206,16 @@ test.Cases({ ['123.', '123'], ['+123', '123'], ['123e100', '123e+100'], + ['123E100', '123e+100'], ['0xff', '255'], + ['0Xff', '255'], + ['0o77', '63'], + ['0O77', '63'], + ['0b11', '3'], + ['0B11', '3'], // string quotes... + // XXX test new lines... ["'abc'", '"abc"'], ['`abc`', '"abc"'],