Commit Graph

1058 Commits

Author SHA1 Message Date
Sean Leary 1726b6cf55 Merge pull request #776 from mccartney/junit-4-13-2
JUnit 4.13.2
2023-10-04 07:39:26 -05:00
Sean Leary beb2fb5706 Merge pull request #772 from eamonnmcmanus/complexkey
Disallow nested objects and arrays as keys in objects.
2023-10-01 11:04:40 -05:00
Grzegorz Olędzki ff921db783 Junit 4.13.2 2023-09-30 21:53:36 +02:00
Sean Leary ef68cdf810 Merge pull request #773 from eedijs/master
Add optJSONArray method to JSONObject with a default value
2023-09-30 11:47:01 -05:00
Éamonn McManus eaa5611ba3 Merge branch 'stleary:master' into complexkey 2023-09-28 11:33:08 -07:00
Éamonn McManus dbb113176b Add more test cases for unquoted text in objects and arrays. 2023-09-28 11:05:50 -07:00
Éamonn McManus 16967f322e Simplify the check for object keys that are themselves objects.
For object keys, we can just skip the part of `nextValue()` that parses values
that are objects or arrays. Then the existing logic for unquoted values will
already stop at `{` or `[`, and that will produce a `Missing value` exception.
2023-09-27 12:42:04 -07:00
Edijs 284a316838 Add optJSONArray and optJSONObject methods to JSONArray with a default value 2023-09-27 19:30:45 +03:00
Sean Leary 4e8231c512 Merge pull request #770 from eamonnmcmanus/testfixes
Small test fixes.
2023-09-25 20:37:44 -05:00
Edijs db0fde2a56 Add optJSONArray method to JSONObject with a default value 2023-09-25 20:31:58 +03:00
Éamonn McManus 661114c50d Generalize the logic to disallow nested objects and arrays as keys in objects.
Fixes #771.
2023-09-20 10:50:48 -07:00
Éamonn McManus 3e688afc66 Small test fixes.
One test method was missing `@Test` so it was never run.

One test method used another test class as the base for finding a test
resource. While this works in practice with Maven, it is not strictly
right.
2023-09-19 07:38:13 -07:00
Sean Leary 01727fd0ed Merge pull request #769 from jscrdev/fixed-warnings
Addressed Java 17 compile warnings
2023-09-16 08:30:44 -05:00
Valentyn Kolesnikov 74cd73f97c Addressed compile warnings 2023-09-08 07:34:00 +03:00
Sean Leary c29d4881e0 Merge pull request #741 from jscrdev/setup-java-11
Configure Java 8 as the minimum required version
2023-09-03 17:17:04 -05:00
Sean Leary 7c1b6531e7 Update CONTRIBUTING.md
Updated for Hacktoberfest 2023
2023-09-03 11:35:15 -05:00
Valentyn Kolesnikov db122e5d3a Merge branch 'master' into setup-java-11 2023-09-03 18:40:40 +03:00
Sean Leary a309931d20 Merge pull request #761 from bowbahdoe/master
Add module-info
2023-09-03 10:35:21 -05:00
Valentyn Kolesnikov e27da22e05 Update build.gradle 2023-08-29 05:00:13 +03:00
Valentyn Kolesnikov af6d07cecb Resolved Gradle build dependency 2023-08-29 03:22:20 +03:00
Sean Leary 64093366b3 Merge pull request #764 from johnjaylward/CodeQl_Pipeline_Update
Update CodeQL action version
2023-08-28 19:20:36 -05:00
John J. Aylward 9b69ec49ad update CodeQL action version 2023-08-28 12:51:52 -04:00
Valentyn Kolesnikov 2c674be1b6 Update pipeline.yml 2023-08-28 19:06:27 +03:00
Valentyn Kolesnikov be33deb7d5 Update README.md 2023-08-28 19:04:30 +03:00
Valentyn Kolesnikov 48089a4da7 Update pipeline.yml 2023-08-28 19:04:30 +03:00
Valentyn Kolesnikov a4e152f4f0 Update pipeline.yml 2023-08-28 19:03:43 +03:00
dburbrid 3dd8f2ecd5 Correction of bug when compiling/testing on Windows: Issue537 file must be read as UTF-8 (Issue 745) 2023-08-28 19:03:40 +03:00
Valentyn Kolesnikov bae0b0dac9 Updated mockito 2023-08-28 19:01:47 +03:00
Valentyn Kolesnikov e563dbcaaa Setup java 8 as minimum version 2023-08-28 19:00:00 +03:00
Ethan McCue 50dfcc59b3 Remove automatic module name 2023-08-16 11:25:15 -04:00
Ethan McCue b2943eb395 Add module-info to maven build 2023-08-16 11:24:57 -04:00
Sean Leary 60662e2f83 Merge pull request #759 from eamonnmcmanus/eofnull
JSON parsing should detect embedded `\0` values
2023-08-05 08:33:26 -05:00
Éamonn McManus 2a4bc3420a Apply simplification suggested by @johnjaylward. 2023-08-01 14:38:45 -07:00
É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
Sean Leary 402db6ad84 Merge pull request #753 from davejbur/add-object-methods-and-test
Updated new object methods
2023-07-14 20:03:13 -05: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
Sean Leary 8ce0019a5d Merge pull request #752 from davejbur/issue-745-compile-error
Correction of bug when compiling/testing on Windows
2023-06-28 20:45:05 -05: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
Sean Leary a963115ac2 Update pom.xml for maven deploy
Deploy failed on the mac pro with: gpg: signing failed: Inappropriate ioctl for device

Somehow I had a different gpg version installed. This change fixed it.
20230618
2023-06-18 12:58:32 -05:00
Sean Leary f959baa3cb Merge pull request #749 from stleary/pre-release-20230618
Prep for release 20230618
2023-06-18 12:24:27 -05:00
Sean Leary c048b36516 Update pom.xml for 20230618 2023-06-18 12:18:36 -05:00
Sean Leary f6e5bfa2db Update RELEASES.md for 20230618 2023-06-18 12:17:56 -05:00
Sean Leary 084b24cbe7 Update README.md for 20230618 2023-06-18 12:16:14 -05:00
Sean Leary 22ccf1b8e5 Merge pull request #740 from michael-o/proper-encoding
JSONTokener(InputStream) violates rfc8259#section-8.1 (#739)
2023-05-28 14:11:41 -05:00
Michael Osipov 133c0cc75f JSONTokener(InputStream) violates rfc8259#section-8.1 (#739)
Always use UTF-8 when an InputStream is passed.

This fixes #739.
2023-05-24 11:45:25 +02:00
Sean Leary 0578285036 Merge pull request #734 from superMaaax/fix_flaky
Fixed Flaky Tests Caused by JSON permutations
2023-03-27 16:25:57 -05: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
Sean Leary 8353b9c3f0 Merge pull request #731 from JoaoGFarias/patch-1
Removing commented out code in JSONObject optDouble()
2023-03-11 19:28:01 -06:00
Sean Leary fe22b242b5 Merge pull request #733 from haribabu-dev/jsontokener_closable
JSONTokener implemented java.io.Closeable
2023-03-11 19:26:55 -06:00