diff --git a/ChangeLog b/ChangeLog index 81275fd..33cc8d5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-02-19 Natalia Portillo + + * plist-cil.sln: + Added test files + 2015-02-16 Natalia Portillo * plist-cil.sln: diff --git a/plist-cil.sln b/plist-cil.sln index c759f3c..89888e2 100644 --- a/plist-cil.sln +++ b/plist-cil.sln @@ -3,6 +3,24 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "plist-cil", "plist-cil\plist-cil.csproj", "{5EA40CD5-CB98-4FD5-8628-3B399EACB38B}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test-files", "test-files", "{67533069-B704-481F-A0FA-7EDAA01C927E}" + ProjectSection(SolutionItems) = preProject + test-files\test1-ascii-gnustep.plist = test-files\test1-ascii-gnustep.plist + test-files\test1-ascii.plist = test-files\test1-ascii.plist + test-files\test1.plist = test-files\test1.plist + test-files\testNegative-bin.plist = test-files\testNegative-bin.plist + test-files\testNegative-xml.plist = test-files\testNegative-xml.plist + test-files\issue4.plist = test-files\issue4.plist + test-files\issue16.plist = test-files\issue16.plist + test-files\issue21.plist = test-files\issue21.plist + test-files\issue22-emoji-xml.plist = test-files\issue22-emoji-xml.plist + test-files\issue22-emoji.plist = test-files\issue22-emoji.plist + test-files\issue30.plist = test-files\issue30.plist + test-files\issue33.pbxproj = test-files\issue33.pbxproj + test-files\issue49.plist = test-files\issue49.plist + test-files\test-ascii.plist = test-files\test-ascii.plist + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -14,6 +32,8 @@ Global {5EA40CD5-CB98-4FD5-8628-3B399EACB38B}.Release|Any CPU.ActiveCfg = Release|Any CPU {5EA40CD5-CB98-4FD5-8628-3B399EACB38B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection + GlobalSection(NestedProjects) = preSolution + EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution Policies = $0 $0.DotNetNamingPolicy = $1 diff --git a/test-files/ChangeLog b/test-files/ChangeLog new file mode 100644 index 0000000..6996b53 --- /dev/null +++ b/test-files/ChangeLog @@ -0,0 +1,18 @@ +2015-02-19 Natalia Portillo + + * test1.plist: + * issue4.plist: + * issue49.plist: + * issue16.plist: + * issue30.plist: + * issue21.plist: + * issue33.pbxproj: + * test-ascii.plist: + * test1-ascii.plist: + * issue22-emoji.plist: + * testNegative-bin.plist: + * testNegative-xml.plist: + * issue22-emoji-xml.plist: + * test1-ascii-gnustep.plist: + Added test files + diff --git a/test-files/issue16.plist b/test-files/issue16.plist new file mode 100644 index 0000000..c6a9f0a Binary files /dev/null and b/test-files/issue16.plist differ diff --git a/test-files/issue21.plist b/test-files/issue21.plist new file mode 100644 index 0000000..286f7ab --- /dev/null +++ b/test-files/issue21.plist @@ -0,0 +1,5 @@ + + + +Lot&s of &persand&s and other escapable "'<>€ characters + diff --git a/test-files/issue22-emoji-xml.plist b/test-files/issue22-emoji-xml.plist new file mode 100644 index 0000000..6d3c3cb --- /dev/null +++ b/test-files/issue22-emoji-xml.plist @@ -0,0 +1,8 @@ + + + + + emojiString + Test Test, 😰❔👍👎🔥 + + diff --git a/test-files/issue22-emoji.plist b/test-files/issue22-emoji.plist new file mode 100644 index 0000000..48f80d7 Binary files /dev/null and b/test-files/issue22-emoji.plist differ diff --git a/test-files/issue30.plist b/test-files/issue30.plist new file mode 100644 index 0000000..500d3c8 --- /dev/null +++ b/test-files/issue30.plist @@ -0,0 +1,7 @@ + + + + + 0 + + diff --git a/test-files/issue33.pbxproj b/test-files/issue33.pbxproj new file mode 100644 index 0000000..719dca2 --- /dev/null +++ b/test-files/issue33.pbxproj @@ -0,0 +1,310 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 65541A9C16D13B8C00A968D5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65541A9B16D13B8C00A968D5 /* Cocoa.framework */; }; + 65541AA616D13B8C00A968D5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 65541AA416D13B8C00A968D5 /* InfoPlist.strings */; }; + 65541AA816D13B8C00A968D5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 65541AA716D13B8C00A968D5 /* main.m */; }; + 65541AAC16D13B8C00A968D5 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 65541AAA16D13B8C00A968D5 /* Credits.rtf */; }; + 65541AAF16D13B8C00A968D5 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 65541AAE16D13B8C00A968D5 /* AppDelegate.m */; }; + 65541AB216D13B8C00A968D5 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 65541AB016D13B8C00A968D5 /* MainMenu.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 65541A9816D13B8C00A968D5 /* Testproject.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Testproject.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 65541A9B16D13B8C00A968D5 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 65541A9E16D13B8C00A968D5 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + 65541A9F16D13B8C00A968D5 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + 65541AA016D13B8C00A968D5 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 65541AA316D13B8C00A968D5 /* Testproject-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Testproject-Info.plist"; sourceTree = ""; }; + 65541AA516D13B8C00A968D5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 65541AA716D13B8C00A968D5 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 65541AA916D13B8C00A968D5 /* Testproject-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Testproject-Prefix.pch"; sourceTree = ""; }; + 65541AAB16D13B8C00A968D5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; + 65541AAD16D13B8C00A968D5 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 65541AAE16D13B8C00A968D5 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 65541AB116D13B8C00A968D5 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 65541A9516D13B8C00A968D5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 65541A9C16D13B8C00A968D5 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 65541A8F16D13B8C00A968D5 = { + isa = PBXGroup; + children = ( + 65541AA116D13B8C00A968D5 /* Testproject */, + 65541A9A16D13B8C00A968D5 /* Frameworks */, + 65541A9916D13B8C00A968D5 /* Products */, + ); + sourceTree = ""; + }; + 65541A9916D13B8C00A968D5 /* Products */ = { + isa = PBXGroup; + children = ( + 65541A9816D13B8C00A968D5 /* Testproject.app */, + ); + name = Products; + sourceTree = ""; + }; + 65541A9A16D13B8C00A968D5 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 65541A9B16D13B8C00A968D5 /* Cocoa.framework */, + 65541A9D16D13B8C00A968D5 /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + 65541A9D16D13B8C00A968D5 /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 65541A9E16D13B8C00A968D5 /* AppKit.framework */, + 65541A9F16D13B8C00A968D5 /* CoreData.framework */, + 65541AA016D13B8C00A968D5 /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 65541AA116D13B8C00A968D5 /* Testproject */ = { + isa = PBXGroup; + children = ( + 65541AAD16D13B8C00A968D5 /* AppDelegate.h */, + 65541AAE16D13B8C00A968D5 /* AppDelegate.m */, + 65541AB016D13B8C00A968D5 /* MainMenu.xib */, + 65541AA216D13B8C00A968D5 /* Supporting Files */, + ); + path = Testproject; + sourceTree = ""; + }; + 65541AA216D13B8C00A968D5 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 65541AA316D13B8C00A968D5 /* Testproject-Info.plist */, + 65541AA416D13B8C00A968D5 /* InfoPlist.strings */, + 65541AA716D13B8C00A968D5 /* main.m */, + 65541AA916D13B8C00A968D5 /* Testproject-Prefix.pch */, + 65541AAA16D13B8C00A968D5 /* Credits.rtf */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 65541A9716D13B8C00A968D5 /* Testproject */ = { + isa = PBXNativeTarget; + buildConfigurationList = 65541AB516D13B8C00A968D5 /* Build configuration list for PBXNativeTarget "Testproject" */; + buildPhases = ( + 65541A9416D13B8C00A968D5 /* Sources */, + 65541A9516D13B8C00A968D5 /* Frameworks */, + 65541A9616D13B8C00A968D5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Testproject; + productName = Testproject; + productReference = 65541A9816D13B8C00A968D5 /* Testproject.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 65541A9016D13B8C00A968D5 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + ORGANIZATIONNAME = "Test"; + }; + buildConfigurationList = 65541A9316D13B8C00A968D5 /* Build configuration list for PBXProject "Testproject" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 65541A8F16D13B8C00A968D5; + productRefGroup = 65541A9916D13B8C00A968D5 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 65541A9716D13B8C00A968D5 /* Testproject */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 65541A9616D13B8C00A968D5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 65541AA616D13B8C00A968D5 /* InfoPlist.strings in Resources */, + 65541AAC16D13B8C00A968D5 /* Credits.rtf in Resources */, + 65541AB216D13B8C00A968D5 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 65541A9416D13B8C00A968D5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 65541AA816D13B8C00A968D5 /* main.m in Sources */, + 65541AAF16D13B8C00A968D5 /* AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 65541AA416D13B8C00A968D5 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 65541AA516D13B8C00A968D5 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 65541AAA16D13B8C00A968D5 /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + 65541AAB16D13B8C00A968D5 /* en */, + ); + name = Credits.rtf; + sourceTree = ""; + }; + 65541AB016D13B8C00A968D5 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 65541AB116D13B8C00A968D5 /* en */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 65541AB316D13B8C00A968D5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.8; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 65541AB416D13B8C00A968D5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.8; + SDKROOT = macosx; + }; + name = Release; + }; + 65541AB616D13B8C00A968D5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Testproject/Testproject-Prefix.pch"; + INFOPLIST_FILE = "Testproject/Testproject-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 65541AB716D13B8C00A968D5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Testproject/Testproject-Prefix.pch"; + INFOPLIST_FILE = "Testproject/Testproject-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 65541A9316D13B8C00A968D5 /* Build configuration list for PBXProject "Testproject" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 65541AB316D13B8C00A968D5 /* Debug */, + 65541AB416D13B8C00A968D5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 65541AB516D13B8C00A968D5 /* Build configuration list for PBXNativeTarget "Testproject" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 65541AB616D13B8C00A968D5 /* Debug */, + 65541AB716D13B8C00A968D5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = 65541A9016D13B8C00A968D5 /* Project object */; +} diff --git a/test-files/issue4.plist b/test-files/issue4.plist new file mode 100644 index 0000000..f2498ff --- /dev/null +++ b/test-files/issue4.plist @@ -0,0 +1,8 @@ + + + + + Device Name + Kid’s iPhone + + diff --git a/test-files/issue49.plist b/test-files/issue49.plist new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/test-files/issue49.plist @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test-files/test-ascii.plist b/test-files/test-ascii.plist new file mode 100644 index 0000000..5725064 --- /dev/null +++ b/test-files/test-ascii.plist @@ -0,0 +1,5 @@ +{ + "key&\102"="value&\U0042=="; + key2 = "strangestring\\\""; + key3 = "strangestring\\"; +} \ No newline at end of file diff --git a/test-files/test1-ascii-gnustep.plist b/test-files/test1-ascii-gnustep.plist new file mode 100644 index 0000000..463dc42 --- /dev/null +++ b/test-files/test1-ascii-gnustep.plist @@ -0,0 +1,12 @@ +{ + keyA = valueA; + "key&\102" = "value&\U0042"; + date = <*D2011-11-28 09:21:30 +0000>; + data = <00000004 10410820 82>; + array = ( + <*BY>, + <*BN>, + <*I87>, + <*R3.14159> + ); +} \ No newline at end of file diff --git a/test-files/test1-ascii.plist b/test-files/test1-ascii.plist new file mode 100644 index 0000000..4f21173 --- /dev/null +++ b/test-files/test1-ascii.plist @@ -0,0 +1,12 @@ +{ + keyA = valueA; + "key&\102" = "value&\U0042"; + date = "2011-11-28T09:21:30Z"; + data = <00000004 10410820 82>; + array = ( + YES, + NO, + 87, + 3.14159 + ); +} \ No newline at end of file diff --git a/test-files/test1.plist b/test-files/test1.plist new file mode 100644 index 0000000..1dc2bc4 --- /dev/null +++ b/test-files/test1.plist @@ -0,0 +1,21 @@ + + + + + keyA + valueA + key&B + value&B + date + 2011-11-28T09:21:30Z + data + AAAA BBBB CCCC + array + + + + 87 + 3.14159 + + + diff --git a/test-files/testNegative-bin.plist b/test-files/testNegative-bin.plist new file mode 100644 index 0000000..4c0461b Binary files /dev/null and b/test-files/testNegative-bin.plist differ diff --git a/test-files/testNegative-xml.plist b/test-files/testNegative-xml.plist new file mode 100644 index 0000000..c9b7f76 --- /dev/null +++ b/test-files/testNegative-xml.plist @@ -0,0 +1,18 @@ + + + + + number + -1234 + number2 + 9223372036854775807 + number3 + -3.12312423423 + number4 + -9223372036854775808 + number5 + 2.352535353543534e+19 + number6 + -999992312312312.2 + +