diff --git a/CHANGES.txt b/CHANGES.txt index 0fcd8201b..8910d2598 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -594,3 +594,8 @@ Release 0.8.0 beta 2016/07/24 IMPROVEMENTS * Relax constructor based deserialization condition. It will be used even if there are any settable members(including private property setters). Part of issue #178 and fixes issue #135. * PackHelpers and UnpackHelpers APIs are now backward compatible. + +Release 0.8.1 2017/02/02 + + BUG FIXES + * Fix null items of complex type in List or Dictionary will not be deserialized as null. Issue #211. diff --git a/MsgPack.Xamarin.sln b/MsgPack.Xamarin.sln index ab25a0e42..c5653bb14 100644 --- a/MsgPack.Xamarin.sln +++ b/MsgPack.Xamarin.sln @@ -24,11 +24,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{DB9CF5 .nuget\NuGet.targets = .nuget\NuGet.targets EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsgPack.Xamarin.iOS", "src\MsgPack.Xamarin.iOS\MsgPack.Xamarin.iOS.csproj", "{346B55F0-94FA-4B90-9C11-06031043B685}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsgPack.UnitTest.Xamarin.iOS", "test\MsgPack.UnitTest.Xamarin.iOS\MsgPack.UnitTest.Xamarin.iOS.csproj", "{2B75A9C8-F891-4F78-9E27-8B6FE972DE6C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsgPack.Xamarin.iOS.Unified", "src\MsgPack.Xamarin.iOS.Unified\MsgPack.Xamarin.iOS.Unified.csproj", "{C9710C8A-2FA9-47FE-812C-992C283471CC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsgPack.Xamarin.iOS", "src\MsgPack.Xamarin.iOS\MsgPack.Xamarin.iOS.csproj", "{C9710C8A-2FA9-47FE-812C-992C283471CC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -103,31 +101,6 @@ Global {5EDECDB4-5179-4441-974F-EC26B4F54528}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU {5EDECDB4-5179-4441-974F-EC26B4F54528}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {5EDECDB4-5179-4441-974F-EC26B4F54528}.Release|Mixed Platforms.Deploy.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|Any CPU.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|Any CPU.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|iPhone.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|Any CPU.Build.0 = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|iPhone.Build.0 = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|Any CPU.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|Any CPU.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|iPhone.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|Mixed Platforms.Build.0 = Release|Any CPU {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone @@ -195,7 +168,6 @@ Global {BA5E7D16-23AB-44B5-BAF5-6E9C9F51E67A} = {1BD5D488-707E-4030-8AE8-80D93D04963F} {A6210C9C-1614-46C5-97B2-6A37032AF143} = {BA5E7D16-23AB-44B5-BAF5-6E9C9F51E67A} {5EDECDB4-5179-4441-974F-EC26B4F54528} = {87A17015-9338-431E-B338-57BDA03984C1} - {346B55F0-94FA-4B90-9C11-06031043B685} = {BA5E7D16-23AB-44B5-BAF5-6E9C9F51E67A} {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C} = {87A17015-9338-431E-B338-57BDA03984C1} {C9710C8A-2FA9-47FE-812C-992C283471CC} = {BA5E7D16-23AB-44B5-BAF5-6E9C9F51E67A} EndGlobalSection diff --git a/MsgPack.nuspec b/MsgPack.nuspec index 434afe9f4..714be6825 100644 --- a/MsgPack.nuspec +++ b/MsgPack.nuspec @@ -1,6 +1,6 @@  - + MsgPack.Cli MessagePack for CLI 0.0.0-development @@ -21,7 +21,6 @@ This package provides MessagePack serialization/deserialization APIs. This pacak - diff --git a/Sync.xml b/Sync.xml index 74d135d57..793e65bbb 100644 --- a/Sync.xml +++ b/Sync.xml @@ -43,6 +43,7 @@ + @@ -86,16 +87,9 @@ - - - - - - - - - + + diff --git a/appveyor-debug.yml b/appveyor-debug.yml index 64e8f612e..d8f5dbd74 100644 --- a/appveyor-debug.yml +++ b/appveyor-debug.yml @@ -5,9 +5,9 @@ init: - cmd: >- cd \ - appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.3.4-windows.zip + appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.4.1-windows.zip - 7z x android-sdk_r24.3.4-windows.zip > nul + 7z x android-sdk_r24.4.1-windows.zip > nul cd %APPVEYOR_BUILD_FOLDER% assembly_info: diff --git a/appveyor-release.yml b/appveyor-release.yml index eb6ad6423..001a70184 100644 --- a/appveyor-release.yml +++ b/appveyor-release.yml @@ -8,9 +8,9 @@ init: - cmd: >- cd \ - appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.3.4-windows.zip + appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.4.1-windows.zip - 7z x android-sdk_r24.3.4-windows.zip > nul + 7z x android-sdk_r24.4.1-windows.zip > nul cd %APPVEYOR_BUILD_FOLDER% assembly_info: diff --git a/build/Build.ps1 b/build/Build.ps1 index 00a2bd268..d0ab6f5c4 100644 --- a/build/Build.ps1 +++ b/build/Build.ps1 @@ -192,8 +192,8 @@ if ( $buildConfig -eq 'Release' ) { & $nuget pack ../MsgPack.nuspec -Symbols -Version $env:PackageVersion -OutputDirectory ../dist - Copy-Item ../bin/ ./MsgPack-CLI/ -Recurse -Exclude @("*.vshost.*") - Copy-Item ../tools/mpu/bin/ ./MsgPack-CLI/mpu/ -Recurse -Exclude @("*.vshost.*") + Copy-Item ../bin/* ./MsgPack-CLI/ -Recurse -Exclude @("*.vshost.*") + Copy-Item ../tools/mpu/bin/* ./MsgPack-CLI/mpu/ -Recurse -Exclude @("*.vshost.*") [Reflection.Assembly]::LoadWithPartialName( "System.IO.Compression.FileSystem" ) | Out-Null # 'latest' should be rewritten with semver manually. if ( ( Test-Path "../dist/MsgPack.Cli.${env:PackageVersion}.zip" ) ) diff --git a/build/SetBuildEnv.ps1 b/build/SetBuildEnv.ps1 index 12432b7bc..9a8f40008 100644 --- a/build/SetBuildEnv.ps1 +++ b/build/SetBuildEnv.ps1 @@ -7,15 +7,15 @@ if ( $env:APPVEYOR_REPO_TAG -ne "True" ) { $now = [DateTime]::UtcNow $daysSpan = $now - ( New-Object DateTime( $now.Year, 1, 1 ) ) - $env:PackageVersion = "${version}-dev-{0:yy}{1:000}" -f @( $now, $daysSpan.Days ) + $env:PackageVersion = "${version}-{0:yy}{1:000}" -f @( $now, $daysSpan.Days ) } elseif ( ${version} -match "^[\d.]+$" ) { - $env:PackageVersion = "${version}-final-${env:APPVEYOR_BUILD_NUMBER}" + $env:PackageVersion = "${version}-${env:APPVEYOR_BUILD_NUMBER}" } else { - $env:PackageVersion = "${version}-dev-${env:APPVEYOR_BUILD_NUMBER}" + $env:PackageVersion = "${version}-${env:APPVEYOR_BUILD_NUMBER}" } } else @@ -23,4 +23,4 @@ else $env:PackageVersion = $version } -Write-Information "version:'${version}', AssemblyBaseVersion:'${AssemblyBaseVersion}', PackageVersion:'${PackageVersion}'" +Write-Host "version:'${version}', AssemblyBaseVersion:'${env:AssemblyBaseVersion}', PackageVersion:'${env:PackageVersion}'" diff --git a/build/Version.txt b/build/Version.txt index 8adc70fdd..c18d72be3 100644 --- a/build/Version.txt +++ b/build/Version.txt @@ -1 +1 @@ -0.8.0 \ No newline at end of file +0.8.1 \ No newline at end of file diff --git a/src/MsgPack.Xamarin.iOS.Unified/MsgPack.Xamarin.iOS.Unified.csproj b/src/MsgPack.Xamarin.iOS.Unified/MsgPack.Xamarin.iOS.Unified.csproj deleted file mode 100644 index 1128db0dd..000000000 --- a/src/MsgPack.Xamarin.iOS.Unified/MsgPack.Xamarin.iOS.Unified.csproj +++ /dev/null @@ -1,747 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {C9710C8A-2FA9-47FE-812C-992C283471CC} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - MsgPack - Resources - MsgPack - - - true - full - false - bin\Debug - DEBUG;__UNIFIED__;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; - prompt - 4 - false - bin\Debug\MsgPack.xml - - - full - true - ..\..\bin\Xamarin.iOS10\ - prompt - 4 - false - __UNIFIED__;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; - ..\..\bin\Xamarin.iOS10\MsgPack.XML - - - - - - - - - - - - - Properties\CommonAssemblyInfo.cs - - - AsyncReadResult.cs - - - AsyncReadResult`1.cs - - - BigEndianBinary.cs - - - Binary.cs - - - BufferManager.cs - - - CollectionDebuggerProxy`1.cs - - - CollectionOperation.cs - - - DictionaryDebuggerProxy`2.cs - - - Float32Bits.cs - - - Float64Bits.cs - - - GlobalSuppressions.cs - - - IAsyncPackable.cs - - - IAsyncUnpackable.cs - - - InvalidMessagePackStreamException.cs - - - IPackable.cs - - - ItemsUnpacker.cs - - - ItemsUnpacker.Read.cs - - - ItemsUnpacker.Skipping.cs - - - ItemsUnpacker.Unpacking.cs - - - IUnpackable.cs - - - KnownExtTypeCode.cs - - - KnownExtTypeName.cs - - - MessageNotSupportedException.cs - - - MessagePackCode.cs - - - MessagePackConvert.cs - - - MessagePackExtendedTypeObject.cs - - - MessagePackObject.cs - - - MessagePackObject.Utilities.cs - - - MessagePackObjectDictionary.cs - - - MessagePackObjectDictionary.Enumerator.cs - - - MessagePackObjectDictionary.KeySet.cs - - - MessagePackObjectDictionary.KeySet.Enumerator.cs - - - MessagePackObjectDictionary.ValueCollection.cs - - - MessagePackObjectDictionary.ValueCollection.Enumerator.cs - - - MessagePackObjectEqualityComparer.cs - - - MessagePackString.cs - - - MessageTypeException.cs - - - Packer.cs - - - Packer.Nullable.cs - - - Packer.Packing.cs - - - PackerCompatibilityOptions.cs - - - PackerUnpackerExtensions.cs - - - PackerUnpackerStreamOptions.cs - - - PackingOptions.cs - - - PreserveAttribute.cs - - - ReflectionAbstractions.cs - - - Serialization\CollectionDetailedKind.cs - - - Serialization\CollectionKind.cs - - - Serialization\CollectionSerializers\CollectionMessagePackSerializerBase`2.cs - - - Serialization\CollectionSerializers\CollectionMessagePackSerializer`2.cs - - - Serialization\CollectionSerializers\CollectionSerializerHelpers.cs - - - Serialization\CollectionSerializers\DictionaryMessagePackSerializerBase`3.cs - - - Serialization\CollectionSerializers\DictionaryMessagePackSerializer`3.cs - - - Serialization\CollectionSerializers\EnumerableMessagePackSerializerBase`2.cs - - - Serialization\CollectionSerializers\EnumerableMessagePackSerializer`2.cs - - - Serialization\CollectionSerializers\ICollectionInstanceFactory.cs - - - Serialization\CollectionSerializers\NonGenericCollectionMessagePackSerializer`1.cs - - - Serialization\CollectionSerializers\NonGenericDictionaryMessagePackSerializer`1.cs - - - Serialization\CollectionSerializers\NonGenericEnumerableMessagePackSerializerBase`1.cs - - - Serialization\CollectionSerializers\NonGenericEnumerableMessagePackSerializer`1.cs - - - Serialization\CollectionSerializers\NonGenericListMessagePackSerializer`1.cs - - - Serialization\CollectionSerializers\ReadOnlyCollectionMessagePackSerializer`2.cs - - - Serialization\CollectionSerializers\ReadOnlyDictionaryMessagePackSerializer`3.cs - - - Serialization\CollectionTraitOptions.cs - - - Serialization\CollectionTraits.cs - - - Serialization\DataMemberContract.cs - - - Serialization\DateTimeConversionMethod.cs - - - Serialization\DateTimeMemberConversionMethod.cs - - - Serialization\DateTimeMessagePackSerializerHelpers.cs - - - Serialization\DefaultConcreteTypeRepository.cs - - - Serialization\DefaultSerializers\AbstractCollectionMessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\AbstractCollectionSerializerHelper.cs - - - Serialization\DefaultSerializers\AbstractDictionaryMessagePackSerializer`3.cs - - - Serialization\DefaultSerializers\AbstractEnumerableMessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\AbstractNonGenericCollectionMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\AbstractNonGenericDictionaryMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\AbstractNonGenericEnumerableMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\AbstractNonGenericListMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\AbstractReadOnlyCollectionMessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\AbstractReadOnlyDictionaryMessagePackSerializer`3.cs - - - Serialization\DefaultSerializers\ArraySegmentMessageSerializer.cs - - - Serialization\DefaultSerializers\ArraySerializer.cs - - - Serialization\DefaultSerializers\ArraySerializer.Primitives.cs - - - Serialization\DefaultSerializers\ArraySerializer`1.cs - - - Serialization\DefaultSerializers\DateTimeMessagePackSerializerProvider.cs - - - Serialization\DefaultSerializers\DateTimeOffsetMessagePackSerializer.cs - - - Serialization\DefaultSerializers\DateTimeOffsetMessagePackSerializerProvider.cs - - - Serialization\DefaultSerializers\DefaultSerializers.cs - - - Serialization\DefaultSerializers\FSharpCollectionSerializer`2.cs - - - Serialization\DefaultSerializers\FSharpMapSerializer`3.cs - - - Serialization\DefaultSerializers\GenericSerializer.cs - - - Serialization\DefaultSerializers\ImmutableCollectionSerializer`2.cs - - - Serialization\DefaultSerializers\ImmutableDictionarySerializer`3.cs - - - Serialization\DefaultSerializers\ImmutableStackSerializer`2.cs - - - Serialization\DefaultSerializers\InternalDateTimeExtensions.cs - - - Serialization\DefaultSerializers\MessagePackObjectExtensions.cs - - - Serialization\DefaultSerializers\MsgPack_MessagePackExtendedTypeObjectMessagePackSerializer.cs - - - Serialization\DefaultSerializers\MsgPack_MessagePackObjectDictionaryMessagePackSerializer.cs - - - Serialization\DefaultSerializers\MsgPack_MessagePackObjectMessagePackSerializer.cs - - - Serialization\DefaultSerializers\MultidimensionalArraySerializer`1.cs - - - Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs - - - Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_ArraySegment_1MessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_ByteArrayMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_CharArrayMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_DictionaryEntryMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_KeyValuePair_2MessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_ListOfMessagePackObjectMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_List_1MessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_Queue_1MessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_Stack_1MessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_Collections_QueueMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_Specialized_NameValueCollectionMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Globalization_CultureInfoMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_ObjectMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_StringMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Text_StringBuilderMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_UriMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_VersionMessagePackSerializer.cs - - - Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs - - - Serialization\DictionaryKeyTransformers.cs - - - Serialization\DictionarySerlaizationOptions.cs - - - Serialization\EmitterFlavor.cs - - - Serialization\EnumMemberSerializationMethod.cs - - - Serialization\EnumMessagePackSerializerHelpers.cs - - - Serialization\EnumMessagePackSerializerProvider.cs - - - Serialization\EnumMessagePackSerializer`1.cs - - - Serialization\EnumSerializationMethod.cs - - - Serialization\ExtTypeCodeMapping.cs - - - Serialization\ICustomizableEnumSerializer.cs - - - Serialization\IdentifierUtility.cs - - - Serialization\IMessagePackSerializer.cs - - - Serialization\IMessagePackSingleObjectSerializer.cs - - - Serialization\INilImplicationHandlerOnUnpackedParameter.cs - - - Serialization\INilImplicationHandlerParameter.cs - - - Serialization\LazyDelegatingMessagePackSerializer`1.cs - - - Serialization\MessagePackDateTimeMemberAttribute.cs - - - Serialization\MessagePackDeserializationConstructorAttribute.cs - - - Serialization\MessagePackEnumAttribute.cs - - - Serialization\MessagePackEnumMemberAttribute.cs - - - Serialization\MessagePackIgnoreAttribute.cs - - - Serialization\MessagePackKnownTypeAttributes.cs - - - Serialization\MessagePackMemberAttribute.cs - - - Serialization\MessagePackRuntimeTypeAttributes.cs - - - Serialization\MessagePackSerializer.cs - - - Serialization\MessagePackSerializer.Factories.cs - - - Serialization\MessagePackSerializerExtensions.cs - - - Serialization\MessagePackSerializerProvider.cs - - - Serialization\MessagePackSerializer`1.cs - - - Serialization\NilImplication.cs - - - Serialization\NilImplicationHandler`4.cs - - - Serialization\NullTextWriter.cs - - - Serialization\PackHelperParameters.cs - - - Serialization\PackHelpers.cs - - - Serialization\Polymorphic\IPolymorphicDeserializer.cs - - - Serialization\Polymorphic\IPolymorphicHelperAttributes.cs - - - Serialization\Polymorphic\KnownTypePolymorphicMessagePackSerializer`1.cs - - - Serialization\Polymorphic\PolymorphicSerializerProvider`1.cs - - - Serialization\Polymorphic\TypeEmbedingPolymorphicMessagePackSerializer`1.cs - - - Serialization\Polymorphic\TypeInfoEncoder.cs - - - Serialization\Polymorphic\TypeInfoEncoding.cs - - - Serialization\PolymorphismSchema.Constructors.cs - - - Serialization\PolymorphismSchema.cs - - - Serialization\PolymorphismSchema.Internals.cs - - - Serialization\PolymorphismSchemaChildrenType.cs - - - Serialization\PolymorphismTarget.cs - - - Serialization\PolymorphismType.cs - - - Serialization\ReflectionExtensions.cs - - - Serialization\ReflectionHelpers.cs - - - Serialization\ReflectionSerializers\ReflectionCollectionMessagePackSerializer`2.cs - - - Serialization\ReflectionSerializers\ReflectionDictionaryMessagePackSerializer`3.cs - - - Serialization\ReflectionSerializers\ReflectionEnumerableMessagePackSerializer`2.cs - - - Serialization\ReflectionSerializers\ReflectionEnumMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionNilImplicationHandler.cs - - - Serialization\ReflectionSerializers\ReflectionNonGeenricCollectionMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionNonGeenricEnumerableMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionNonGenericDictionaryMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionNonGenericListMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionObjectMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionSerializerHelper.cs - - - Serialization\ReflectionSerializers\ReflectionSerializerNilImplicationHandlerOnUnpackedParameter.cs - - - Serialization\ReflectionSerializers\ReflectionSerializerNilImplicationHandlerParameter.cs - - - Serialization\ReflectionSerializers\ReflectionTupleMessagePackSerializer`1.cs - - - Serialization\Reflection\GenericTypeExtensions.cs - - - Serialization\Reflection\ReflectionExtensions.cs - - - Serialization\ResolveSerializerEventArgs.cs - - - Serialization\SerializationCompatibilityOptions.cs - - - Serialization\SerializationContext.cs - - - Serialization\SerializationContext.ExtTypeCodes.cs - - - Serialization\SerializationExceptions.cs - - - Serialization\SerializationMethod.cs - - - Serialization\SerializationMethodGeneratorOption.cs - - - Serialization\SerializationTarget.cs - - - Serialization\SerializerCapabilities.cs - - - Serialization\SerializerDebugging.cs - - - Serialization\SerializerOptions.cs - - - Serialization\SerializerRegistrationOptions.cs - - - Serialization\SerializerRepository.cs - - - Serialization\SerializerRepository.defaults.cs - - - Serialization\SerializerTypeKeyRepository.cs - - - Serialization\SerializingMember.cs - - - Serialization\TypeKeyRepository.cs - - - Serialization\UnpackHelperParameters.cs - - - Serialization\UnpackHelpers.cs - - - Serialization\UnpackHelpers.direct.cs - - - Serialization\UnpackHelpers.facade.cs - - - SetOperation.cs - - - StreamPacker.cs - - - StringEscape.cs - - - SubtreeUnpacker.cs - - - SubtreeUnpacker.Unpacking.cs - - - TupleItems.cs - - - UnassignedMessageTypeException.cs - - - Unpacker.cs - - - Unpacker.Unpacking.cs - - - UnpackException.cs - - - Unpacking.cs - - - Unpacking.Numerics.cs - - - Unpacking.Others.cs - - - Unpacking.Streaming.cs - - - Unpacking.String.cs - - - UnpackingMode.cs - - - UnpackingResult.cs - - - UnpackingStream.cs - - - UnpackingStreamReader.cs - - - UnsafeNativeMethods.cs - - - - - - remarks.xml - - - - \ No newline at end of file diff --git a/src/MsgPack.Xamarin.iOS.Unified/Properties/AssemblyInfo.cs b/src/MsgPack.Xamarin.iOS.Unified/Properties/AssemblyInfo.cs deleted file mode 100644 index 08af7b0fb..000000000 --- a/src/MsgPack.Xamarin.iOS.Unified/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,40 +0,0 @@ -#region -- License Terms -- -// -// MessagePack for CLI -// -// Copyright (C) 2016 FUJIWARA, Yusuke -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -#endregion -- License Terms -- - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Security; - -using Foundation; - -[assembly: AssemblyTitle( "MessagePack for CLI(.NET/Mono)" )] -[assembly: AssemblyDescription( "MessagePack for CLI(.NET/Mono) packing/unpacking library for Xamarin.iOS unified API." )] - -[assembly: AssemblyFileVersion( "0.7.2259.1047" )] - -[assembly: SecurityRules( SecurityRuleSet.Level2, SkipVerificationInFullTrust = true )] -[assembly: AllowPartiallyTrustedCallers] - -#if DEBUG || PERFORMANCE_TEST -[assembly: InternalsVisibleTo( "MsgPackUnitTestXamariniOSUnified" )] -#endif - -[assembly: LinkerSafe] - diff --git a/src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj b/src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj index 8ceef5dba..1128db0dd 100644 --- a/src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj +++ b/src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj @@ -1,47 +1,47 @@  - + Debug AnyCPU - {346B55F0-94FA-4B90-9C11-06031043B685} - {6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 8.0.30703 + 2.0 + {C9710C8A-2FA9-47FE-812C-992C283471CC} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Library MsgPack Resources MsgPack - true - ..\MsgPack.snk true full false bin\Debug - DEBUG;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; + DEBUG;__UNIFIED__;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; prompt 4 false bin\Debug\MsgPack.xml + full true - ..\..\bin\MonoTouch10\ + ..\..\bin\Xamarin.iOS10\ prompt 4 false - __MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; - ..\..\bin\MonoTouch10\MsgPack.xml + __UNIFIED__;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; + ..\..\bin\Xamarin.iOS10\MsgPack.XML - + - Properties\CommonAssemblyInfo.cs @@ -743,4 +743,5 @@ remarks.xml + \ No newline at end of file diff --git a/src/MsgPack.Xamarin.iOS/Properties/AssemblyInfo.cs b/src/MsgPack.Xamarin.iOS/Properties/AssemblyInfo.cs index 0c8299d24..fc61da79e 100644 --- a/src/MsgPack.Xamarin.iOS/Properties/AssemblyInfo.cs +++ b/src/MsgPack.Xamarin.iOS/Properties/AssemblyInfo.cs @@ -1,8 +1,8 @@ -#region -- License Terms -- +#region -- License Terms -- // // MessagePack for CLI // -// Copyright (C) 2010-2016 FUJIWARA, Yusuke +// Copyright (C) 2016 FUJIWARA, Yusuke // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -22,10 +22,10 @@ using System.Runtime.CompilerServices; using System.Security; -using MonoTouch.Foundation; +using Foundation; [assembly: AssemblyTitle( "MessagePack for CLI(.NET/Mono)" )] -[assembly: AssemblyDescription( "MessagePack for CLI(.NET/Mono) packing/unpacking library for Xamarin.iOS." )] +[assembly: AssemblyDescription( "MessagePack for CLI(.NET/Mono) packing/unpacking library for Xamarin.iOS unified API." )] [assembly: AssemblyFileVersion( "0.7.2259.1047" )] @@ -33,7 +33,7 @@ [assembly: AllowPartiallyTrustedCallers] #if DEBUG || PERFORMANCE_TEST -[assembly: InternalsVisibleTo( "MsgPackUnitTestXamariniOS, PublicKey=0024000004800000940000000602000000240000525341310004000001000100a967de8de9d45380b93a6aa56f64fc2cb2d3c9d4b400e00de01f31ba9e15cf5ca95926dbf8760cce413eabd711e23df0c133193a570da8a3bb1bdc00ef170fccb2bc033266fa5346442c9cf0b071133d5b484845eab17095652aeafeeb71193506b8294d9c8c91e3fd01cc50bdbc2d0eb78dd655bb8cd0bd3cdbbcb192549cb4" )] +[assembly: InternalsVisibleTo( "MsgPackUnitTestXamariniOS" )] #endif [assembly: LinkerSafe] diff --git a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs index a9b9f65c2..12d46bdea 100644 --- a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs +++ b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs @@ -103,12 +103,12 @@ private void UnpackToCore( Unpacker unpacker, Dictionary collectio { using ( var subTreeUnpacker = unpacker.ReadSubtree() ) { - key = this._keySerializer.UnpackFromCore( subTreeUnpacker ); + key = this._keySerializer.UnpackFrom( subTreeUnpacker ); } } else { - key = this._keySerializer.UnpackFromCore( unpacker ); + key = this._keySerializer.UnpackFrom( unpacker ); } if ( !unpacker.Read() ) @@ -120,12 +120,12 @@ private void UnpackToCore( Unpacker unpacker, Dictionary collectio { using ( var subTreeUnpacker = unpacker.ReadSubtree() ) { - collection.Add( key, this._valueSerializer.UnpackFromCore( subTreeUnpacker ) ); + collection.Add( key, this._valueSerializer.UnpackFrom( subTreeUnpacker ) ); } } else { - collection.Add( key, this._valueSerializer.UnpackFromCore( unpacker ) ); + collection.Add( key, this._valueSerializer.UnpackFrom( unpacker ) ); } } } @@ -180,12 +180,12 @@ private async Task UnpackToAsyncCore( Unpacker unpacker, Dictionary UnpackFromCore( Unpacker SerializationExceptions.ThrowUnexpectedEndOfStream( unpacker ); } - var key = unpacker.LastReadData.IsNil ? default( TKey ) : this._keySerializer.UnpackFromCore( unpacker ); + var key = unpacker.LastReadData.IsNil ? default( TKey ) : this._keySerializer.UnpackFrom( unpacker ); if ( !unpacker.Read() ) { SerializationExceptions.ThrowUnexpectedEndOfStream( unpacker ); } - var value = unpacker.LastReadData.IsNil ? default( TValue ) : this._valueSerializer.UnpackFromCore( unpacker ); + var value = unpacker.LastReadData.IsNil ? default( TValue ) : this._valueSerializer.UnpackFrom( unpacker ); return new KeyValuePair( key, value ); } @@ -89,14 +89,14 @@ protected internal override async Task> UnpackFromAsy SerializationExceptions.ThrowUnexpectedEndOfStream( unpacker ); } - var key = unpacker.LastReadData.IsNil ? default( TKey ) : await this._keySerializer.UnpackFromAsyncCore( unpacker, cancellationToken ).ConfigureAwait( false ); + var key = unpacker.LastReadData.IsNil ? default( TKey ) : await this._keySerializer.UnpackFromAsync( unpacker, cancellationToken ).ConfigureAwait( false ); if ( !await unpacker.ReadAsync( cancellationToken ).ConfigureAwait( false ) ) { SerializationExceptions.ThrowUnexpectedEndOfStream( unpacker ); } - var value = unpacker.LastReadData.IsNil ? default( TValue ) : await this._valueSerializer.UnpackFromAsyncCore( unpacker, cancellationToken ).ConfigureAwait( false ); + var value = unpacker.LastReadData.IsNil ? default( TValue ) : await this._valueSerializer.UnpackFromAsync( unpacker, cancellationToken ).ConfigureAwait( false ); return new KeyValuePair( key, value ); } diff --git a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_List_1MessagePackSerializer`1.cs b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_List_1MessagePackSerializer`1.cs index 739ad2b72..06032a821 100644 --- a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_List_1MessagePackSerializer`1.cs +++ b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_List_1MessagePackSerializer`1.cs @@ -99,12 +99,12 @@ private void UnpackToCore( Unpacker unpacker, List collection, int count ) { using ( var subTreeUnpacker = unpacker.ReadSubtree() ) { - collection.Add( this._itemSerializer.UnpackFromCore( subTreeUnpacker ) ); + collection.Add( this._itemSerializer.UnpackFrom( subTreeUnpacker ) ); } } else { - collection.Add( this._itemSerializer.UnpackFromCore( unpacker ) ); + collection.Add( this._itemSerializer.UnpackFrom( unpacker ) ); } } } @@ -158,12 +158,12 @@ private async Task UnpackToAsyncCore( Unpacker unpacker, List collection, int { using ( var subTreeUnpacker = unpacker.ReadSubtree() ) { - collection.Add( await this._itemSerializer.UnpackFromAsyncCore( subTreeUnpacker, cancellationToken ).ConfigureAwait( false ) ); + collection.Add( await this._itemSerializer.UnpackFromAsync( subTreeUnpacker, cancellationToken ).ConfigureAwait( false ) ); } } else { - collection.Add( await this._itemSerializer.UnpackFromAsyncCore( unpacker, cancellationToken ).ConfigureAwait( false ) ); + collection.Add( await this._itemSerializer.UnpackFromAsync( unpacker, cancellationToken ).ConfigureAwait( false ) ); } } } diff --git a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Stack_1MessagePackSerializer`1.cs b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Stack_1MessagePackSerializer`1.cs index a22c1b82e..8812715fd 100644 --- a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Stack_1MessagePackSerializer`1.cs +++ b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Stack_1MessagePackSerializer`1.cs @@ -111,7 +111,7 @@ protected internal override async Task PackToAsyncCore( Packer packer, Stack /// The deserialized object. /// + /// + /// You must call at least once in advance. + /// Or, you will get a default value of the object. + /// /// public object UnpackFrom( Unpacker unpacker ) { @@ -229,6 +233,10 @@ public Task PackToAsync( Packer packer, object objectTree, CancellationToken can /// /// The type of deserializing is not serializable even if it can be serialized. /// + /// + /// You must call at least once in advance. + /// Or, you will get a default value of the object. + /// /// public Task UnpackFromAsync( Unpacker unpacker, CancellationToken cancellationToken ) { diff --git a/src/MsgPack/Serialization/MessagePackSerializer`1.cs b/src/MsgPack/Serialization/MessagePackSerializer`1.cs index b6a13adb0..577be9bf8 100644 --- a/src/MsgPack/Serialization/MessagePackSerializer`1.cs +++ b/src/MsgPack/Serialization/MessagePackSerializer`1.cs @@ -483,6 +483,10 @@ protected internal virtual Task PackToAsyncCore( Packer packer, T objectTree, Ca /// /// is not serializable even if it can be serialized. /// + /// + /// You must call at least once in advance. + /// Or, you will get a default value of . + /// /// [System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Design", "CA1062:ValidateArgumentsOfPublicMethods", MessageId = "0", Justification = "False positive because never reached." )] public new T UnpackFrom( Unpacker unpacker ) @@ -574,6 +578,10 @@ protected internal virtual T UnpackNil() /// /// is not serializable even if it can be serialized. /// + /// + /// You must call at least once in advance. + /// Or, you will get a default value of . + /// /// public Task UnpackFromAsync( Unpacker unpacker ) { diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/UnitTestAppDelegate.cs b/test/MsgPack.UnitTest.Xamarin.iOS/AppDelegate.cs similarity index 51% rename from test/MsgPack.UnitTest.Xamarin.iOS/UnitTestAppDelegate.cs rename to test/MsgPack.UnitTest.Xamarin.iOS/AppDelegate.cs index 1087f0452..957948086 100644 --- a/test/MsgPack.UnitTest.Xamarin.iOS/UnitTestAppDelegate.cs +++ b/test/MsgPack.UnitTest.Xamarin.iOS/AppDelegate.cs @@ -1,44 +1,45 @@ using System; -using System.Collections.Generic; -using System.Linq; -using MonoTouch.Foundation; -using MonoTouch.UIKit; + +using Foundation; + using MonoTouch.NUnit.UI; -namespace MsgPack.UnitTest.Xamios +using UIKit; + +namespace MsgPack { - // The UIApplicationDelegate for the application. This class is responsible for launching the - // User Interface of the application, as well as listening (and optionally responding) to + // The UIApplicationDelegate for the application. This class is responsible for launching the + // User Interface of the application, as well as listening (and optionally responding) to // application events from iOS. - [Register ("UnitTestAppDelegate")] - public partial class UnitTestAppDelegate : UIApplicationDelegate + [Register( "AppDelegate" )] + public partial class AppDelegate : UIApplicationDelegate { // class-level declarations UIWindow window; TouchRunner runner; + // - // This method is invoked when the application has loaded and is ready to run. In this + // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // - public override bool FinishedLaunching (UIApplication app, NSDictionary options) + public override bool FinishedLaunching( UIApplication app, NSDictionary options ) { // create a new window instance based on the screen size - window = new UIWindow (UIScreen.MainScreen.Bounds); - runner = new TouchRunner (window); + this.window = new UIWindow( UIScreen.MainScreen.Bounds ); + this.runner = new TouchRunner( this.window ); // register every tests included in the main application/assembly - runner.Add (System.Reflection.Assembly.GetExecutingAssembly ()); + this.runner.Add( System.Reflection.Assembly.GetExecutingAssembly() ); + + this.window.RootViewController = new UINavigationController( this.runner.GetViewController() ); - window.RootViewController = new UINavigationController (runner.GetViewController ()); - // make the window visible - window.MakeKeyAndVisible (); - + this.window.MakeKeyAndVisible(); + return true; } } -} - +} \ No newline at end of file diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/Info.plist b/test/MsgPack.UnitTest.Xamarin.iOS/Info.plist index 5507ccb67..077137373 100644 --- a/test/MsgPack.UnitTest.Xamarin.iOS/Info.plist +++ b/test/MsgPack.UnitTest.Xamarin.iOS/Info.plist @@ -2,39 +2,44 @@ - CFBundleDisplayName - MsgPack.UnitTest.Xamios - CFBundleIdentifier - org.msgpack.msgpack-cli-xamarin-ios-test - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - MinimumOSVersion - 7.0 - UIDeviceFamily - - 1 - 2 - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - + CFBundleDisplayName + MsgPack.UnitTest.Xamios + CFBundleIdentifier + org.msgpack.msgpack-cli-xamarin-ios-test + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + MinimumOSVersion + 7.0 + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/Main.cs b/test/MsgPack.UnitTest.Xamarin.iOS/Main.cs index d271a2e21..f5fd1e83f 100644 --- a/test/MsgPack.UnitTest.Xamarin.iOS/Main.cs +++ b/test/MsgPack.UnitTest.Xamarin.iOS/Main.cs @@ -1,21 +1,17 @@ using System; -using System.Collections.Generic; -using System.Linq; -using MonoTouch.Foundation; -using MonoTouch.UIKit; -using MsgPack.Serialization; +using UIKit; -namespace MsgPack.UnitTest.Xamios +namespace MsgPack { public class Application { // This is the main entry point of the application. static void Main( string[] args ) { - // if you want to use a different Application Delegate class from "UnitTestAppDelegate" + // if you want to use a different Application Delegate class from "AppDelegate" // you can specify it here. - UIApplication.Main( args, null, "UnitTestAppDelegate" ); + UIApplication.Main( args, null, "AppDelegate" ); } } -} +} \ No newline at end of file diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/MsgPack.UnitTest.Xamarin.iOS.csproj b/test/MsgPack.UnitTest.Xamarin.iOS/MsgPack.UnitTest.Xamarin.iOS.csproj index b697611aa..22547f1a6 100644 --- a/test/MsgPack.UnitTest.Xamarin.iOS/MsgPack.UnitTest.Xamarin.iOS.csproj +++ b/test/MsgPack.UnitTest.Xamarin.iOS/MsgPack.UnitTest.Xamarin.iOS.csproj @@ -4,7 +4,7 @@ Debug iPhoneSimulator {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C} - {6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Exe MsgPack Resources @@ -17,7 +17,7 @@ full false bin\iPhoneSimulator\Debug - DEBUG;__MOBILE__;__IOS__;XAMIOS;MONO; + DEBUG;__UNIFIED__;__MOBILE__;__IOS__;XAMIOS;MONO; prompt 4 false @@ -32,7 +32,7 @@ true bin\iPhoneSimulator\Release - __MOBILE__;__IOS__;XAMIOS;MONO; + __UNIFIED__;__MOBILE__;__IOS__;XAMIOS;MONO; prompt 4 None @@ -45,7 +45,7 @@ full false bin\iPhone\Debug - DEBUG;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; + DEBUG;__UNIFIED__;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; prompt 4 false @@ -76,7 +76,7 @@ true bin\iPhone\Release - __MOBILE__;__IOS__;AOT;XAMARIN;MONO; + __UNIFIED__;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; prompt 4 Entitlements.plist @@ -87,7 +87,7 @@ true bin\iPhone\Ad-Hoc - __MOBILE__;__IOS__;AOT;XAMARIN;MONO; + __UNIFIED__;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; prompt 4 false @@ -101,7 +101,7 @@ full true bin\iPhone\AppStore - __MOBILE__;__IOS__;AOT;XAMARIN;MONO; + __UNIFIED__;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; prompt 4 false @@ -114,14 +114,12 @@ - + - - - + cases.mpac @@ -1888,16 +1886,9 @@ UnpackingTest.Scalar.cs + - - - - - - {346B55F0-94FA-4B90-9C11-06031043B685} - MsgPack.Xamarin.iOS - @@ -1909,5 +1900,17 @@ gen\_ReadMe.txt + + + + + + + {c9710c8a-2fa9-47fe-812c-992c283471cc} + MsgPack.Xamarin.iOS + false + false + + \ No newline at end of file diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default-568h@2x.png b/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default-568h@2x.png new file mode 100644 index 000000000..b3f66780c Binary files /dev/null and b/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default-568h@2x.png differ diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default.png b/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default.png new file mode 100644 index 000000000..7ad63b043 Binary files /dev/null and b/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default.png differ diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default@2x.png b/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default@2x.png new file mode 100644 index 000000000..8d59426f3 Binary files /dev/null and b/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default@2x.png differ diff --git a/test/MsgPack.UnitTest/Serialization/RegressionTests.cs b/test/MsgPack.UnitTest/Serialization/RegressionTests.cs index 8f60488fa..8135c868f 100644 --- a/test/MsgPack.UnitTest/Serialization/RegressionTests.cs +++ b/test/MsgPack.UnitTest/Serialization/RegressionTests.cs @@ -354,5 +354,70 @@ public void SetItems( List items ) } } #endif // !SILVERLIGHT && !AOT && !NETSTANDARD1_1 && !NETSTANDARD1_3 + + [Test] + public void TestIssue211_ListOfT() + { + var target = new SerializationContext().GetSerializer>(); + using ( var buffer = new MemoryStream() ) + { + target.Pack( buffer, new List { null } ); + buffer.Position = 0; + var result = target.Unpack( buffer ); + Assert.That( result.Count, Is.EqualTo( 1 ) ); + Assert.That( result[ 0 ], Is.Null ); + } + } + + [Test] + public void TestIssue211_DictionaryOfT() + { + var target = new SerializationContext().GetSerializer>(); + using ( var buffer = new MemoryStream() ) + { + target.Pack( buffer, new Dictionary { { String.Empty, null } } ); + buffer.Position = 0; + var result = target.Unpack( buffer ); + Assert.That( result.Count, Is.EqualTo( 1 ) ); + Assert.That( result.First().Value, Is.Null ); + } + } + + [Test] + public void TestIssue211_StackOfT() + { + var target = new SerializationContext().GetSerializer>(); + using ( var buffer = new MemoryStream() ) + { + var obj = new Stack(); + obj.Push( null ); + target.Pack( buffer, obj ); + buffer.Position = 0; + var result = target.Unpack( buffer ); + Assert.That( result.Count, Is.EqualTo( 1 ) ); + Assert.That( result.Pop(), Is.Null ); + } + } + + [Test] + public void TestIssue211_QueueOfT() + { + var target = new SerializationContext().GetSerializer>(); + using ( var buffer = new MemoryStream() ) + { + var obj = new Queue(); + obj.Enqueue( null ); + target.Pack( buffer, obj ); + buffer.Position = 0; + var result = target.Unpack( buffer ); + Assert.That( result.Count, Is.EqualTo( 1 ) ); + Assert.That( result.Dequeue(), Is.Null ); + } + } + + public class SingleValueObject + { + public string Value { get; set; } + } } }