Commit Graph

186 Commits

Author SHA1 Message Date
Éamonn McManus b6ff0db984 Fix indentation in test. 2023-08-01 13:49:59 -07:00
Éamonn McManus c8a9e15a57 Don't skip past \0 when parsing JSON objects.
A better solution might be to use -1 instead 0 to represent EOF everywhere,
which of course means changing `char` variables to `int`. The solution here is
enough to solve the immediate problem, though.

Fixes #758.
2023-08-01 13:11:25 -07:00
dburbrid 4951ec48c8 Renamed object methods from ...Obj to ...Object.
Added object method for optDoubleObject (returns Double vice double).
Added similar methods in JSONArray.
Added test methods.
2023-06-29 09:39:34 +01:00
dburbrid 3d524349a1 Correction of bug when compiling/testing on Windows: Issue537 file must be read as UTF-8 (Issue 745) 2023-06-26 09:33:03 +01:00
superMaaax 48fb5261fe Fixed Flaky Tests Caused by JSON permutations
###Description
Flaky Tests found using NonDex by running the commands -
mvn -pl . edu.illinois:nondex-maven-plugin:2.1.1:nondex -Dtest=org.json.junit.XMLTest#testIndentComplicatedJsonObject

mvn -pl . edu.illinois:nondex-maven-plugin:2.1.1:nondex -Dtest=org.json.junit.XMLTest#testIndentSimpleJsonArray

mvn -pl . edu.illinois:nondex-maven-plugin:2.1.1:nondex -Dtest=org.json.junit.XMLTest#testIndentSimpleJsonObject

The logged failure was-

[ERROR] Failures:
[ERROR] XMLTest.testIndentSimpleJsonObject:1193 expected:<...>
<employee>
<[married>true</married>
<name>sonoo</name>
<salary>56000</salary]>
</employee>
</Te...> but was:<...>
<employee>
<[name>sonoo</name>
<salary>56000</salary>
<married>true</married]>
</employee>
</Te...>

The issue is the same for all three tests, so here I only show the failure message for the third test (to reduce the length of the error message).

### Investigation

The tests fail with a comparison error while comparing an expected JSON String and the result from the value returned from XML.toString(). The toString function of XML makes no guarantees as to the iteration order of the attributes in the object. This makes the test outcome non-deterministic, and the test fails whenever the function returns a mismatch in order of the elements in the JSON String. To fix this, the expected and actual keys should be checked in a more deterministic way so that the assertions do not fail.

### Fix

Expected and Actual values can be converted into JSONObject and the similar function can be used to compare these objects. As this function compares the values inside the JSONObjects without needing order, the test becomes deterministic and ensures that the flakiness from the test is removed.

