Example #1
0
        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);
            }
        }
Example #3
0
        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);
        }