From 6a96ff142c49f9aae59a6df46fd14756883f3bb3 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Tue, 26 Jun 2018 17:09:33 +0200 Subject: [PATCH] Add NS.string as primitive --- plist-cil.test/BinaryPropertyListWriterTests.cs | 16 ++++++++++++++++ plist-cil.test/plist-cil.test.csproj | 3 +++ plist-cil.test/test-files/plist4.bin | Bin 0 -> 1546 bytes plist-cil/BinaryPropertyListWriter.cs | 1 + 4 files changed, 20 insertions(+) create mode 100644 plist-cil.test/test-files/plist4.bin diff --git a/plist-cil.test/BinaryPropertyListWriterTests.cs b/plist-cil.test/BinaryPropertyListWriterTests.cs index 5b6f9d0..22d54ac 100644 --- a/plist-cil.test/BinaryPropertyListWriterTests.cs +++ b/plist-cil.test/BinaryPropertyListWriterTests.cs @@ -53,5 +53,21 @@ namespace plistcil.test writer.Write(root); } } + + [Fact] + public void Roundtrip4Test() + { + byte[] data = File.ReadAllBytes("test-files/plist4.bin"); + NSObject root = PropertyListParser.Parse(data); + + using (MemoryStream actualOutput = new MemoryStream()) + using (Stream expectedOutput = File.OpenRead("test-files/plist4.bin")) + using (ValidatingStream validatingStream = new ValidatingStream(actualOutput, expectedOutput)) + { + BinaryPropertyListWriter writer = new BinaryPropertyListWriter(validatingStream); + writer.ReuseObjectIds = false; + writer.Write(root); + } + } } } diff --git a/plist-cil.test/plist-cil.test.csproj b/plist-cil.test/plist-cil.test.csproj index 72f6c01..cb0a71d 100644 --- a/plist-cil.test/plist-cil.test.csproj +++ b/plist-cil.test/plist-cil.test.csproj @@ -122,6 +122,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest diff --git a/plist-cil.test/test-files/plist4.bin b/plist-cil.test/test-files/plist4.bin new file mode 100644 index 0000000000000000000000000000000000000000..0c1a127bc824cb9959f7f8f667cac47f86b05b75 GIT binary patch literal 1546 zcmYc)$jK}&F)+Bo$i&RT%4TI9p;DGwRGgWg7on1$l$DxXQXHw0Sd^TRS(aK9qEeDy zAjH7fwqU)0AUlVwoVUTIFwWlk<`9ub*vzhJ%W)XL&0zhFJ6 zIbkZvIf=!^%X#_u1q6kJ8<-lH8(11x8`v7y8#tDWiit}|ic2?eHgGraH1Ia?HSjd> zHweTF2)ac2xWxN-It4ifMaBm>hIqsaNJKdMyST=?IJw711USdLMmYO~27CJZ1;_aX zhvp@frlqA8rKWiL#|ubDIESPbmpJF=rDdj<7A2Ns=I6O(=A;HBmSn^W2!qXb3v%>z z4fhZ7hMF$y9~|%K9O4<~84?-q5)$tVvP(e5B_tx=+27C4)j7n|-!DGcH7Lx}*)lJiqi^<7dy=B2nKmL#H?uA7*bT~tz%n2}pnnwXoNmRyunRGwU1 znUa~3nXKZhlf`PO82$B9g#if*eJLu8vO5W{$?X=Ejy5x+WH8X1b21#+JIKrWUT|j)oS- zmS)EKCAkG?0SSp8T}L+yXCqT1H(g63LknFKQ#V6hOE)7ET~jjy6C*=YOA|8-Q>a^$ zk<%(DVVR63CvuZhynqXqoS&DMnhYu*f>VpiGLut__0nJ&>XN3G zxkbEyFgyjiWP(*D7F8}bx73UA3q}Zl6RLM=Won8ewAj38V;fSGpI_3z$iTrM$RNd_ z%%IC)#9+?g%@D{C!H~d^%}~Tp#Zbdg$I!sg#L&Xf#?ZkqfngHE6ozRGGZ)*#jt)^ye!1~6b^1XBzQc2F8hvE~5)92@n^ literal 0 HcmV?d00001 diff --git a/plist-cil/BinaryPropertyListWriter.cs b/plist-cil/BinaryPropertyListWriter.cs index ceb24a9..4f14952 100644 --- a/plist-cil/BinaryPropertyListWriter.cs +++ b/plist-cil/BinaryPropertyListWriter.cs @@ -424,6 +424,7 @@ namespace Claunia.PropertyList || content == "NS.keys" || content == "NS.base" || content == "NS.relative" + || content == "NS.string" || content == "NSURL" || content == "NSDictionary" || content == "NSObject"