From aa5f28c09732db5fb3e316433547ea7cdecd8804 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sun, 2 Apr 2017 10:24:09 +1200 Subject: [PATCH] -Added Portable40 back --- Build/build.ps1 | 1 + Src/Newtonsoft.Json.Portable40.sln | 28 ++ .../Bson/BsonReaderAsyncTests.cs | 2 +- .../Bson/BsonReaderTests.cs | 2 +- .../Bson/BsonWriterAsyncTests.cs | 2 +- .../Bson/BsonWriterTests.cs | 2 +- .../Converters/BinaryConverterTests.cs | 4 +- .../Converters/DataSetConverterTests.cs | 2 +- .../Converters/DataTableConverterTests.cs | 4 +- .../Converters/ExpandoObjectConverterTests.cs | 2 +- .../Converters/XmlNodeConverterTest.cs | 6 +- Src/Newtonsoft.Json.Tests/DemoTests.cs | 8 +- Src/Newtonsoft.Json.Tests/ExceptionTests.cs | 2 +- Src/Newtonsoft.Json.Tests/JsonConvertTest.cs | 8 +- .../ExceptionHandlingAsyncTests.cs | 2 +- .../ExceptionHandlingTests.cs | 6 +- .../JsonTextReaderTests/FloatAsyncTests.cs | 2 +- .../JsonTextReaderTests/FloatTests.cs | 2 +- .../JsonTextReaderTests/MiscAsyncTests.cs | 2 +- .../JsonTextReaderTests/MiscTests.cs | 2 +- .../JsonTextReaderTests/ParseAsyncTests.cs | 2 +- .../JsonTextReaderTests/ParseTests.cs | 2 +- .../JsonTextReaderTests/ReadAsyncTests.cs | 4 +- .../JsonTextReaderTests/ReadTests.cs | 6 +- .../JsonTextWriterAsyncTests.cs | 2 +- .../JsonTextWriterTest.cs | 2 +- .../JsonValidatingReaderTests.cs | 4 +- .../Linq/ComponentModel/BindingTests.cs | 2 +- .../JPropertyDescriptorTests.cs | 2 +- .../Linq/DynamicTests.cs | 2 +- Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs | 2 +- .../Linq/JConstructorAsyncTests.cs | 2 +- .../Linq/JObjectAsyncTests.cs | 2 +- .../Linq/JObjectTests.cs | 12 +- .../Linq/JPropertyAsyncTests.cs | 2 +- .../Linq/JPropertyTests.cs | 2 +- .../Linq/JTokenAsyncTests.cs | 2 +- .../Linq/JTokenReaderAsyncTests.cs | 2 +- .../Linq/JTokenReaderTest.cs | 6 +- Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs | 8 +- .../Linq/JTokenWriterAsyncTests.cs | 2 +- .../Linq/JTokenWriterTest.cs | 8 +- .../Linq/JValueAsyncTests.cs | 2 +- Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs | 18 +- .../Linq/JsonPath/JPathExecuteTests.cs | 4 +- .../Linq/LinqToJsonAsyncTests.cs | 2 +- .../Linq/LinqToJsonTest.cs | 2 +- .../LinqToSqlClassesSerializationTests.cs | 2 +- .../Newtonsoft.Json.Tests.Portable40.csproj | 449 ++++++++++++++++++ ...tonsoft.Json.Tests.Portable40.project.json | 12 + .../Newtonsoft.Json.Tests.Roslyn.csproj | 2 +- .../Properties/AssemblyInfo.cs | 4 +- .../Schema/ExtensionsTests.cs | 4 +- .../Schema/JsonSchemaGeneratorTests.cs | 14 +- .../CamelCaseNamingStrategyTests.cs | 2 +- ...lCasePropertyNamesContractResolverTests.cs | 4 +- .../Serialization/ContractResolverTests.cs | 4 +- .../Serialization/DependencyInjectionTests.cs | 2 +- .../Serialization/DynamicTests.cs | 4 +- .../EntitiesSerializationTests.cs | 2 +- .../ImmutableCollectionsTests.cs | 2 +- .../JsonSerializerCollectionsTests.cs | 20 +- .../Serialization/JsonSerializerTest.cs | 68 +-- .../MetadataPropertyHandlingTests.cs | 2 +- .../ReferenceLoopHandlingTests.cs | 4 +- .../SerializationErrorHandlingTests.cs | 2 +- .../SnakeCaseNamingStrategyTests.cs | 2 +- .../Serialization/TraceWriterTests.cs | 8 +- .../Serialization/TypeNameHandlingTests.cs | 8 +- .../Serialization/WebApiIntegrationTests.cs | 10 +- Src/Newtonsoft.Json.Tests/TestFixtureBase.cs | 4 +- .../TestObjects/ConsoleWriter.cs | 2 +- .../TestObjects/CustomerDataSet.cs | 2 +- .../TestObjects/IMyInterface.cs | 2 +- .../TestObjects/MyInterfaceConverter.cs | 2 +- .../TestObjects/TraceWriter.cs | 2 +- .../TestObjects/TypeConverterJsonConverter.cs | 2 +- .../DynamicReflectionDelegateFactoryTests.cs | 2 +- .../Utilities/ReflectionUtilsTests.cs | 2 +- .../Newtonsoft.Json.Portable40.csproj | 270 +++++++++++ .../Newtonsoft.Json.Portable40.project.json | 8 + .../Newtonsoft.Json.Roslyn.csproj | 13 +- .../Properties/AssemblyInfo.cs | 2 + .../Serialization/DefaultContractResolver.cs | 6 +- .../DefaultSerializationBinder.cs | 2 +- .../Serialization/JsonTypeReflector.cs | 6 +- Src/Newtonsoft.Json/SerializationBinder.cs | 2 +- .../Utilities/DateTimeUtils.cs | 2 +- .../Utilities/ReflectionUtils.cs | 8 +- .../Utilities/TypeExtensions.cs | 4 +- 90 files changed, 978 insertions(+), 191 deletions(-) create mode 100644 Src/Newtonsoft.Json.Portable40.sln create mode 100644 Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Portable40.csproj create mode 100644 Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Portable40.project.json create mode 100644 Src/Newtonsoft.Json/Newtonsoft.Json.Portable40.csproj create mode 100644 Src/Newtonsoft.Json/Newtonsoft.Json.Portable40.project.json diff --git a/Build/build.ps1 b/Build/build.ps1 index b1672e9c..53b1624d 100644 --- a/Build/build.ps1 +++ b/Build/build.ps1 @@ -27,6 +27,7 @@ @{Name = "Newtonsoft.Json.Roslyn"; TestsName = "Newtonsoft.Json.Tests.Roslyn"; BuildFunction = "NetCliBuild"; TestsFunction = "NetCliTests"; NuGetDir = "netstandard1.0,netstandard1.3"; Framework=$null; Enabled=$true}, @{Name = "Newtonsoft.Json"; TestsName = "Newtonsoft.Json.Tests"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "net45"; Framework="net-4.0"; Enabled=$true}, @{Name = "Newtonsoft.Json.Portable"; TestsName = "Newtonsoft.Json.Tests.Portable"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "portable-net45+win8+wpa81+wp8"; Framework="net-4.0"; Enabled=$true}, + @{Name = "Newtonsoft.Json.Portable40"; TestsName = "Newtonsoft.Json.Tests.Portable40"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "portable-net40+win8+wpa81+wp8+sl5"; Framework="net-4.0"; Enabled=$true}, @{Name = "Newtonsoft.Json.Net40"; TestsName = "Newtonsoft.Json.Tests.Net40"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "net40"; Framework="net-4.0"; Enabled=$true}, @{Name = "Newtonsoft.Json.Net35"; TestsName = "Newtonsoft.Json.Tests.Net35"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "net35"; Framework="net-2.0"; Enabled=$true}, @{Name = "Newtonsoft.Json.Net20"; TestsName = "Newtonsoft.Json.Tests.Net20"; BuildFunction = "MSBuildBuild"; TestsFunction = "NUnitTests"; NuGetDir = "net20"; Framework="net-2.0"; Enabled=$true} diff --git a/Src/Newtonsoft.Json.Portable40.sln b/Src/Newtonsoft.Json.Portable40.sln new file mode 100644 index 00000000..0529cddc --- /dev/null +++ b/Src/Newtonsoft.Json.Portable40.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json.Portable40", "Newtonsoft.Json\Newtonsoft.Json.Portable40.csproj", "{959F7F85-C98B-4876-971A-9036224578E4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json.Tests.Portable40", "Newtonsoft.Json.Tests\Newtonsoft.Json.Tests.Portable40.csproj", "{3E6E2335-B079-4B5B-A65A-9D586914BCBB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {959F7F85-C98B-4876-971A-9036224578E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {959F7F85-C98B-4876-971A-9036224578E4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {959F7F85-C98B-4876-971A-9036224578E4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {959F7F85-C98B-4876-971A-9036224578E4}.Release|Any CPU.Build.0 = Release|Any CPU + {3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3E6E2335-B079-4B5B-A65A-9D586914BCBB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs index 827b1a1b..289e91fa 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderAsyncTests.cs @@ -24,7 +24,7 @@ #endregion #pragma warning disable 618 -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Collections.Generic; using System.Globalization; diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs index 9269e0d7..b92bc9e8 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonReaderTests.cs @@ -1491,7 +1491,7 @@ namespace Newtonsoft.Json.Tests.Bson Assert.AreEqual(badText, (string)o["test"]); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 public class BigIntegerTestClass { public BigInteger Blah { get; set; } diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs index a0cc4cde..627e1e77 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterAsyncTests.cs @@ -24,7 +24,7 @@ #endregion #pragma warning disable 618 -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; #if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 using System.Numerics; diff --git a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs index 614b0e13..d7bb8bfd 100644 --- a/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Bson/BsonWriterTests.cs @@ -798,7 +798,7 @@ namespace Newtonsoft.Json.Tests.Bson Assert.AreEqual(c.AGuid, c2.AGuid.ToString()); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void WriteBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs index a0d6c2dd..391a5900 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs @@ -55,7 +55,7 @@ namespace Newtonsoft.Json.Tests.Converters public byte[] NullByteArray { get; set; } } -#if !(NET20 || PORTABLE || DNXCORE50) +#if !(NET20 || PORTABLE || PORTABLE40 || DNXCORE50) [Test] public void DeserializeBinaryClass() { @@ -121,7 +121,7 @@ namespace Newtonsoft.Json.Tests.Converters }", json); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) public class SqlBinaryClass { public SqlBinary SqlBinary { get; set; } diff --git a/Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs index 93df7c4f..41b8528e 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/DataSetConverterTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) using System; using Newtonsoft.Json.Converters; #if DNXCORE50 diff --git a/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs index 5b008df2..1539564e 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/DataTableConverterTests.cs @@ -28,7 +28,7 @@ using System.Text; using Newtonsoft.Json.Bson; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) using System; using System.Collections.Generic; #if DNXCORE50 @@ -486,7 +486,7 @@ namespace Newtonsoft.Json.Tests.Converters StringAssert.AreEqual(@"null", json); } -#if !(NET20 || PORTABLE) +#if !(NET20 || PORTABLE || PORTABLE40) [Test] public void DeserializedTypedDataTableWithConverter() { diff --git a/Src/Newtonsoft.Json.Tests/Converters/ExpandoObjectConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/ExpandoObjectConverterTests.cs index d58d747e..dec67f4a 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/ExpandoObjectConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/ExpandoObjectConverterTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) using System; using System.Collections.Generic; using System.Dynamic; diff --git a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs index 86c29532..c0a529ec 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/XmlNodeConverterTest.cs @@ -23,6 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion +#if !(DNXCORE50 || PORTABLE40) using System.Globalization; #if NET20 using Newtonsoft.Json.Utilities.LinqBridge; @@ -2705,7 +2706,7 @@ namespace Newtonsoft.Json.Tests.Converters Assert.AreEqual(@"AsdAAAadad", xmlBack.OuterXml); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void DeserializeBigInteger() { @@ -2990,4 +2991,5 @@ namespace Newtonsoft.Json.Tests.Converters } #endif } -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/DemoTests.cs b/Src/Newtonsoft.Json.Tests/DemoTests.cs index b296ed03..3ac7c76f 100644 --- a/Src/Newtonsoft.Json.Tests/DemoTests.cs +++ b/Src/Newtonsoft.Json.Tests/DemoTests.cs @@ -24,7 +24,7 @@ #endregion using System; -#if !(NET20 || NET35 || NET40 || PORTABLE || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) using System.Buffers; #endif using System.Collections.Generic; @@ -592,7 +592,7 @@ namespace Newtonsoft.Json.Tests }", json); } -#if !(NET20 || NET35 || NET40 || PORTABLE || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) [Test] public void ArrayPooling() { @@ -610,7 +610,7 @@ namespace Newtonsoft.Json.Tests } #endif -#if !(NET20 || NET35 || NET40 || PORTABLE || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) [Test] public async Task AsyncDemo() { @@ -634,7 +634,7 @@ namespace Newtonsoft.Json.Tests #endif } -#if !(NET20 || NET35 || NET40 || PORTABLE || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) public class JsonArrayPool : IArrayPool { public static readonly JsonArrayPool Instance = new JsonArrayPool(); diff --git a/Src/Newtonsoft.Json.Tests/ExceptionTests.cs b/Src/Newtonsoft.Json.Tests/ExceptionTests.cs index a028afde..6714c48e 100644 --- a/Src/Newtonsoft.Json.Tests/ExceptionTests.cs +++ b/Src/Newtonsoft.Json.Tests/ExceptionTests.cs @@ -105,7 +105,7 @@ namespace Newtonsoft.Json.Tests } #pragma warning restore 618 -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) [Test] public void BinarySerializeException() { diff --git a/Src/Newtonsoft.Json.Tests/JsonConvertTest.cs b/Src/Newtonsoft.Json.Tests/JsonConvertTest.cs index 42e984dc..bd73abfa 100644 --- a/Src/Newtonsoft.Json.Tests/JsonConvertTest.cs +++ b/Src/Newtonsoft.Json.Tests/JsonConvertTest.cs @@ -30,7 +30,7 @@ using System.Collections.ObjectModel; using System.Globalization; using System.IO; using Newtonsoft.Json.Schema; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 using System.Numerics; #endif using System.Runtime.Serialization; @@ -609,7 +609,7 @@ namespace Newtonsoft.Json.Tests value = null; Assert.AreEqual("null", JsonConvert.ToString(value)); -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) value = DBNull.Value; Assert.AreEqual("null", JsonConvert.ToString(value)); #endif @@ -1111,7 +1111,7 @@ namespace Newtonsoft.Json.Tests writer.Flush(); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 [Test] public void IntegerLengthOverflows() { @@ -1661,7 +1661,7 @@ namespace Newtonsoft.Json.Tests Assert.IsNotNull(actual); } -#if !(NET40 || NET35 || NET20) +#if !(NET40 || NET35 || NET20 || PORTABLE40) [Test] public void ShouldNotPopulateReadOnlyDictionaryObjectWithNonDefaultConstructor() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs index c21f7bde..27a50fd3 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Globalization; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs index cbf6b06e..dcf57cda 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ExceptionHandlingTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 using System.Numerics; #endif using System.Text; @@ -616,7 +616,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests } } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 [Test] public void ReadInt64Overflow() { @@ -638,7 +638,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests } #endif -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 [Test] public void ReadInt64Overflow_Negative() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatAsyncTests.cs index 77bb2e6a..ee48f234 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; #if DNXCORE50 diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs index 53ac297c..19dd9558 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/FloatTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 using System.Numerics; #endif using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs index 69c1cf2f..112368ae 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Globalization; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs index c47b9aab..7f72970f 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/MiscTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 using System.Numerics; #endif using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseAsyncTests.cs index c5147187..5225eaaa 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs index c7ffab91..675b91dd 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ParseTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 using System.Numerics; #endif using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs index a88ba40e..42349002 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Globalization; @@ -56,7 +56,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests #endif public class ReadAsyncTests : TestFixtureBase { -#if !(PORTABLE || NET35 || NET20) +#if !(PORTABLE || PORTABLE40 || NET35 || NET20) [Test] public async Task ReadAsBooleanAsync() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs index 33c1c17c..55539c0d 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextReaderTests/ReadTests.cs @@ -28,7 +28,7 @@ using System.Collections; using System.Collections.Generic; using System.Globalization; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 using System.Numerics; #endif using System.Text; @@ -61,7 +61,7 @@ namespace Newtonsoft.Json.Tests.JsonTextReaderTests #endif public class ReadTests : TestFixtureBase { -#if !(PORTABLE || NET35 || NET20) +#if !(PORTABLE || PORTABLE40 || NET35 || NET20) [Test] public void ReadAsBoolean() { @@ -1194,7 +1194,7 @@ third line", jsonTextReader.Value); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 [Test] public void ReadBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs b/Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs index 4e6f3010..88017a75 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextWriterAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs b/Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs index e5ea2512..99c9d386 100644 --- a/Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs +++ b/Src/Newtonsoft.Json.Tests/JsonTextWriterTest.cs @@ -134,7 +134,7 @@ namespace Newtonsoft.Json.Tests Assert.AreEqual(1, arrayPool.FreeArrays.Count); } -#if !(NET20 || NET35 || NET40 || PORTABLE || DNXCORE50) +#if !(NET20 || NET35 || NET40 || PORTABLE || PORTABLE40 || DNXCORE50) [Test] public void BufferErroringWithInvalidSize() { diff --git a/Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs b/Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs index b4bc1cd2..4376c358 100644 --- a/Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs +++ b/Src/Newtonsoft.Json.Tests/JsonValidatingReaderTests.cs @@ -353,7 +353,7 @@ namespace Newtonsoft.Json.Tests Assert.IsNotNull(validationEventArgs); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void IntegerGreaterThanMaximumValue_BigInteger() { @@ -606,7 +606,7 @@ namespace Newtonsoft.Json.Tests Assert.IsNotNull(validationEventArgs); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void BigIntegerDivisibleBy_Success() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/BindingTests.cs b/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/BindingTests.cs index df75b3d4..3461dadf 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/BindingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/BindingTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) using NUnit.Framework; using System.Web.UI; using Newtonsoft.Json.Linq; diff --git a/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs b/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs index aa11f930..96aee34e 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/ComponentModel/JPropertyDescriptorTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) using NUnit.Framework; using Newtonsoft.Json.Linq; diff --git a/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs b/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs index ae894415..83129134 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs @@ -24,7 +24,7 @@ #endregion using System.Diagnostics; -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) using System; using System.Collections.Generic; using System.Dynamic; diff --git a/Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs index cf5fd278..49c8bee4 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JArrayTests.cs @@ -431,7 +431,7 @@ Parameter name: index"); } } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void ITypedListGetItemProperties() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JConstructorAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JConstructorAsyncTests.cs index 710913d0..3ed7a9c5 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JConstructorAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JConstructorAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using Newtonsoft.Json.Linq; #if DNXCORE50 diff --git a/Src/Newtonsoft.Json.Tests/Linq/JObjectAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JObjectAsyncTests.cs index 046de582..4a440088 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JObjectAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JObjectAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System.Collections.Generic; using Newtonsoft.Json.Tests.TestObjects; diff --git a/Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs index 83425456..3bd1acee 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JObjectTests.cs @@ -58,7 +58,7 @@ namespace Newtonsoft.Json.Tests.Linq [TestFixture] public class JObjectTests : TestFixtureBase { -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) [Test] public void EmbedJValueStringInNewJObject() { @@ -716,7 +716,7 @@ Parameter name: arrayIndex"); Assert.AreEqual(p4, l[1]); } -#if !(NET20 || PORTABLE) +#if !(NET20 || PORTABLE || PORTABLE40) [Test] public void PropertyChanging() { @@ -1259,7 +1259,7 @@ Parameter name: arrayIndex"); }, "Can not add property Test3 to Newtonsoft.Json.Linq.JObject. Property with the same name already exists on object."); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void IBindingListSortDirection() { @@ -1454,7 +1454,7 @@ Parameter name: arrayIndex"); } #endif -#if !(NET20 || NET35) +#if !(NET20 || NET35 || PORTABLE40) [Test] public void CollectionChanged() { @@ -1583,7 +1583,7 @@ Parameter name: arrayIndex"); Assert.AreEqual("Name2", value); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void WriteObjectNullDBNullValue() { @@ -1695,7 +1695,7 @@ Parameter name: arrayIndex"); }, "Unexpected end of content while loading JObject. Path 'short.error.code', line 6, position 14."); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void GetProperties() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JPropertyAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JPropertyAsyncTests.cs index 5a81846c..15a12ab5 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JPropertyAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JPropertyAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using Newtonsoft.Json.Linq; #if DNXCORE50 diff --git a/Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs index c9f65ea9..49b74c61 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JPropertyTests.cs @@ -61,7 +61,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(p, p.Value.Parent); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void ListChanged() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenAsyncTests.cs index c8162b60..b8a3b8cc 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Threading.Tasks; diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs index 6832cb3f..ba601184 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs index 4a259979..0fe86bd2 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenReaderTest.cs @@ -35,7 +35,7 @@ using NUnit.Framework; #endif using Newtonsoft.Json; using System.IO; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 using System.Numerics; #endif using Newtonsoft.Json.Linq; @@ -47,7 +47,7 @@ namespace Newtonsoft.Json.Tests.Linq [TestFixture] public class JTokenReaderTest : TestFixtureBase { -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 [Test] public void ConvertBigIntegerToDouble() { @@ -872,7 +872,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(1d, reader.ReadAsDouble()); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) || NETSTANDARD1_3 [Test] public void ReadAsBoolean_BigInteger_Success() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs index f0a475ff..1a5a1630 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenTests.cs @@ -369,7 +369,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(5, (int)(new JValue(StringComparison.OrdinalIgnoreCase))); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 string bigIntegerText = "1234567899999999999999999999999999999999999999999999999999999999999990"; Assert.AreEqual(BigInteger.Parse(bigIntegerText), (new JValue(BigInteger.Parse(bigIntegerText))).Value); @@ -449,7 +449,7 @@ namespace Newtonsoft.Json.Tests.Linq #endif ExceptionAssert.Throws(() => { var i = (Uri)new JValue(true); }, "Can not convert Boolean to Uri."); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 ExceptionAssert.Throws(() => { var i = (new JValue(new Uri("http://www.google.com"))).ToObject(); }, "Can not convert Uri to BigInteger."); ExceptionAssert.Throws(() => { var i = (JValue.CreateNull()).ToObject(); }, "Can not convert Null to BigInteger."); ExceptionAssert.Throws(() => { var i = (new JValue(Guid.NewGuid())).ToObject(); }, "Can not convert Guid to BigInteger."); @@ -524,7 +524,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.IsTrue(JToken.DeepEquals(new JValue((DateTimeOffset?)null), (JValue)(DateTimeOffset?)null)); #endif -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 // had to remove implicit casting to avoid user reference to System.Numerics.dll Assert.IsTrue(JToken.DeepEquals(new JValue(new BigInteger(1)), new JValue(new BigInteger(1)))); Assert.IsTrue(JToken.DeepEquals(new JValue((BigInteger?)null), new JValue((BigInteger?)null))); @@ -1147,7 +1147,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.IsTrue(a.DeepEquals(a2)); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void Clone() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterAsyncTests.cs index d65dbdcb..5fe39c15 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; #if !PORTABLE || NETSTANDARD1_3 diff --git a/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterTest.cs b/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterTest.cs index 1ab23b41..8134ff6e 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterTest.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JTokenWriterTest.cs @@ -25,7 +25,7 @@ using System; using System.Collections.Generic; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 using System.Numerics; #endif using System.Text; @@ -120,7 +120,7 @@ namespace Newtonsoft.Json.Tests.Linq jsonWriter.WriteValue("DVD read/writer"); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 jsonWriter.WriteValue(new BigInteger(123)); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); #endif @@ -172,7 +172,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); Assert.AreEqual(a[a.Count - 1], jsonWriter.CurrentToken); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 jsonWriter.WriteValue(new BigInteger(123)); Assert.AreEqual(WriteState.Array, jsonWriter.WriteState); Assert.AreEqual(a[a.Count - 1], jsonWriter.CurrentToken); @@ -205,7 +205,7 @@ namespace Newtonsoft.Json.Tests.Linq /*fail*/]", writer.Token.ToString()); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void WriteBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JValueAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JValueAsyncTests.cs index 541c1ced..9a28890b 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JValueAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JValueAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.IO; diff --git a/Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs index 0b329c29..7a731775 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JValueTests.cs @@ -150,7 +150,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual("Pie", v.Value); Assert.AreEqual(JTokenType.String, v.Type); -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) v.Value = DBNull.Value; Assert.AreEqual(DBNull.Value, v.Value); Assert.AreEqual(JTokenType.Null, v.Type); @@ -179,7 +179,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(g, v.Value); Assert.AreEqual(JTokenType.Guid, v.Type); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 BigInteger i = BigInteger.Parse("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990"); v.Value = i; Assert.AreEqual(i, v.Value); @@ -239,13 +239,13 @@ namespace Newtonsoft.Json.Tests.Linq v = new JValue(new Guid("B282ADE7-C520-496C-A448-4084F6803DE5")); Assert.AreEqual("b282ade7-c520-496c-a448-4084f6803de5", v.ToString(null, CultureInfo.InvariantCulture)); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 v = new JValue(BigInteger.Parse("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990")); Assert.AreEqual("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990", v.ToString(null, CultureInfo.InvariantCulture)); #endif } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void JValueParse() { @@ -513,7 +513,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual(Int32.MaxValue, Convert.ToInt32(new JValue(Int32.MaxValue))); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void ConvertsToInt32_BigInteger() { @@ -641,7 +641,7 @@ namespace Newtonsoft.Json.Tests.Linq } #endif -#if !(NET35 || NET20) +#if !(PORTABLE40 || NET35 || NET20) [Test] public void ExpicitConversionTest() { @@ -675,7 +675,7 @@ namespace Newtonsoft.Json.Tests.Linq v = new JValue(new Uri("http://www.google.com")); Assert.AreEqual(TypeCode.Object, v.GetTypeCode()); -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 v = new JValue(new BigInteger(3)); Assert.AreEqual(TypeCode.Object, v.GetTypeCode()); #endif @@ -709,7 +709,7 @@ namespace Newtonsoft.Json.Tests.Linq Assert.AreEqual("2013", v.ToString("yyyy")); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void ToStringNewTypes() { @@ -796,7 +796,7 @@ namespace Newtonsoft.Json.Tests.Linq }", json); } -#if !(NET20 || NET35) +#if !(NET20 || NET35 || PORTABLE40) [Test] public void EnumTests() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/JsonPath/JPathExecuteTests.cs b/Src/Newtonsoft.Json.Tests/Linq/JsonPath/JPathExecuteTests.cs index b14b0081..b2f9e17b 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/JsonPath/JPathExecuteTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/JsonPath/JPathExecuteTests.cs @@ -26,7 +26,7 @@ using System; using System.Collections.Generic; using System.Text; -#if !(PORTABLE || NET35 || NET20) || NETSTANDARD1_3 +#if !(PORTABLE || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 using System.Numerics; #endif using Newtonsoft.Json.Linq.JsonPath; @@ -738,7 +738,7 @@ namespace Newtonsoft.Json.Tests.Linq.JsonPath Assert.IsTrue(JToken.DeepEquals(new JObject(new JProperty("hi", 3)), t[1])); } -#if !(PORTABLE || DNXCORE50 || NET35 || NET20) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40 || NET35 || NET20) || NETSTANDARD1_3 [Test] public void GreaterQueryBigInteger() { diff --git a/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonAsyncTests.cs b/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonAsyncTests.cs index 9399a48b..fbcb8087 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonAsyncTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonAsyncTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs b/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs index f652abad..6105664d 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs @@ -1185,7 +1185,7 @@ keyword such as type of business."" Assert.AreEqual(new DateTime(2000, 10, 15, 5, 5, 5, DateTimeKind.Utc), d); } -#if !(NET20 || NET35) +#if !(NET20 || NET35 || PORTABLE40) [Test] public void CovariantIJEnumerable() { diff --git a/Src/Newtonsoft.Json.Tests/LinqToSql/LinqToSqlClassesSerializationTests.cs b/Src/Newtonsoft.Json.Tests/LinqToSql/LinqToSqlClassesSerializationTests.cs index 5600d56d..09568bfa 100644 --- a/Src/Newtonsoft.Json.Tests/LinqToSql/LinqToSqlClassesSerializationTests.cs +++ b/Src/Newtonsoft.Json.Tests/LinqToSql/LinqToSqlClassesSerializationTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(DNXCORE50 || NET20) +#if !(DNXCORE50 || PORTABLE40 || PORTABLE40 || NET20) using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; diff --git a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Portable40.csproj b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Portable40.csproj new file mode 100644 index 00000000..84dd07e5 --- /dev/null +++ b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Portable40.csproj @@ -0,0 +1,449 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {3E6E2335-B079-4B5B-A65A-9D586914BCBB} + Library + Properties + Newtonsoft.Json.Tests + Newtonsoft.Json.Tests + + + + + + + + + + + 3.5 + + + v4.0 + false + + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + + true + full + false + bin\Debug\Portable40\ + obj\Debug\Portable40\ + TRACE;DEBUG;PORTABLE40 + prompt + 4 + AllRules.ruleset + false + + + pdbonly + true + bin\Release\Portable40\ + obj\Release\Portable40\ + TRACE;PORTABLE40 + prompt + 4 + AllRules.ruleset + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + FileSystemEntityModel.edmx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EntityModelCodeGenerator + FileSystemEntityModel.Designer.cs + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + {959f7f85-c98b-4876-971a-9036224578e4} + Newtonsoft.Json.Portable40 + + + + + PreserveNewest + + + + + PreserveNewest + + + + + + + + \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Portable40.project.json b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Portable40.project.json new file mode 100644 index 00000000..c46b1171 --- /dev/null +++ b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Portable40.project.json @@ -0,0 +1,12 @@ +{ + "dependencies": { + "FSharp.Core": "4.0.0.1", + "NUnit": "2.6.2" + }, + "frameworks": { + "net40": {} + }, + "runtimes": { + "win": {} + } +} \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Roslyn.csproj b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Roslyn.csproj index a92fb3b1..687afd41 100644 --- a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Roslyn.csproj +++ b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.Roslyn.csproj @@ -115,6 +115,6 @@ - NETSTANDARD1_3;DNXCORE50;PORTABLE;$(AdditionalConstants) + NETSTANDARD1_1;DNXCORE50;PORTABLE;$(AdditionalConstants) \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Properties/AssemblyInfo.cs b/Src/Newtonsoft.Json.Tests/Properties/AssemblyInfo.cs index d99bb40e..f95e2fbe 100644 --- a/Src/Newtonsoft.Json.Tests/Properties/AssemblyInfo.cs +++ b/Src/Newtonsoft.Json.Tests/Properties/AssemblyInfo.cs @@ -34,7 +34,9 @@ using System.Security; #if NETSTANDARD1_0 [assembly: AssemblyTitle("Json.NET Tests .NET Standard 1.0")] #elif NETSTANDARD1_3 -[assembly: AssemblyTitle("Json.NET Tests .NET Standard 1.3")] +[assembly: AssemblyTitle("Json.NET Tests .NET Standard 1.1")] +#elif PORTABLE40 +[assembly: AssemblyTitle("Json.NET Tests Portable .NET 4.0")] #elif PORTABLE [assembly: AssemblyTitle("Json.NET Tests Portable")] #elif NET20 diff --git a/Src/Newtonsoft.Json.Tests/Schema/ExtensionsTests.cs b/Src/Newtonsoft.Json.Tests/Schema/ExtensionsTests.cs index 30adc416..c2d25ab2 100644 --- a/Src/Newtonsoft.Json.Tests/Schema/ExtensionsTests.cs +++ b/Src/Newtonsoft.Json.Tests/Schema/ExtensionsTests.cs @@ -204,7 +204,7 @@ namespace Newtonsoft.Json.Tests.Schema #if !NET20 GenerateSchemaAndSerializeFromType(new NullableDateTimeTestClass()); #endif -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) GenerateSchemaAndSerializeFromType(new DataSet()); #endif GenerateSchemaAndSerializeFromType(new object()); @@ -212,7 +212,7 @@ namespace Newtonsoft.Json.Tests.Schema GenerateSchemaAndSerializeFromType("Hi"); GenerateSchemaAndSerializeFromType(new DateTime(2000, 12, 29, 23, 59, 0, DateTimeKind.Utc)); GenerateSchemaAndSerializeFromType(TimeSpan.FromTicks(1000000)); -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) GenerateSchemaAndSerializeFromType(DBNull.Value); #endif GenerateSchemaAndSerializeFromType(new JsonPropertyWithHandlingValues()); diff --git a/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs b/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs index f13ad3f9..eea1b403 100644 --- a/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs +++ b/Src/Newtonsoft.Json.Tests/Schema/JsonSchemaGeneratorTests.cs @@ -93,7 +93,7 @@ namespace Newtonsoft.Json.Tests.Schema Assert.IsTrue(o.IsValid(schema)); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void Generate_DefaultValueAttributeTestClass() { @@ -312,7 +312,7 @@ namespace Newtonsoft.Json.Tests.Schema Assert.IsTrue(v.IsValid(schema)); } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 [Test] public void GenerateSchemaForISerializable() { @@ -327,7 +327,7 @@ namespace Newtonsoft.Json.Tests.Schema } #endif -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void GenerateSchemaForDBNull() { @@ -340,7 +340,7 @@ namespace Newtonsoft.Json.Tests.Schema } #endif -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 public class CustomDirectoryInfoMapper : DefaultContractResolver { public CustomDirectoryInfoMapper() @@ -479,7 +479,7 @@ namespace Newtonsoft.Json.Tests.Schema generator.UndefinedSchemaIdHandling = UndefinedSchemaIdHandling.UseTypeName; generator.ContractResolver = new CamelCasePropertyNamesContractResolver() { -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 IgnoreSerializableAttribute = true #endif }; @@ -524,7 +524,7 @@ namespace Newtonsoft.Json.Tests.Schema }", json); } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 [Test] public void GenerateSchemaSerializable() { @@ -837,7 +837,7 @@ namespace Newtonsoft.Json.Tests.Schema { } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 [Serializable] public sealed class SerializableTestObject { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/CamelCaseNamingStrategyTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/CamelCaseNamingStrategyTests.cs index 9e3c6ef1..ee13c53d 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/CamelCaseNamingStrategyTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/CamelCaseNamingStrategyTests.cs @@ -159,7 +159,7 @@ namespace Newtonsoft.Json.Tests.Serialization }", json); } -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) [Test] public void DynamicCamelCasePropertyNames() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/CamelCasePropertyNamesContractResolverTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/CamelCasePropertyNamesContractResolverTests.cs index 9a466113..620c0deb 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/CamelCasePropertyNamesContractResolverTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/CamelCasePropertyNamesContractResolverTests.cs @@ -119,7 +119,7 @@ namespace Newtonsoft.Json.Tests.Serialization string json = o.ToString(); } -#if !(PORTABLE) +#if !(PORTABLE || PORTABLE40) #pragma warning disable 618 [Test] public void MemberSearchFlags() @@ -196,7 +196,7 @@ namespace Newtonsoft.Json.Tests.Serialization }", json); } -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) [Test] public void DynamicCamelCasePropertyNames() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs index ad35cc3a..ed55bca6 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/ContractResolverTests.cs @@ -115,7 +115,7 @@ namespace Newtonsoft.Json.Tests.Serialization [TestFixture] public class ContractResolverTests : TestFixtureBase { -#if !(PORTABLE) || NETSTANDARD1_3 +#if !(PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void ResolveSerializableContract() { @@ -573,7 +573,7 @@ namespace Newtonsoft.Json.Tests.Serialization }", startingWithB); } -#if !(PORTABLE) +#if !(PORTABLE || PORTABLE40) #pragma warning disable 618 [Test] public void SerializeCompilerGeneratedMembers() diff --git a/Src/Newtonsoft.Json.Tests/Serialization/DependencyInjectionTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/DependencyInjectionTests.cs index 57d88129..06306b76 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/DependencyInjectionTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/DependencyInjectionTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET40 || NET35 || NET20 || DNXCORE50 || PORTABLE) +#if !(NET40 || NET35 || NET20 || DNXCORE50 || PORTABLE || PORTABLE40) using Autofac; using Newtonsoft.Json.Serialization; using Newtonsoft.Json.Tests.TestObjects; diff --git a/Src/Newtonsoft.Json.Tests/Serialization/DynamicTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/DynamicTests.cs index 495aa4a4..84096969 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/DynamicTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/DynamicTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) using System; using System.Collections; using System.Collections.Generic; @@ -101,7 +101,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(dynamicObject.ChildObject.Text, d.ChildObject.Text); } -#if !(PORTABLE) +#if !(PORTABLE || PORTABLE40) [Test] public void SerializeDynamicObjectWithObjectTracking() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/EntitiesSerializationTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/EntitiesSerializationTests.cs index 813693a0..f3af3b15 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/EntitiesSerializationTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/EntitiesSerializationTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET35 || NET20 || PORTABLE || DNXCORE50) +#if !(NET35 || NET20 || PORTABLE || DNXCORE50 || PORTABLE40) using Newtonsoft.Json.Serialization; using System; using System.Collections.Generic; diff --git a/Src/Newtonsoft.Json.Tests/Serialization/ImmutableCollectionsTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/ImmutableCollectionsTests.cs index 4e032af1..81876c5d 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/ImmutableCollectionsTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/ImmutableCollectionsTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System; using System.Collections.Generic; using System.Collections.Immutable; diff --git a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerCollectionsTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerCollectionsTests.cs index 5ac3e4ec..6c54d628 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerCollectionsTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerCollectionsTests.cs @@ -27,7 +27,7 @@ using System; using System.Collections; using System.Collections.Specialized; using System.Runtime.Serialization; -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) using System.Collections.Concurrent; #endif using System.Collections.Generic; @@ -54,7 +54,7 @@ using Assert = Newtonsoft.Json.Tests.XUnitAssert; #else using NUnit.Framework; #endif -#if !NET20 +#if !NET20 && !PORTABLE40 using System.Xml.Linq; #endif @@ -353,7 +353,7 @@ namespace Newtonsoft.Json.Tests.Serialization } #endif -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) public class SomeObject { public string Text1 { get; set; } @@ -640,7 +640,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual("string!", l[0]); } -#if !(NET40 || NET35 || NET20) +#if !(NET40 || NET35 || NET20 || PORTABLE40) [Test] public void DeserializeReadOnlyListInterface() { @@ -995,7 +995,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(3, v2["Third"]); } -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) [Test] public void DeserializeConcurrentDictionary() { @@ -1073,7 +1073,7 @@ namespace Newtonsoft.Json.Tests.Serialization ExceptionAssert.Throws(() => { JsonConvert.DeserializeObject>>>(json); }, "Cannot convert null value to KeyValuePair. Path '[0]', line 1, position 6."); } -#if !(NET40 || NET35 || NET20) +#if !(NET40 || NET35 || NET20 || PORTABLE40) public class PopulateReadOnlyTestClass { public IList NonReadOnlyList { get; set; } @@ -1916,7 +1916,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual("Product 1", p1.Name); } -#if !(NET40 || NET35 || NET20) +#if !(NET40 || NET35 || NET20 || PORTABLE40) [Test] public void ReadOnlyIntegerList() { @@ -1966,7 +1966,7 @@ namespace Newtonsoft.Json.Tests.Serialization }, "Unable to find a constructor to use for type Newtonsoft.Json.Tests.Serialization.ReadOnlyCollectionWithArrayArgument`1[System.Double]. Path '', line 1, position 1."); } -#if !NET20 +#if !NET20 && !PORTABLE40 [Test] public void NonDefaultConstructor_DuplicateKeyInDictionary_Replace() { @@ -2085,7 +2085,7 @@ namespace Newtonsoft.Json.Tests.Serialization } } -#if !NET20 +#if !NET20 && !PORTABLE40 public class CASResponce { // @@ -2389,7 +2389,7 @@ namespace Newtonsoft.Json.Tests.Serialization } } -#if !(NET40 || NET35 || NET20) +#if !(NET40 || NET35 || NET20 || PORTABLE40) public class ReadOnlyIntegerList : IReadOnlyCollection { private readonly List _list; diff --git a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs index 8c3efc3d..73c211d2 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/JsonSerializerTest.cs @@ -331,7 +331,7 @@ namespace Newtonsoft.Json.Tests.Serialization } } -#if !(PORTABLE || NET20 || NET35) +#if !(PORTABLE || PORTABLE40 || NET20 || NET35) [Test] public void LargeIntegerAsString() { @@ -392,7 +392,7 @@ namespace Newtonsoft.Json.Tests.Serialization @"Error converting value {null} to type 'System.Boolean'. Path '[0]', line 1, position 3."); } -#if !(PORTABLE || NET35 || NET20) +#if !(PORTABLE || PORTABLE40 || NET35 || NET20) [Test] public void DeserializeBooleans() { @@ -842,7 +842,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual("Name!", c2.Name); } -#if !(NET20 || NET35) +#if !(NET20 || NET35 || PORTABLE40) [Test] public void SerializeValueTuple() { @@ -1058,7 +1058,7 @@ namespace Newtonsoft.Json.Tests.Serialization public int ChildId; } -#if !(NET20 || NET35 || PORTABLE) +#if !(NET20 || NET35 || PORTABLE40 || PORTABLE) [Test] public void ReadIntegerWithError() { @@ -1426,7 +1426,7 @@ namespace Newtonsoft.Json.Tests.Serialization serializer.TraceWriter = traceWriter; Assert.AreEqual(traceWriter, serializer.TraceWriter); -#if !(PORTABLE || NET20 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) #pragma warning disable 618 serializer.TypeNameAssemblyFormat = FormatterAssemblyStyle.Full; Assert.AreEqual(FormatterAssemblyStyle.Full, serializer.TypeNameAssemblyFormat); @@ -1541,7 +1541,7 @@ namespace Newtonsoft.Json.Tests.Serialization settings.TraceWriter = traceWriter; Assert.AreEqual(traceWriter, settings.TraceWriter); -#if !(PORTABLE || NET20 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) #pragma warning disable 618 settings.TypeNameAssemblyFormat = FormatterAssemblyStyle.Full; Assert.AreEqual(FormatterAssemblyStyle.Full, settings.TypeNameAssemblyFormat); @@ -1663,7 +1663,7 @@ namespace Newtonsoft.Json.Tests.Serialization serializerProxy.TraceWriter = traceWriter; Assert.AreEqual(traceWriter, serializerProxy.TraceWriter); -#if !(PORTABLE || NET20 || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || NET20 || DNXCORE50) #pragma warning disable 618 serializerProxy.TypeNameAssemblyFormat = FormatterAssemblyStyle.Full; Assert.AreEqual(FormatterAssemblyStyle.Full, serializerProxy.TypeNameAssemblyFormat); @@ -1684,7 +1684,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(TypeNameHandling.All, serializerProxy.TypeNameHandling); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) [Test] public void DeserializeISerializableIConvertible() { @@ -2847,7 +2847,7 @@ keyword such as type of business."" ConverableMembers c = JsonConvert.DeserializeObject(json); Assert.AreEqual("string", c.String); Assert.AreEqual(double.MaxValue, c.Double); -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) Assert.AreEqual(DBNull.Value, c.DBNull); #endif } @@ -4098,7 +4098,7 @@ Path '', line 1, position 1."); @"Unexpected character encountered while parsing value: [. Path '', line 1, position 1."); } -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) [Test] public void CannotDeserializeArrayIntoDynamic() { @@ -4194,7 +4194,7 @@ Path '', line 1, position 1."); { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 IgnoreSerializableAttribute = true #endif } @@ -4211,7 +4211,7 @@ Path '', line 1, position 1."); { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 IgnoreSerializableAttribute = true #endif } @@ -4228,7 +4228,7 @@ Path '', line 1, position 1."); { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 IgnoreSerializableAttribute = true #endif } @@ -4245,7 +4245,7 @@ Path '', line 1, position 1."); { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) IgnoreSerializableAttribute = true #endif } @@ -5020,7 +5020,7 @@ Path '', line 1, position 1."); Assert.AreEqual("value", newModelStateDictionary["key"]); } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 #if DEBUG [Test] public void SerializeISerializableInPartialTrustWithIgnoreInterface() @@ -5439,7 +5439,7 @@ Path '', line 1, position 1."); } #endif -#if !(NET20) +#if !(NET20 || PORTABLE40) [Test] public void SerializeDeserializeXNodeProperties() { @@ -5470,7 +5470,7 @@ Path '', line 1, position 1."); } #endif -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void SerializeDeserializeXmlNodeProperties() { @@ -5954,7 +5954,7 @@ Path '', line 1, position 1."); }", json); } -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) [Test] public void SerializeExpandoObject() { @@ -6872,7 +6872,7 @@ Path '', line 1, position 1."); } } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void SerializeException1() { @@ -8050,7 +8050,7 @@ Path '', line 1, position 1."); Assert.AreEqual("", s); } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 [Test] public void SerializeAndDeserializeWithAttributes() { @@ -8253,7 +8253,7 @@ lines.*/ ExceptionAssert.Throws(() => { s.Deserialize>(new JsonTextReader(new StringReader(json))); }, "Additional text encountered after finished reading JSON content: {. Path '', line 7, position 0."); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void DeserializeException() { @@ -8481,7 +8481,7 @@ This is just junk, though."; Assert.AreEqual("[1.1,0.0,0.0]", json); } -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) #if !PORTABLE || NETSTANDARD1_3 [Test] public void DeserializeReadOnlyListWithBigInteger() @@ -8540,7 +8540,7 @@ This is just junk, though."; Action doStuff = () => { obj = JsonConvert.DeserializeObject>(json); }; -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) doStuff(); Assert.AreEqual(500, obj.Item1); #else @@ -8571,7 +8571,7 @@ This is just junk, though."; } #endif -#if !(PORTABLE || NET35 || NET20 || DNXCORE50) +#if !(PORTABLE || NET35 || NET20 || PORTABLE40 || DNXCORE50) [Test] public void SerializeTupleWithSerializableAttribute() { @@ -8789,7 +8789,7 @@ This is just junk, though."; ExceptionAssert.Throws(() => JsonConvert.DeserializeObject>("[1]"), "Cannot deserialize readonly or fixed size list: Newtonsoft.Json.Tests.Serialization.JsonSerializerTest+NoConstructorReadOnlyCollection`1[System.Int32]. Path '', line 1, position 1."); } -#if !(NET40 || NET35 || NET20) +#if !(NET40 || NET35 || NET20 || PORTABLE40) public class NoConstructorReadOnlyDictionary : ReadOnlyDictionary { public NoConstructorReadOnlyDictionary() @@ -8805,7 +8805,7 @@ This is just junk, though."; } #endif -#if !(PORTABLE || NET35 || NET20) || NETSTANDARD1_3 +#if !(PORTABLE || NET35 || NET20 || PORTABLE40) || NETSTANDARD1_3 [Test] public void ReadTooLargeInteger() { @@ -8848,7 +8848,7 @@ This is just junk, though."; Assert.AreEqual(@"{""First"":""One"",""Second"":2}", json); -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 DefaultContractResolver r = new DefaultContractResolver(); r.IgnoreSerializableAttribute = false; @@ -8964,7 +8964,7 @@ This is just junk, though."; Assert.AreEqual(1234567890.123456m, d); } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 [Test] public void DontSerializeStaticFields() { @@ -8988,7 +8988,7 @@ This is just junk, though."; } #endif -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void SerializeBigInteger() { @@ -9128,7 +9128,7 @@ This is just junk, though."; ]", json); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || PORTABLE40 || DNXCORE50) [Test] public void SerializeDictionaryWithStructKey() { @@ -9145,7 +9145,7 @@ This is just junk, though."; } #endif -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_0 || NETSTANDARD1_3 +#if !(PORTABLE || PORTABLE40 || DNXCORE50) || NETSTANDARD1_0 || NETSTANDARD1_3 [Test] public void SerializeDictionaryWithStructKey_Custom() { @@ -9332,7 +9332,7 @@ This is just junk, though."; Assert.AreEqual(jane, john.Spouse); } -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) [Test] public void TypeConverterOnInterface() { @@ -9910,7 +9910,7 @@ This is just junk, though."; Assert.AreEqual("derived", d.DerivedProperty); } -#if !(NET20 || NET35 || PORTABLE) +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) [Test] public void DeserializeNullableUnsignedLong() { @@ -10292,7 +10292,7 @@ This is just junk, though."; public string Project { get; } } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 public class ISerializableTestObject : ISerializable { internal string _stringValue; diff --git a/Src/Newtonsoft.Json.Tests/Serialization/MetadataPropertyHandlingTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/MetadataPropertyHandlingTests.cs index b9bdac77..3ecd9794 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/MetadataPropertyHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/MetadataPropertyHandlingTests.cs @@ -339,7 +339,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.IsTrue(JToken.DeepEquals(t1, t2)); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void DeserializeGenericObjectListWithTypeName() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/ReferenceLoopHandlingTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/ReferenceLoopHandlingTests.cs index b9a5663a..56163d4d 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/ReferenceLoopHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/ReferenceLoopHandlingTests.cs @@ -151,7 +151,7 @@ namespace Newtonsoft.Json.Tests.Serialization }", json); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) public class MainClass : ISerializable { public ChildClass Child { get; set; } @@ -210,7 +210,7 @@ namespace Newtonsoft.Json.Tests.Serialization } #endif -#if !(NET20 || NET35) +#if !(NET20 || NET35 || PORTABLE40) public class DictionaryDynamicObject : DynamicObject { public IDictionary Values { get; private set; } diff --git a/Src/Newtonsoft.Json.Tests/Serialization/SerializationErrorHandlingTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/SerializationErrorHandlingTests.cs index 97b6227b..aeb5e3d3 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/SerializationErrorHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/SerializationErrorHandlingTests.cs @@ -741,7 +741,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(@"Unexpected end when deserializing object. Path 'events2.code', line 1, position 49.", errors[1]); } -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) [Test] public void ErrorHandlingEndOfContentDynamic() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/SnakeCaseNamingStrategyTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/SnakeCaseNamingStrategyTests.cs index 8dbeac53..d1584693 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/SnakeCaseNamingStrategyTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/SnakeCaseNamingStrategyTests.cs @@ -159,7 +159,7 @@ namespace Newtonsoft.Json.Tests.Serialization }", json); } -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) [Test] public void DynamicSnakeCasePropertyNames() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/TraceWriterTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/TraceWriterTests.cs index 97e35f32..5510937a 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/TraceWriterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/TraceWriterTests.cs @@ -4,7 +4,7 @@ using System.Diagnostics; using System.Globalization; using System.IO; using Newtonsoft.Json.Linq; -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 using System.Numerics; #endif using System.Runtime.Serialization; @@ -41,7 +41,7 @@ namespace Newtonsoft.Json.Tests.Serialization [TestFixture] public class TraceWriterTests : TestFixtureBase { -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void DiagnosticsTraceWriterTest() { @@ -730,7 +730,7 @@ Newtonsoft.Json Error: 0 : Error! Assert.IsTrue(traceWriter.TraceRecords[9].Message.StartsWith("Finished deserializing System.Collections.Generic.List`1[System.Object]. Path '$values'")); } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [Test] public void DeserializeISerializable() { @@ -936,7 +936,7 @@ Newtonsoft.Json Error: 0 : Error! Assert.AreEqual(23, deserialized.FavoriteNumber); } -#if !(NET20 || NET35 || PORTABLE) || NETSTANDARD1_3 +#if !(NET20 || NET35 || PORTABLE || PORTABLE40) || NETSTANDARD1_3 [Test] public void TraceJsonWriterTest() { diff --git a/Src/Newtonsoft.Json.Tests/Serialization/TypeNameHandlingTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/TypeNameHandlingTests.cs index 51513249..586d339f 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/TypeNameHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/TypeNameHandlingTests.cs @@ -28,7 +28,7 @@ using Newtonsoft.Json.Utilities.LinqBridge; #else using System.Linq; #endif -#if !(PORTABLE) +#if !(PORTABLE || PORTABLE40) using System.Collections.ObjectModel; #if !(NET35 || NET20) using System.Dynamic; @@ -1737,7 +1737,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(1, (int)j["MyProperty"]); } -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) [Test] public void PropertyItemTypeNameHandlingDynamic() { @@ -2036,7 +2036,7 @@ namespace Newtonsoft.Json.Tests.Serialization } #endif -#if !(NET20 || PORTABLE) +#if !(NET20 || PORTABLE || PORTABLE40) [Test] public void DeserializeComplexGenericDictionary_Simple() { @@ -2329,7 +2329,7 @@ namespace Newtonsoft.Json.Tests.Serialization public TypeNameHandlingTestObject Data { get; set; } } -#if !(NET35 || NET20) +#if !(NET35 || NET20 || PORTABLE40) public class PropertyItemTypeNameHandlingDynamic { [JsonProperty(ItemTypeNameHandling = TypeNameHandling.All)] diff --git a/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs index 2452055c..e61672ee 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/WebApiIntegrationTests.cs @@ -59,7 +59,7 @@ namespace Newtonsoft.Json.Tests.Serialization nonSerializedField = "Error" }; -#if !(NET20 || NET35 || PORTABLE || DNXCORE50) +#if !(NET20 || NET35 || PORTABLE || DNXCORE50 || PORTABLE40) MemoryStream ms = new MemoryStream(); DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(SerializableType)); dataContractJsonSerializer.WriteObject(ms, serializableType); @@ -75,7 +75,7 @@ namespace Newtonsoft.Json.Tests.Serialization { ContractResolver = new DefaultContractResolver { -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 IgnoreSerializableAttribute = false #endif } @@ -84,7 +84,7 @@ namespace Newtonsoft.Json.Tests.Serialization Assert.AreEqual(expected, json); } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 [Test] public void SerializeInheritedType() { @@ -114,7 +114,7 @@ namespace Newtonsoft.Json.Tests.Serialization } } -#if !(PORTABLE || DNXCORE50) || NETSTANDARD1_3 +#if !(PORTABLE || DNXCORE50 || PORTABLE40) || NETSTANDARD1_3 [Serializable] #else [JsonObject(MemberSerialization.Fields)] @@ -138,7 +138,7 @@ namespace Newtonsoft.Json.Tests.Serialization set { privateField = value; } } -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) [NonSerialized] #else [JsonIgnore] diff --git a/Src/Newtonsoft.Json.Tests/TestFixtureBase.cs b/Src/Newtonsoft.Json.Tests/TestFixtureBase.cs index eea0c60b..18db21df 100644 --- a/Src/Newtonsoft.Json.Tests/TestFixtureBase.cs +++ b/Src/Newtonsoft.Json.Tests/TestFixtureBase.cs @@ -45,7 +45,7 @@ using NUnit.Framework; #endif using Newtonsoft.Json.Utilities; using System.Collections; -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) using System.Threading.Tasks; #endif #if NET20 @@ -388,7 +388,7 @@ namespace Newtonsoft.Json.Tests } } -#if !(NET20 || NET35 || NET40) +#if !(NET20 || NET35 || NET40 || PORTABLE40) public static async Task ThrowsAsync(Func action, params string[] possibleMessages) where TException : Exception { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/ConsoleWriter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/ConsoleWriter.cs index 920776f7..6807dbbb 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/ConsoleWriter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/ConsoleWriter.cs @@ -27,7 +27,7 @@ using System.ComponentModel; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) [TypeConverter(typeof(MyInterfaceConverter))] internal class ConsoleWriter : IMyInterface { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/CustomerDataSet.cs b/Src/Newtonsoft.Json.Tests/TestObjects/CustomerDataSet.cs index 3c009494..0d938b6c 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/CustomerDataSet.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/CustomerDataSet.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE40 || PORTABLE || DNXCORE50) using System; using System.Collections.Generic; using System.Text; diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/IMyInterface.cs b/Src/Newtonsoft.Json.Tests/TestObjects/IMyInterface.cs index 5dc56551..4d72a87f 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/IMyInterface.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/IMyInterface.cs @@ -27,7 +27,7 @@ using System.ComponentModel; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) [TypeConverter(typeof(MyInterfaceConverter))] internal interface IMyInterface { diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/MyInterfaceConverter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/MyInterfaceConverter.cs index d5a3446f..7994dd7b 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/MyInterfaceConverter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/MyInterfaceConverter.cs @@ -35,7 +35,7 @@ using System.Linq; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) internal class MyInterfaceConverter : TypeConverter { private readonly List _writers = new List diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/TraceWriter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/TraceWriter.cs index 7e9a00c0..17f5014a 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/TraceWriter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/TraceWriter.cs @@ -25,7 +25,7 @@ namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) internal class TraceWriter : IMyInterface { public string Name diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/TypeConverterJsonConverter.cs b/Src/Newtonsoft.Json.Tests/TestObjects/TypeConverterJsonConverter.cs index 2db02c32..956c480c 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/TypeConverterJsonConverter.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/TypeConverterJsonConverter.cs @@ -34,7 +34,7 @@ using Newtonsoft.Json.Utilities; namespace Newtonsoft.Json.Tests.TestObjects { -#if !(NET35 || NET20 || PORTABLE) +#if !(NET35 || NET20 || PORTABLE || PORTABLE40) internal class TypeConverterJsonConverter : JsonConverter { private TypeConverter GetConverter(Type type) diff --git a/Src/Newtonsoft.Json.Tests/Utilities/DynamicReflectionDelegateFactoryTests.cs b/Src/Newtonsoft.Json.Tests/Utilities/DynamicReflectionDelegateFactoryTests.cs index 4a8c9a63..b3abbbce 100644 --- a/Src/Newtonsoft.Json.Tests/Utilities/DynamicReflectionDelegateFactoryTests.cs +++ b/Src/Newtonsoft.Json.Tests/Utilities/DynamicReflectionDelegateFactoryTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) using System; using System.Diagnostics; using System.Reflection; diff --git a/Src/Newtonsoft.Json.Tests/Utilities/ReflectionUtilsTests.cs b/Src/Newtonsoft.Json.Tests/Utilities/ReflectionUtilsTests.cs index c1ea0def..b1dc6afa 100644 --- a/Src/Newtonsoft.Json.Tests/Utilities/ReflectionUtilsTests.cs +++ b/Src/Newtonsoft.Json.Tests/Utilities/ReflectionUtilsTests.cs @@ -23,7 +23,7 @@ // OTHER DEALINGS IN THE SOFTWARE. #endregion -#if !(PORTABLE || DNXCORE50) +#if !(PORTABLE || DNXCORE50 || PORTABLE40) using System; using System.Collections.Generic; using System.Runtime.Serialization.Formatters; diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.Portable40.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.Portable40.csproj new file mode 100644 index 00000000..94ae5982 --- /dev/null +++ b/Src/Newtonsoft.Json/Newtonsoft.Json.Portable40.csproj @@ -0,0 +1,270 @@ + + + + Debug + AnyCPU + {959F7F85-C98B-4876-971A-9036224578E4} + Library + Properties + Newtonsoft.Json + Newtonsoft.Json + v4.0 + Profile328 + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 10.0 + + + + + 4.0 + PORTABLE40;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE + + + true + full + false + bin\Debug\Portable40\ + obj\Debug\Portable40\ + TRACE;DEBUG;CODE_ANALYSIS;$(DefineConstants);$(AdditionalConstants) + prompt + 4 + true + Newtonsoft.Json.ruleset + + + pdbonly + true + bin\Release\Portable40\ + obj\Release\Portable40\ + TRACE;CODE_ANALYSIS;$(DefineConstants);$(AdditionalConstants) + prompt + 4 + bin\Release\Portable40\Newtonsoft.Json.xml + true + Newtonsoft.Json.ruleset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.Portable40.project.json b/Src/Newtonsoft.Json/Newtonsoft.Json.Portable40.project.json new file mode 100644 index 00000000..c78108a4 --- /dev/null +++ b/Src/Newtonsoft.Json/Newtonsoft.Json.Portable40.project.json @@ -0,0 +1,8 @@ +{ + "frameworks": { + ".NETPortable,Version=v4.0,Profile=Profile328": {} + }, + "runtimes": { + "win": {} + } +} \ No newline at end of file diff --git a/Src/Newtonsoft.Json/Newtonsoft.Json.Roslyn.csproj b/Src/Newtonsoft.Json/Newtonsoft.Json.Roslyn.csproj index ea3ba861..8956865b 100644 --- a/Src/Newtonsoft.Json/Newtonsoft.Json.Roslyn.csproj +++ b/Src/Newtonsoft.Json/Newtonsoft.Json.Roslyn.csproj @@ -1,6 +1,6 @@  - net45;net40;net35;net20;netstandard1.0;netstandard1.3;portable-net45+win8+wpa81+wp8 + net45;net40;net35;net20;netstandard1.0;netstandard1.3;portable-net45+win8+wpa81+wp8;portable-net40+win8+wpa81+wp8+sl5 netstandard1.0;netstandard1.3 10.0.1 beta1 @@ -36,9 +36,6 @@ NET20;HAVE_ADO_NET;HAVE_APP_DOMAIN;HAVE_BINARY_FORMATTER;HAVE_BINARY_SERIALIZATION;HAVE_BINARY_EXCEPTION_SERIALIZATION;HAVE_CAS;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_CHAR_TO_STRING_WITH_CULTURE;HAVE_COM_ATTRIBUTES;HAVE_COMPONENT_MODEL;HAVE_DB_NULL_TYPE_CODE;HAVE_EMPTY_TYPES;HAVE_FULL_REFLECTION;HAVE_ICLONEABLE;HAVE_ICONVERTIBLE;HAVE_MEMORY_BARRIER;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_REFLECTION_EMIT;HAVE_STREAM_READER_WRITER_CLOSE;HAVE_TRACE_WRITER;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_XML_DOCUMENT;HAVE_XML_DOCUMENT_TYPE;$(AdditionalConstants) - - - @@ -57,6 +54,14 @@ Json.NET .NET Standard 1.3 NETSTANDARD1_3;PORTABLE;HAVE_ASYNC;HAVE_BIG_INTEGER;HAVE_BINARY_SERIALIZATION;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_HASH_SET;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_NON_SERIALIZED_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_TYPE_DESCRIPTOR;HAVE_UNICODE_SURROGATE_DETECTION;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;HAVE_XML_DOCUMENT;$(AdditionalConstants) + + PORTABLE40;HAVE_CHAR_TO_LOWER_WITH_CULTURE;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DB_NULL_TYPE_CODE;HAVE_FSHARP_TYPES;HAVE_FULL_REFLECTION;HAVE_GUID_TRY_PARSE;HAVE_ICONVERTIBLE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_ISET;HAVE_LINQ;HAVE_MEMORY_BARRIER;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;HAVE_SECURITY_SAFE_CRITICAL_ATTRIBUTE;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;$(AdditionalConstants) + .NETPortable + v4.0 + Profile328 + .NETPortable,Version=v0.0,Profile=Profile328 + $(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets + PORTABLE;HAVE_ASYNC;HAVE_COVARIANT_GENERICS;HAVE_DATA_CONTRACTS;HAVE_DATE_TIME_OFFSET;HAVE_DYNAMIC;HAVE_EXPRESSIONS;HAVE_FSHARP_TYPES;HAVE_GUID_TRY_PARSE;HAVE_IGNORE_DATA_MEMBER_ATTRIBUTE;HAVE_IMMUTABLE_COLLECTIONS;HAVE_ISET;HAVE_LINQ;HAVE_METHOD_IMPL_ATTRIBUTE;HAVE_READ_ONLY_COLLECTIONS;HAVE_REFLECTION_BINDER;HAVE_SERIALIZATION_BINDER_BIND_TO_NAME;HAVE_STRING_JOIN_WITH_ENUMERABLE;HAVE_TIME_SPAN_PARSE_WITH_CULTURE;HAVE_TIME_SPAN_TO_STRING_WITH_CULTURE;HAVE_TIME_ZONE_INFO;HAVE_VARIANT_TYPE_PARAMETERS;HAVE_VERSION_TRY_PARSE;HAVE_XLINQ;HAVE_INOTIFY_COLLECTION_CHANGED;HAVE_OBSOLETE_FORMATTER_ASSEMBLY_STYLE;$(AdditionalConstants) .NETPortable diff --git a/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs b/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs index ddea4be2..e3058aea 100644 --- a/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs +++ b/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs @@ -36,6 +36,8 @@ using System.Security; [assembly: AssemblyTitle("Json.NET .NET Standard 1.0")] #elif NETSTANDARD1_3 [assembly: AssemblyTitle("Json.NET .NET Standard 1.3")] +#elif PORTABLE40 +[assembly: AssemblyTitle("Json.NET Portable .NET 4.0")] #elif PORTABLE [assembly: AssemblyTitle("Json.NET Portable")] #elif DOTNET diff --git a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs index 2df9afcd..0fee0df3 100644 --- a/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs +++ b/Src/Newtonsoft.Json/Serialization/DefaultContractResolver.cs @@ -1337,7 +1337,7 @@ namespace Newtonsoft.Json.Serialization // warning - this method use to cause errors with Intellitrace. Retest in VS Ultimate after changes IValueProvider valueProvider; -#if !(PORTABLE || DOTNET) +#if !(PORTABLE40 || PORTABLE || DOTNET) if (DynamicCodeGeneration) { valueProvider = new DynamicValueProvider(member); @@ -1346,8 +1346,10 @@ namespace Newtonsoft.Json.Serialization { valueProvider = new ReflectionValueProvider(member); } -#else +#elif !(PORTABLE40) valueProvider = new ExpressionValueProvider(member); +#else + valueProvider = new ReflectionValueProvider(member); #endif return valueProvider; diff --git a/Src/Newtonsoft.Json/Serialization/DefaultSerializationBinder.cs b/Src/Newtonsoft.Json/Serialization/DefaultSerializationBinder.cs index 2588f97b..b43e4b0b 100644 --- a/Src/Newtonsoft.Json/Serialization/DefaultSerializationBinder.cs +++ b/Src/Newtonsoft.Json/Serialization/DefaultSerializationBinder.cs @@ -62,7 +62,7 @@ namespace Newtonsoft.Json.Serialization { Assembly assembly; -#if !(DOTNET || PORTABLE) +#if !(DOTNET || PORTABLE40 || PORTABLE) // look, I don't like using obsolete methods as much as you do but this is the only way // Assembly.Load won't check the GAC for a partial name #pragma warning disable 618,612 diff --git a/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs b/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs index 0eb77ea9..242fb583 100644 --- a/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs +++ b/Src/Newtonsoft.Json/Serialization/JsonTypeReflector.cs @@ -480,9 +480,9 @@ namespace Newtonsoft.Json.Serialization { if (_fullyTrusted == null) { -#if (DOTNET || PORTABLE) +#if (DOTNET || PORTABLE || PORTABLE40) _fullyTrusted = true; -#elif !(NET20 || NET35) +#elif !(NET20 || NET35 || PORTABLE40) AppDomain appDomain = AppDomain.CurrentDomain; _fullyTrusted = appDomain.IsHomogenous && appDomain.IsFullyTrusted; @@ -507,7 +507,7 @@ namespace Newtonsoft.Json.Serialization { get { -#if !(PORTABLE || DOTNET) +#if !(PORTABLE40 || PORTABLE || DOTNET) if (DynamicCodeGeneration) { return DynamicReflectionDelegateFactory.Instance; diff --git a/Src/Newtonsoft.Json/SerializationBinder.cs b/Src/Newtonsoft.Json/SerializationBinder.cs index 791c6df6..b3e480f0 100644 --- a/Src/Newtonsoft.Json/SerializationBinder.cs +++ b/Src/Newtonsoft.Json/SerializationBinder.cs @@ -1,5 +1,5 @@  -#if (DOTNET || PORTABLE) +#if (DOTNET || PORTABLE40 || PORTABLE) using System; using System.Reflection; diff --git a/Src/Newtonsoft.Json/Utilities/DateTimeUtils.cs b/Src/Newtonsoft.Json/Utilities/DateTimeUtils.cs index 441d717a..807c3a1a 100644 --- a/Src/Newtonsoft.Json/Utilities/DateTimeUtils.cs +++ b/Src/Newtonsoft.Json/Utilities/DateTimeUtils.cs @@ -58,7 +58,7 @@ namespace Newtonsoft.Json.Utilities #endif } -#if !(PORTABLE) +#if !(PORTABLE40 || PORTABLE) public static XmlDateTimeSerializationMode ToSerializationMode(DateTimeKind kind) { switch (kind) diff --git a/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs b/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs index a67c90d9..03a445df 100644 --- a/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs +++ b/Src/Newtonsoft.Json/Utilities/ReflectionUtils.cs @@ -43,7 +43,7 @@ using Newtonsoft.Json.Serialization; namespace Newtonsoft.Json.Utilities { -#if (DOTNET || PORTABLE) +#if (DOTNET || PORTABLE || PORTABLE40) internal enum MemberTypes { Property = 0, @@ -790,11 +790,13 @@ namespace Newtonsoft.Json.Utilities return (attributeType != null) ? Attribute.GetCustomAttributes(mi, attributeType, inherit) : Attribute.GetCustomAttributes(mi, inherit); } +#if !PORTABLE40 Module m = provider as Module; if (m != null) { return (attributeType != null) ? Attribute.GetCustomAttributes(m, attributeType, inherit) : Attribute.GetCustomAttributes(m, inherit); } +#endif ParameterInfo p = provider as ParameterInfo; if (p != null) @@ -802,10 +804,14 @@ namespace Newtonsoft.Json.Utilities return (attributeType != null) ? Attribute.GetCustomAttributes(p, attributeType, inherit) : Attribute.GetCustomAttributes(p, inherit); } +#if !PORTABLE40 ICustomAttributeProvider customAttributeProvider = (ICustomAttributeProvider)attributeProvider; object[] result = (attributeType != null) ? customAttributeProvider.GetCustomAttributes(attributeType, inherit) : customAttributeProvider.GetCustomAttributes(inherit); return (Attribute[])result; +#else + throw new Exception("Cannot get attributes from '{0}'.".FormatWith(CultureInfo.InvariantCulture, provider)); +#endif } #else public static T[] GetAttributes(object attributeProvider, bool inherit) where T : Attribute diff --git a/Src/Newtonsoft.Json/Utilities/TypeExtensions.cs b/Src/Newtonsoft.Json/Utilities/TypeExtensions.cs index bdc29c56..7467f63c 100644 --- a/Src/Newtonsoft.Json/Utilities/TypeExtensions.cs +++ b/Src/Newtonsoft.Json/Utilities/TypeExtensions.cs @@ -107,7 +107,7 @@ namespace Newtonsoft.Json.Utilities public static MemberTypes MemberType(this MemberInfo memberInfo) { -#if !(DOTNET || PORTABLE) +#if !(DOTNET || PORTABLE || PORTABLE40) return memberInfo.MemberType; #else if (memberInfo is PropertyInfo) @@ -214,7 +214,7 @@ namespace Newtonsoft.Json.Utilities #endif } -#if (DOTNET || PORTABLE) +#if (PORTABLE40 || DOTNET || PORTABLE) public static PropertyInfo GetProperty(this Type type, string name, BindingFlags bindingFlags, object placeholder1, Type propertyType, IList indexParameters, object placeholder2) { IEnumerable propertyInfos = type.GetProperties(bindingFlags);