The PR does not introduce a breaking change.
2023-03-21 20:58:32 -05:00
HariBabu t e1eabc9c27 JSONTokener implemented java.io.Closeable 2023-03-04 23:08:32 +08:00
Tamas Perger 24093491a8 refactor: introduce ParserConfiguration class hierarchy 2023-02-21 19:13:07 +00:00
Tamas Perger 72f4c3e646 refactor: rename XMLtoJSONMLParserConfiguration to JSONMLParserConfiguration 2023-02-12 01:32:34 +00:00
Tamas Perger df2d6f8363 fix: introduce optional XMLtoJSONMLParserConfiguration parameter for JSONML.toJSONArray(...) functions, to facilitate max nesting depth override. 2023-02-11 01:52:13 +00:00
Tamas Perger a6e412bded fix: limit the nesting depth in JSONML
Limit the XML nesting depth for CVE-2022-45688 when using the JsonML transform.
2023-02-10 01:46:44 +00:00
Cleydyr de Albuquerque eb56704e68 fix: set default maximum nesting depth as 512 2023-02-02 18:15:03 +01:00
Cleydyr de Albuquerque 651511f500 tests: add new test to verify that an XML having the permitted nesting depth can be converted 2023-02-01 20:22:47 +01:00
Cleydyr de Albuquerque a14cb12c85 refactor: keep consistence with other tests and tidy up constant 2023-02-01 20:22:32 +01:00
Cleydyr de Albuquerque f566a1d9ee fix: limit the nesting depth 2023-02-01 16:26:58 +01:00
Sean Leary 98df35449a Merge pull request #696 from bmk15897/fix-flaky-test
Update JSONPointerTest for NonDex compatibility
2022-10-15 08:24:01 -05:00
Bharati Kulkarni a2d3d3c9b5 Fix Flaky Test 2022-10-11 14:33:43 -05:00
Dean 85495facbd Corrected test 2022-10-10 11:12:35 +01:00
Dean 7aba3ac941 System line seperator now being used in JUnit test 2022-10-10 11:09:42 +01:00
Dean 80c1479ad8 Merge branch 'master' of https://github.com/stleary/JSON-java into Pretty-Print-XML-Functionality 2022-10-07 17:56:54 +01:00
Dean a2c0562e04 Removed unused import 2022-10-07 15:04:09 +01:00
Dean 4a8ff28fd8 Reduced Test code length by using resources 2022-10-07 10:35:06 +01:00
Dean fa457a4113 Test cases for XML toString indentation 2022-10-06 12:01:26 +01:00
Dean b7f708b222 Altered XML toString to allow indentation param 2022-10-06 12:01:13 +01:00
hendrixjoseph 1915aab7c4 create unit tests for various number formats 2022-10-04 14:32:41 -04:00
stleary 89f6e7f6a6 Merge branch 'master' into update-copyright 2022-08-26 20:59:00 -05:00
Sean Leary 346fb26f2d Merge pull request #683 from spaffrath/Issue_682_JSONString_similarity
Issue 682 JSONString similarity
2022-08-26 20:57:22 -05:00
stleary 6daabb43ab update-copyright - Replace copyright and license restrictions with Public Domain 2022-08-23 20:00:25 -05:00
stleary e0534b3ec7 initial attempt to test for inconsistent map types in JSONObject 2022-08-20 16:14:34 -05:00
Scott Paffrath 89f16ad0af Issue 682 JSONString similarity 2022-08-05 11:00:33 -07:00
John J. Aylward beae279b21 Updates tests to have updated message expectations 2022-03-21 13:06:19 -04:00
John J. Aylward 7a124d857d Add test cases for invalid input 2022-01-26 12:19:53 -05:00
Sean Leary cff5cc6c74 Merge pull request #646 from Zetmas/feature/issue#595
XMLParserConfiguration support for xml to json arrays
2021-12-03 19:37:00 -06:00
Liam Miller-Cushon 812955e39d Use IdentityHashSet for cycle detection
Fixes https://github.com/stleary/JSON-java/issues/650
2021-11-26 20:07:21 -05:00
Zach 5dd78bc0b9 Test case passed with tags with multiple entries set forceList 2021-11-19 21:22:38 -06:00
Zach e638955034 Pass test case for empty tag with forceList 2021-11-19 21:05:05 -06:00
Zach 3f9b53fee4 longer forcelist tests 2021-11-19 20:55:10 -06:00
Zach fafaeb7aa6 Added simple test case 2021-11-19 20:32:36 -06:00
Zach fca7e17b38 Added test cases for self recursion and complex but no recursion 2021-11-18 14:53:22 -06:00
Zach fb96e870a9 add test case and modified old ones 2021-11-17 20:00:12 -06:00
Zach 638273af7a long circle test 2021-11-17 19:41:00 -06:00
Zach 1ffcf3915c successful test 2021-11-17 19:35:53 -06:00
Zach 4565bddcbb data class for recursive test 2021-11-17 17:23:40 -06:00
katldewitt 3ed9154f63 fix: refactor tests
context: the backslash unit tests cannot be in the complete document as uriFragmentNotationRoot() will fail due to backslash handling
2021-10-28 05:59:22 -07:00
katldewitt 669316d29e chore: write unit tests for behavior 2021-10-28 05:45:23 -07:00
katldewitt 30a70c8886 chore: initial unit tests 2021-10-24 08:41:57 -07:00
sreekesh93 9000901a11 Fix test to support oreder mismatch 2021-10-11 19:55:31 +05:30
sreekesh93 f03eb56071 Fix test to support oreder mismatch 2021-10-11 19:46:27 +05:30
sreekesh93 b4bbc58644 Refactor JSONPointerTest 2021-10-11 10:42:31 +05:30
Liam Miller-Cushon 8ca8a80753 Fix some typos 2021-08-25 13:56:44 -07:00
stleary 8680b10716 merge from master to pick up #616 and add one more test 2021-07-26 18:07:38 -05:00