Пример #1
0
        public void TestDeleteNestedProperty()
        {
            var plist   = new PDictionary();
            var primary = new PDictionary();
            var icons   = new PDictionary();
            var files   = new PArray();

            plist.Add("CFBundleIdentifier", "com.microsoft.delete-nested-property");
            plist.Add("CFBundleIcons", icons);
            icons.Add("CFBundlePrimaryIcon", primary);
            primary.Add("CFBundleIconFiles", files);
            files.Add("icon0");
            files.Add("icon1");

            var expected = (PDictionary)plist.Clone();

            files.Add("icon2");

            TestExecuteTask(plist, PropertyListEditorAction.Delete, ":CFBundleIcons:CFBundlePrimaryIcon:CFBundleIconFiles:2", null, null, expected);

            var plist2 = (PDictionary)expected.Clone();

            files.Remove();

            var expected2 = (PDictionary)plist.Clone();

            TestExecuteTask(plist2, PropertyListEditorAction.Delete, ":CFBundleIcons:CFBundlePrimaryIcon:CFBundleIconFiles", null, null, expected2);
        }