aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/src/Google.Protobuf.Test/JsonParserTest.cs
Commit message (Collapse)AuthorAge
* Allow list values to be null when parsingGravatar Jon Skeet2018-03-01
|
* MMinor fix-ups to C# tests from changes in earlier commitsGravatar Jon Skeet2017-11-12
|
* Add JsonParser setting to ignore unknown field valuesGravatar Jon Skeet2017-10-28
| | | | | | | Note that the default behavior is still to throw an exception; you need to opt into ignoring unknown fields. Fixes #2838.
* Move test for standalone BoolValue to JsonParserTestGravatar Jon Skeet2016-05-11
| | | | | | Also added a standalone formatter test, for confidence. Have validated that undoing the change in 835fb947 breaks the tests (i.e. we are still testing that the change is required).
* Allow custom type URL prefixes in Any.PackGravatar Jon Skeet2016-04-29
| | | | | | (And likewise ignore the prefix in unpack.) Fixes issue #1459.
* Regenerate all C# code and make it compileGravatar Jon Skeet2016-04-20
| | | | JSON tests fail, as we're not using OriginalNameAttribute yet.
* Fix mistakes in highest-representable float64 integersGravatar Jon Skeet2016-01-21
|
* Merge pull request #1096 from jskeet/custom-to-stringGravatar Jan Tattermusch2016-01-19
|\ | | | | Introduce ICustomDiagnosticMessage to allow for custom string formatting
* | Make sure thatGravatar Jon Skeet2016-01-15
| | | | | | | | | | | | "valueField": null is parsed appropriately, i.e. that it remembers that the field is set.
* | Reject JSON containing the same oneof field twiceGravatar Jon Skeet2016-01-15
| |
* | Change handling of unknown enums: we now write out the value as a number.Gravatar Jon Skeet2016-01-15
| |
* | Extra strictness for FieldMask conversionGravatar Jon Skeet2016-01-15
| |
* | Allow the original field name (rather than camel-cased) when parsing JSONGravatar Jon Skeet2016-01-15
| |
* | Fixes to JSON timestamp/duration representationsGravatar Jon Skeet2016-01-15
| |
* | Prohibit null values in repeated and map fields in JSONGravatar Jon Skeet2016-01-15
| |
* | Throw a better exception when invalid base64 is detected in JSONGravatar Jon Skeet2016-01-15
| |
* | Support (and test) numeric enum parsing in JSONGravatar Jon Skeet2016-01-15
| |
* | JSON conformance test fixesGravatar Jon Skeet2016-01-13
| | | | | | | | | | - Spot an Any without a type URL - In the conformance test runner, catch exceptions due to generally-invalid JSON
| * Introduce ICustomDiagnosticMessage to allow for custom string formattingGravatar Jon Skeet2016-01-13
|/ | | | This fixes issue #933, effectively.
* Merge pull request #1098 from jskeet/wkt-jsonGravatar Jan Tattermusch2016-01-08
|\ | | | | Ensure all formatted well-known-type values are valid JSON
| * Ensure all formatted well-known-type values are valid JSONGravatar Jon Skeet2016-01-06
| | | | | | | | | | | | | | This involves quoting timestamp/duration/field-mask values, even when they're not in fields. It's better for consistency. Fixes issue #1097.
* | Improve number handling in JSON parsingGravatar Jon Skeet2016-01-06
|/ | | | | | - Tighten up on Infinity/NaN handling in terms of whitespace handling (and test casing) - Validate that values are genuinely integers when they've been parsed from a JSON number (ignoring the fact that 1.0000000000000000001 == 1 as a double...) - Allow exponents and decimal points in string representations
* Handle JSON parsing for Any.Gravatar Jon Skeet2015-12-02
| | | | This required a rework of the tokenizer to allow for a "replaying" tokenizer, basically in case the @type value comes after the data itself. This rework is nice in some ways (all the pushback and object depth logic in one place) but is a little fragile in terms of token push-back when using the replay tokenizer. It'll be fine for the scenario we need it for, but we should be careful...
* Generated code changes and manual changes for previous commit.Gravatar Jon Skeet2015-11-09
|
* Merge pull request #941 from jskeet/recursion-limitGravatar Jan Tattermusch2015-11-05
|\ | | | | Add recursion limit handling to JSON parsing.
* | Created a new exception for JSON failures.Gravatar Jon Skeet2015-11-05
| | | | | | | | | | | | This is only thrown directly by JsonTokenizer, but surfaces from JsonParser as well. I've added doc comments to hopefully make everything clear. The exception is actually thrown by the reader within JsonTokenizer, in anticipation of keeping track of the location within the document, but that change is not within this PR.
| * Add recursion limit handling to JSON parsing.Gravatar Jon Skeet2015-11-04
|/ | | | Fixes issue #932.
* Implement JSON parsing in C#.Gravatar Jon Skeet2015-11-03
This includes all the well-known types except Any. Some aspects are likely to require further work when the details of the JSON parsing expectations are hammered out in more detail. Some of these have "ignored" tests already. Note that the choice *not* to use Json.NET was made for two reasons: - Going from 0 dependencies to 1 dependency is a big hit, and there's not much benefit here - Json.NET parses more leniently than we'd want; accommodating that would be nearly as much work as writing the tokenizer This only really affects the JsonTokenizer, which could be replaced by Json.NET. The JsonParser code would be about the same length with Json.NET... but I wouldn't be as confident in it.