aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/src/Google.Protobuf.Test
Commit message (Collapse)AuthorAge
* Fix merging with message-valued oneofGravatar Jon Skeet2017-10-31
| | | | | | | | | | If messages A and B have the same oneof case, which is a message type, and we merge B into A, those sub-messages should be merged. Fixes #3200. Note that I haven't regenerated all the code, as some of the protos have been changed, breaking generation.
* 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.
* Detect invalid tags with a field number of 0 in C#Gravatar Jon Skeet2017-08-11
| | | | | | | | Previously we only rejected the tag if the tag itself was 0, i.e. field=0, type=varint. The type doesn't matter: field 0 is always invalid. This removes the last of the C# conformance failures.
* Update the comment on the message_type to cover what it should be.Gravatar Thomas Van Lenten2017-07-26
|
* Merge pull request #3281 from BSBandme/ConformanceTestYilunChongGravatar Yilun Chong2017-07-24
|\ | | | | Proto2 test message support to conformance test
* | C#: Implement IReadOnlyDictionary<K,V> in MapField<K,V>Gravatar Jean-Rémy Bancel2017-07-12
| |
| * fix php failing list and csharp generated protoGravatar Yilun Chong2017-07-05
| |
* | Ensure leaveOpen is true when writing to a bufferGravatar Jon Skeet2017-07-04
| | | | | | | | | | | | | | | | Note that the compatibility tests have had to cahnge as well, to cope with internal changes. (The test project has access to internals in the main project.) Fixes #3209.
* | Make Any easier to work with in C#Gravatar Jon Skeet2017-07-03
|/ | | | | | | - Add a TryUnpack method which doesn't throw if the type is wrong - Make GetTypeName public for easier determination of the message type Fixes #3294.
* update csharp README and fix .NET 3.5 build errorGravatar John Brock2017-05-25
|
* Convert C# projects to MSBuild (csproj) formatGravatar Jon Skeet2017-05-24
| | | | | | | | | | | | | | | | | This has one important packaging change: the netstandard version now depends (implicitly) on netstandard1.6.1 rather than on individual packages. This is the preferred style of dependency, and shouldn't affect any users - see http://stackoverflow.com/questions/42946951 for details. The tests are still NUnit, but NUnit doesn't support "dotnet test" yet; the test project is now an executable using NUnitLite. (When NUnit supports dotnet test, we can adapt to it.) Note that the project will now only work in Visual Studio 2017 (and Visual Studio Code, and from the command line with the .NET Core 1.0.0 SDK); Visual Studio 2015 does *not* support this project file format.
* Add FormatEnumAsInt support for Json Format. And scale ↵Gravatar Jie Luo2017-03-24
| | | | JsonFormatter.Settings to multiple options.
* There might be duplicated enum values when allow_alias is true. Add ↵Gravatar Jie Luo2017-02-28
| | | | PreferredAlias into OriginalNameAttribute to remove the duplication (#2727)
* Upgrading test-related librariesGravatar John Brock2017-02-23
| | | | | NUnit 3.4.0 —> 3.6.0 dotnet-test-nunit 3.4.0-alpha-2 —> 3.4.0-beta-3
* Fixes for .NET 3.5 compatibilityGravatar John Brock2017-02-23
| | | | | * Changing DOTNET35 framework symbols in preprocessor directives to the default built-in value of NET35. * Adding extension method StreamExtension.CopyTo for .NET 3.5 because it didn’t exist until .NET 4, and adding associated unit tests.
* Fix CopyTo argument validationGravatar Jon Skeet2017-02-06
| | | | Fixes #2669.
* Add Oneof custom options testGravatar Jie Luo2017-01-27
|
* Support custom options in C#Gravatar Jon Skeet2017-01-19
| | | | | | | | | | | | This consists of: - Changing the codegen for the fixed set of options protos, to parse unknown fields instead of skipping them - Add a new CustomOptions type in the C# support library - Expose CustomOptions properties from the immutable proto wrappers in the support library Only single-value options are currently supported, and fetching options values requires getting the type right and knowing the field number. Both of these can be addressed at a later time. Fixes #2143, at least as a first pass.
* Add ByteString.FromStream and ByteString.FromStreamAsync in C#Gravatar Jon Skeet2017-01-10
| | | | | | | | | | Fixes #2088. We now have separate tests for netcoreapp and net45 to test the two branches here. (netstandard10 doesn't have MemoryStream.GetBuffer) Although most of this library doesn't have any async functionality, this feels like a natural place to locally add it.
* Give C# ByteString a sensible GetHashCode implementation.Gravatar Jon Skeet2016-12-16
| | | | Fixes #2511.
* remove leading whitespace in C# xml commentsGravatar Jan Tattermusch2016-12-12
|
* Factored Conformance and Benchmark test messages into shared test schema. ↵Gravatar Joshua Haberman2016-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#1971) * Factored Conformance test messages into shared test schema. * Updated benchmarks to use new proto3 message locations. * Fixed include path. * Conformance: fixed include of Python test messages. * Make maven in Rakefile use --batch-mode. * Revert changes to benchmarks. On second thought I think a separate schema for CPU benchmarking makes sense. * Try regenerating C# protos for new test protos. * Removed benchmark messages from test proto. * Added Jon Skeet's fixes for C#. * Removed duplicate/old test messages C# file. * C# fixes for test schema move. * Fixed C# to use the correct TestAllTypes message. * Fixes for Objective C test schema move. * Added missing EXTRA_DIST file.
* Fix csharp/src/Google.Protobuf.Test/project.jsonGravatar Julien Brianceau2016-11-14
| | | | | | | This change fixes the following Chromium presubmit error: third_party/protobuf/csharp/src/Google.Protobuf.Test/project.json could not be parsed: Expecting property name: line 25 column 3 (char 482)
* Change JSON field name formattingGravatar Jon Skeet2016-11-03
| | | | | | | | | This affects cases with leading capital letters. This breaks compatibility with previous C# releases, but fixes compatibility with other implementations. See #2278 for details.
* Bring C#'s ToPascalCase method in line with C++.Gravatar Jon Skeet2016-07-27
| | | | | (This still doesn't fix the conformance tests, but at least we're now consistent with the C++ code.)
* Move to dotnet cli for building, and .NET Core (netstandard1.0) as target ↵Gravatar Jon Skeet2016-07-14
| | | | | | | platform (#1727) Move to dotnet cli for building, and .NET Core (netstandard1.0) as target platform This also updates the version number to 3.0.0-beta4
* Implement RepeatedField.AddRange (#1733)Gravatar Jon Skeet2016-07-13
| | | | | | | | | | | | | | | | | | | * Improve exception throwing implementation in collections * Implement RepeatedField.AddRange. This fixes issue #1730. * Optimize AddRange for sequences implementing ICollection (Also fix a few more C# 6-isms.) * Remove the overload for Add(RepeatedField<T>) We now just perform the optimization within AddRange itself. This is a breaking change in terms of "drop in the DLL", but is source compatible, which should be fine.
* Remove unnecessary reflection callGravatar Jon Skeet2016-07-08
| | | | | This is the only call to TypeExtensions.IsValueType, so we can remove that method, making the whole type conditionally compiled out for .NET 3.5
* Changes to generated code from previous commitGravatar Jon Skeet2016-07-04
|
* Adding conditional compiler symbol to support .NET 3.5 (#1713)Gravatar detlevschwabe2016-06-28
| | | | * Adding condition compiler symbol to support .NET 3.5
* Expose JsonFormatter.WriteValue.Gravatar Jon Skeet2016-06-23
| | | | | This isn't useful to most users, but can be handy in advanced use cases, as requested in #1465.
* 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).
* Fixed parsing of BoolValue.Gravatar Jos Hickson2016-05-11
|
* 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.
* Remove duplicate test cases.Gravatar Jon Skeet2016-04-01
| | | | (NCrunch noticed these.)
* Code review fixesGravatar alien2016-03-29
|
* csharp: add support for the json_name optionGravatar alien2016-03-18
| | | | | Conflicts: csharp/src/Google.Protobuf/JsonFormatter.cs
* Replace StringBuilder with TextWriter in JsonFormatterGravatar avgweb2016-03-06
|
* Fix copy/paste typo in CodedInputStreamTestGravatar Jon Skeet2016-03-01
|
* Implement IDisposable for CodedInputStream and CodedOutputStreamGravatar Jon Skeet2016-02-29
| | | | | This fixes issue #679 and issue #1282. (The .gitignore change is just around ncrunch; I can put it in a separate PR if you really want.)
* Merge pull request #1240 from jskeet/validate_groupGravatar Jan Tattermusch2016-02-18
|\ | | | | Validate that end-group tags match their corresponding start-group tags
* | Add more tests around merging wrappersGravatar Jon Skeet2016-02-15
| | | | | | | | This was in an attempt to fix the wrapper handling corner case, but it's really fiddly.
| * Validate that end-group tags match their corresponding start-group tagsGravatar Jon Skeet2016-02-15
|/ | | | | | | | This detects: - An end-group tag with the wrong field number (doesn't match the start-group field) - An end-group tag with no preceding start-group tag Fixes issue #688.
* Use checked-in key to build ReleaseSignedGravatar Jan Tattermusch2016-02-09
|
* Generated code changes from previous commitGravatar Jon Skeet2016-02-04
|
* Generated code for GeneratedCodeInfo changeGravatar Jon Skeet2016-02-04
|
* Merge pull request #1158 from jskeet/nonnormalized-tostringGravatar Jan Tattermusch2016-01-26
|\ | | | | Ensure that FieldMask, Timestamp and Duration ToString() calls don't throw
* | Fix mistakes in highest-representable float64 integersGravatar Jon Skeet2016-01-21
| |
| * Ensure that FieldMask, Timestamp and Duration ToString() calls don't throwGravatar Jon Skeet2016-01-20
|/ | | | | | | | | | | | | The usage of ICustomDiagnosticMessage here is non-essential - ToDiagnosticString doesn't actually get called by ToString() in this case, due to JsonFormatter code. It was intended to make it clearer that it *did* have a custom format... but then arguably I should do the same for Value, Struct, Any etc. Moving some of the code out of JsonFormatter and into Duration/Timestamp/FieldMask likewise feels somewhat nice, somewhat nasty... basically there are JSON-specific bits of formatting, but also domain-specific bits of computation. <sigh> Thoughts welcome.