Exemplo n.º 1
0
        public void GenerateBundleName_ExecutableProject()
        {
            // Initially the AssemblyName is set and there is no app bundle dir
            Assert.AreEqual("MySingleView", MonoTouchProjectInstance.GetPropertyValue("AssemblyName"), "#1");
            Assert.IsTrue(string.IsNullOrEmpty(MonoTouchProjectInstance.GetPropertyValue("AppBundleDir")), "#2");

            // Now we should have an AppBundleDir
            RunTargetOnInstance(MonoTouchProjectInstance, TargetName.GenerateBundleName);
            Assert.AreEqual(@"bin\iPhoneSimulator\Debug\MySingleView.app", MonoTouchProjectInstance.GetPropertyValue("AppBundleDir"), "#3");
        }
Exemplo n.º 2
0
        public void DetectAppManifest_ExecutableProject_TwoPLists()
        {
            MonoTouchProjectInstance.RemoveItems("None");

            MonoTouchProjectInstance.AddItem("None", "Fake/Info.plist");
            MonoTouchProjectInstance.AddItem("None", "Info.plist");

            RunTarget(MonoTouchProject, TargetName.DetectAppManifest);
            Assert.AreEqual("Info.plist", MonoTouchProjectInstance.GetPropertyValue("AppBundleManifest"), "#1");
        }
Exemplo n.º 3
0
        public void DetectAppManifest_ExecutableProject_TwoPLists()
        {
            RemoveItemsByName(MonoTouchProject, "None");
            MonoTouchProjectInstance = MonoTouchProject.CreateProjectInstance();

            MonoTouchProjectInstance.AddItem("None", "Fake/Info.plist");
            MonoTouchProjectInstance.AddItem("None", "Info.plist");

            RunTargetOnInstance(MonoTouchProjectInstance, TargetName.DetectAppManifest);
            Assert.AreEqual("Info.plist", MonoTouchProjectInstance.GetPropertyValue("_AppManifest"), "#1");
        }
Exemplo n.º 4
0
        public void DetectAppManifest_ExecutableProject_LogicalNamePList()
        {
            string logicalPlist = CreateTempFile("Logical.plist");

            MonoTouchProjectInstance.RemoveItems("None");

            MonoTouchProjectInstance.AddItem("None", logicalPlist, new Dictionary <string, string> {
                { "LogicalName", "Info.plist" }
            });

            RunTarget(MonoTouchProject, TargetName.DetectAppManifest);
            Assert.AreEqual(logicalPlist, MonoTouchProjectInstance.GetPropertyValue("_AppManifest"), "#1");
        }
Exemplo n.º 5
0
        public void GenerateBundleName_ExecutableProject()
        {
            // Run a target that doesn't exist (since it's not possible to evaluate the csproj without running a target)
            RunTarget(MonoTouchProject, "None", expectedErrorCount: 1);

            // Initially the AssemblyName is set and there is no app bundle dir
            Assert.AreEqual("MySingleView", MonoTouchProjectInstance.GetPropertyValue("AssemblyName"), "#1");
            Assert.IsTrue(string.IsNullOrEmpty(MonoTouchProjectInstance.GetPropertyValue("AppBundleDir")), "#2");

            // Now we should have an AppBundleDir
            RunTarget(MonoTouchProject, TargetName.GenerateBundleName);
            Assert.AreEqual(@"bin/iPhoneSimulator/Debug/MySingleView.app", MonoTouchProjectInstance.GetPropertyValue("AppBundleDir"), "#3");
        }
Exemplo n.º 6
0
        public void GetReferencedAssemblies_Executable()
        {
            RunTargetOnInstance(MonoTouchProjectInstance, TargetName.ResolveReferences);
            var references = MonoTouchProjectInstance.GetItems("ReferencePath").ToArray();

            Assert.AreEqual(6, references.Length, "#1");
            Assert.IsTrue(references.Any(t => t.EvaluatedInclude.Contains("MyLibrary")), "#2");
            Assert.IsTrue(references.Any(t => t.EvaluatedInclude.Contains("System")), "#3a");
            Assert.IsTrue(references.Any(t => t.EvaluatedInclude.Contains("System.Xml")), "#3b");
            Assert.IsTrue(references.Any(t => t.EvaluatedInclude.Contains("System.Core")), "#3c");
            Assert.IsTrue(references.Any(t => t.EvaluatedInclude.Contains("mscorlib")), "#3d");
            Assert.IsTrue(references.Any(t => t.EvaluatedInclude.Contains("Xamarin.iOS")), "#3e");
        }
