示例#1
0
        public void CollectsMultipleSearchDirectories()
        {
            var config = GetConfiguration();

            config.Platform             = Platform.iOS;
            config.Configuration.Images = new ImageResize
            {
                Directories = new List <string> {
                    "Images", "Sample"
                },
                ConditionalDirectories = null
            };

            var task = new CollectImageAssetsTask
            {
                ConfigurationPath = Directory.GetCurrentDirectory()
            };

            IEnumerable <string> paths = null;
            var ex = Record.Exception(() => paths = task.GetSearchPaths(config));

            Assert.Null(ex);
            Assert.Equal(2, paths.Count());
            var expectedPaths = new[] { Path.Combine(task.ConfigurationPath, "Images"), Path.Combine(task.ConfigurationPath, "Sample") };

            foreach (var expected in expectedPaths)
            {
                Assert.Contains(expected, paths);
            }
        }
示例#2
0
        public void CollectsSingleSearchDirectory()
        {
            var config = GetConfiguration();

            config.Platform             = Platform.iOS;
            config.Configuration.Images = new ImageResize
            {
                Directories = new List <string> {
                    "Images"
                },
                ConditionalDirectories = null
            };

            var task = new CollectImageAssetsTask
            {
                ConfigurationPath = Directory.GetCurrentDirectory()
            };

            IEnumerable <string> paths = null;
            var ex = Record.Exception(() => paths = task.GetSearchPaths(config));

            Assert.Null(ex);
            Assert.Single(paths);
            Assert.Equal(Path.Combine(task.ConfigurationPath, "Images"), paths.First());
        }
示例#3
0
        public void ReturnsDistinctPaths()
        {
            var config = GetConfiguration();

            config.BuildConfiguration   = "Debug";
            config.Configuration.Images = new ImageResize
            {
                Directories = new List <string> {
                    "Images"
                },
                ConditionalDirectories = new Dictionary <string, IEnumerable <string> >
                {
                    { "Debug", new[] { "Images" } },
                }
            };

            var task = new CollectImageAssetsTask
            {
                ConfigurationPath = Directory.GetCurrentDirectory()
            };

            IEnumerable <string> paths = null;
            var ex = Record.Exception(() => paths = task.GetSearchPaths(config));

            Assert.Null(ex);
            Assert.Single(paths);
            Assert.Equal(Path.Combine(task.ConfigurationPath, "Images"), paths.First());
        }
示例#4
0
        public void CollectsNegatedBuildConfigurationConditionalDirectory()
        {
            var config = GetConfiguration();

            config.BuildConfiguration   = "Release";
            config.Configuration.Images = new ImageResize
            {
                Directories = new List <string> {
                    "Images"
                },
                ConditionalDirectories = new Dictionary <string, IEnumerable <string> >
                {
                    { "!Debug", new[] { "NotDebug" } },
                    { "Store", new[] { "StoreSpecific" } }
                }
            };

            var task = new CollectImageAssetsTask
            {
                ConfigurationPath = Directory.GetCurrentDirectory()
            };

            IEnumerable <string> paths = null;
            var ex = Record.Exception(() => paths = task.GetSearchPaths(config));

            Assert.Null(ex);
            Assert.Equal(2, paths.Count());

            var expectedPaths = new[] { Path.Combine(task.ConfigurationPath, "Images"), Path.Combine(task.ConfigurationPath, "NotDebug") };

            foreach (var expected in expectedPaths)
            {
                Assert.Contains(expected, paths);
            }
        }
示例#5
0
        public void PicksupPlatformSpecificDirectory(Platform platform, string key)
        {
            var config = GetConfiguration();

            config.Platform             = platform;
            config.Configuration.Images = new ImageResize
            {
                Directories = new List <string> {
                    "Images"
                },
                ConditionalDirectories = new Dictionary <string, IEnumerable <string> >
                {
                    { key, new[] { "PlatformSpecific" } },
                    { "Foo", new[] { "ShouldNotBeIncluded" } }
                }
            };

            var task = new CollectImageAssetsTask
            {
                ConfigurationPath = Directory.GetCurrentDirectory()
            };

            IEnumerable <string> paths = null;
            var ex = Record.Exception(() => paths = task.GetSearchPaths(config));

            Assert.Null(ex);
            Assert.Equal(2, paths.Count());
            Assert.DoesNotContain(Path.Combine(task.ConfigurationPath, "ShouldNotBeIncluded"), paths);
            var expectedPaths = new[] { Path.Combine(task.ConfigurationPath, "Images"), Path.Combine(task.ConfigurationPath, "PlatformSpecific") };

            foreach (var expected in expectedPaths)
            {
                Assert.Contains(expected, paths);
            }
        }
示例#6
0
        public void NullImageConfigurationReturnsEmptyPaths()
        {
            var config = GetConfiguration();

            config.Platform             = Platform.iOS;
            config.Configuration.Images = null;
            var task = new CollectImageAssetsTask();
            IEnumerable <string> paths = null;
            var ex = Record.Exception(() => paths = task.GetSearchPaths(config));

            Assert.Null(ex);
            Assert.Empty(paths);
        }