public void TestMergeArrays() { var plist = new PDictionary(); var array0 = new PArray(); array0.Add("item0"); array0.Add("item1"); array0.Add("item2"); array0.Add("item3"); plist.Add("CFBundleIdentifier", "com.microsoft.merge-arrays"); plist.Add("CFArrayItems", array0); var array1 = new PArray(); array1.Add("item2"); array1.Add("item3"); var expected = (PDictionary)plist.Clone(); array0.RemoveAt(3); array0.RemoveAt(2); var tmp = Path.Combine(Cache.CreateTemporaryDirectory(), "tmpfile"); array1.Save(tmp); TestExecuteTask(plist, PropertyListEditorAction.Merge, ":CFArrayItems", null, tmp, expected); }
public void TestMergeArrays() { var plist = new PDictionary(); var array0 = new PArray(); array0.Add("item0"); array0.Add("item1"); array0.Add("item2"); array0.Add("item3"); plist.Add("CFBundleIdentifier", "com.microsoft.merge-arrays"); plist.Add("CFArrayItems", array0); var array1 = new PArray(); array1.Add("item2"); array1.Add("item3"); var expected = (PDictionary)plist.Clone(); array0.RemoveAt(3); array0.RemoveAt(2); var tmp = Path.GetTempFileName(); array1.Save(tmp); try { TestExecuteTask(plist, PropertyListEditorAction.Merge, ":CFArrayItems", null, tmp, expected); } finally { File.Delete(tmp); } }
public void TestAddArrayValue() { var plist = new PDictionary(); var primary = new PDictionary(); var icons = new PDictionary(); var files = new PArray(); plist.Add("CFBundleIdentifier", "com.microsoft.add-array-value"); plist.Add("CFBundleIcons", icons); icons.Add("CFBundlePrimaryIcon", primary); primary.Add("CFBundleIconFiles", files); files.Add("icon0"); files.Add("icon1"); files.Add("icon2"); var expected = (PDictionary)plist.Clone(); files.RemoveAt(0); TestExecuteTask(plist, PropertyListEditorAction.Add, ":CFBundleIcons:CFBundlePrimaryIcon:CFBundleIconFiles:0", "string", "icon0", expected); }