Exemplo n.º 7
0
        public void DetectAppManifest_ExecutableProject_LogicalNamePList()
        {
            string logicalPlist = CreateTempFile(Path.Combine(TempDir, "Logical.plist"));

            RemoveItemsByName(MonoTouchProject, "None");
            MonoTouchProjectInstance = MonoTouchProject.CreateProjectInstance();

            var item = MonoTouchProjectInstance.AddItem("None", logicalPlist);

            item.SetMetadata("LogicalName", "Info.plist");

            RunTargetOnInstance(MonoTouchProjectInstance, TargetName.DetectAppManifest);
            Assert.AreEqual(logicalPlist, MonoTouchProjectInstance.GetPropertyValue("_AppManifest"), "#1");
        }
Exemplo n.º 8
0
        public void Disappearing_Content()
        {
            string resource     = Path.Combine(MonoTouchProjectPath, "Folder", "Content.txt");
            string resourceGone = resource + ".disabled";

            try {
                File.Move(resource, resourceGone);
                RunTarget_WithErrors(MonoTouchProjectInstance, "_CollectBundleResources");
                var bundleItems = MonoTouchProjectInstance.GetItems("_BundleResourceWithLogicalName").ToArray();
                Assert.IsNotNull(bundleItems, "#1");
                Assert.IsTrue(bundleItems.Length >= 17, "#2");
                Assert.IsFalse(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine("Folder", "Content.txt")), "#3");
            } finally {
                File.Move(resourceGone, resource);
            }
        }
Exemplo n.º 9
0
        public void BundleResources()
        {
            var actool = Path.Combine("obj", "iPhoneSimulator", "Debug", "actool", "bundle");
            var ibtool = Path.Combine("obj", "iPhoneSimulator", "Debug", "ibtool");
            var path   = Path.Combine(MonoTouchProjectPath, "Info.plist");
            var plist  = PDictionary.FromFile(path);

            plist.SetMinimumOSVersion("7.0");
            plist.Save(path, true);

            RunTargetOnInstance(MonoTouchProjectInstance, TargetName.CollectBundleResources);

            var bundleItems = MonoTouchProjectInstance.GetItems("_BundleResourceWithLogicalName").ToArray();

            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine("Folder", "BundleResource.txt") && i.GetMetadataValue("LogicalName") == "Folder/BundleResource.txt"), "#1");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine("Folder", "Content.txt") && i.GetMetadataValue("LogicalName") == "Folder/Content.txt"), "#2");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == "LinkedBundleResource.txt" && i.GetMetadataValue("LogicalName") == "Folder/LinkedBundleResource.txt"), "#3");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == "LinkedContent.txt" && i.GetMetadataValue("LogicalName") == "Folder/LinkedContent.txt"), "#4");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "AppIcons29x29.png") && i.GetMetadataValue("LogicalName") == "AppIcons29x29.png"), "#5");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "*****@*****.**") && i.GetMetadataValue("LogicalName") == "*****@*****.**"), "#6");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "*****@*****.**") && i.GetMetadataValue("LogicalName") == "*****@*****.**"), "#7");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "AppIcons57x57.png") && i.GetMetadataValue("LogicalName") == "AppIcons57x57.png"), "#8");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "*****@*****.**") && i.GetMetadataValue("LogicalName") == "*****@*****.**"), "#9");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "*****@*****.**") && i.GetMetadataValue("LogicalName") == "*****@*****.**"), "#10");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "*****@*****.**") && i.GetMetadataValue("LogicalName") == "*****@*****.**"), "#11");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "LaunchImage.png") && i.GetMetadataValue("LogicalName") == "LaunchImage.png"), "#12");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(actool, "*****@*****.**") && i.GetMetadataValue("LogicalName") == "*****@*****.**"), "#13");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "MainStoryboard.storyboardc", "1-view-2.nib", "objects-13.0+.nib") && i.GetMetadataValue("LogicalName") == "MainStoryboard.storyboardc/1-view-2.nib/objects-13.0+.nib"), "#14.1");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "MainStoryboard.storyboardc", "1-view-2.nib", "runtime.nib") && i.GetMetadataValue("LogicalName") == "MainStoryboard.storyboardc/1-view-2.nib/runtime.nib"), "#14.2");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "MainStoryboard.storyboardc", "Info.plist") && i.GetMetadataValue("LogicalName") == "MainStoryboard.storyboardc/Info.plist"), "#15");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "MainStoryboard.storyboardc", "UIViewController-1.nib", "objects-13.0+.nib") && i.GetMetadataValue("LogicalName") == "MainStoryboard.storyboardc/UIViewController-1.nib/objects-13.0+.nib"), "#16.1");
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "MainStoryboard.storyboardc", "UIViewController-1.nib", "runtime.nib") && i.GetMetadataValue("LogicalName") == "MainStoryboard.storyboardc/UIViewController-1.nib/runtime.nib"), "#16.2");
            if (bundleItems.Length > ExpectedExecutableBundleResources.Length)
            {
                Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "en.lproj", "TranslatedView.nib", "runtime.nib") && i.GetMetadataValue("LogicalName") == "en.lproj/TranslatedView.nib/runtime.nib"), "#17");
                Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "FolderView.nib", "runtime.nib") && i.GetMetadataValue("LogicalName") == "FolderView.nib/runtime.nib"), "#18");
                Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "iPhoneView.nib", "runtime.nib") && i.GetMetadataValue("LogicalName") == "iPhoneView.nib/runtime.nib"), "#19");
            }
            else
            {
                Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "en.lproj", "TranslatedView.nib") && i.GetMetadataValue("LogicalName") == "en.lproj/TranslatedView.nib"), "#17");
                Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "FolderView.nib") && i.GetMetadataValue("LogicalName") == "FolderView.nib"), "#18");
                Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine(ibtool, "iPhoneView.nib") && i.GetMetadataValue("LogicalName") == "iPhoneView.nib"), "#19");
            }
            Assert.IsTrue(bundleItems.Any(i => i.EvaluatedInclude == Path.Combine("Resources", "image.png") && i.GetMetadataValue("LogicalName") == "image.png"), "#20");
        }
