Make sure byte position for invalid JSON is consistent and the exception message...
authorAhson Khan <ahson_ahmedk@yahoo.com>
Tue, 20 Aug 2019 04:16:36 +0000 (21:16 -0700)
committerGitHub <noreply@github.com>
Tue, 20 Aug 2019 04:16:36 +0000 (21:16 -0700)
commit633ae530eb6b8266174a784c0c076ec7c44660bf
treeba587b29fdbd6408c6e2f4475ab1feeb3e6e5b0f
parent6f1272161607cc77696549714633d64bf47759e1
Make sure byte position for invalid JSON is consistent and the exception message is accurate (dotnet/corefx#40349)

* Add tests for reading numbers when data is within a multi-segment
ReadOnlySequence.

* Test rename and add debug.assert.

* Test clean up - remove unnecessary/expensive Debug.Assert.

* Test and code cleanup.

* Address feedback - add stronger test condition for token length.

* Revert state on incomplete read and on error. Make sure exception
message is accurate.

* Fix byte position in line for invalid JSON and update tests.

* Address feedback - pass by in and move private struct to end.

* Fix string consumption and add various tests.

* Fix off-by-one error when calculating position.

* Test clean up - make sure multi-segment tests are in the right file.

* Update string parsing - do not increment line number for escaped newline
chars within quoted strings.

* Remove unnecessary custom state struct for string and re-use the same
one for both string and numbers.

* Update tests based on PR feedback.

* Create helper to get start sequence position from roll back state.

Commit migrated from https://github.com/dotnet/corefx/commit/a690f1658cdc4d92936bd709e644074b2e2e288e
src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.MultiSegment.cs
src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs
src/libraries/System.Text.Json/tests/Utf8JsonReaderTests.MultiSegment.cs
src/libraries/System.Text.Json/tests/Utf8JsonReaderTests.cs