Exemplo n.º 10
0
        public void GetReferencedAssemblies_Executable()
        {
            RunTargetOnInstance(MonoTouchProjectInstance, TargetName.ResolveReferences);
            var references          = MonoTouchProjectInstance.GetItems("ReferencePath").ToArray();
            var expected_references = new string[] {
                "MyLibrary.dll",
                "System.dll",
                "System.Xml.dll",
                "System.Core.dll",
                "mscorlib.dll",
                "Xamarin.iOS.dll",
                "System.Drawing.Common.dll",
            };

            Array.Sort(expected_references);

            var actual_references = references.Select((v) => Path.GetFileName(v.EvaluatedInclude)).OrderBy((v) => v);

            CollectionAssert.AreEquivalent(expected_references, actual_references, "References");
        }
Exemplo n.º 11
0
 public void DetectAppManifest_ExecutableProject()
 {
     RunTargetOnInstance(MonoTouchProjectInstance, TargetName.DetectAppManifest);
     Assert.IsFalse(string.IsNullOrEmpty(MonoTouchProjectInstance.GetPropertyValue("_AppManifest")), "#1");
 }
Exemplo n.º 12
0
 public void OptimizePngs_False()
 {
     MonoTouchProjectInstance.SetProperty("OptimizePNGs", "False");
     OptimizePngs_Core(false);
 }
Exemplo n.º 13
0
 public void OptimizePngs_True()
 {
     MonoTouchProjectInstance.SetProperty("OptimizePNGs", "True");
     OptimizePngs_Core(true);
 }
Exemplo n.º 14
0
 public void DetectAppManifest_ExecutableProject()
 {
     RunTarget(MonoTouchProject, TargetName.DetectAppManifest);
     Assert.That(MonoTouchProjectInstance.GetPropertyValue("_AppManifest"), Is.Not.Null.And.Not.Empty, "#1");
 }