public void Render_JavascriptAssetType_RendersOnlyCorrectAssetType()
        {
            // given mixed assets, a render of AssetType.Javascript only returns Javascript assets
            var cssAsset = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };

            _assetManager.Add(cssAsset, null);
            var jsAsset = new JavascriptAsset(_context, _settings)
            {
                Path = "test-path2"
            };

            _assetManager.Add(jsAsset, null);
            _assetManager.Render(AssetType.Javascript, null);
            Assert.That(_buildHtmlCalls.Count, Is.EqualTo(1));
            var call = _buildHtmlCalls.First();

            Assert.That(call.Assets.Count(), Is.EqualTo(1));
            var asset = call.Assets.First();

            Assert.IsInstanceOf <JavascriptAsset>(asset);
            Assert.That(asset.Path, Is.EqualTo("test-path2"));
        }
        public void Add_DuplicateCssAssetWithDifferentAltPaths_SameGroup_OnlyAddsOneAsset()
        {
            var newAsset1 = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };

            newAsset1.AlternatePaths.Add("test-alt-name", "alt-path");
            var newAsset2 = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };

            _assetManager.Add(newAsset1, "test-group");
            _assetManager.Add(newAsset2, "test-group");
            _assetManager.Render(AssetType.Css, "test-group");
            Assert.That(_buildHtmlCalls.Count, Is.EqualTo(1));
            var call = _buildHtmlCalls.First();

            Assert.That(call.Assets.Count(), Is.EqualTo(1));
            var asset = call.Assets.First();

            Assert.IsInstanceOf <CssAsset>(asset);
            Assert.That(asset.Path, Is.EqualTo("test-path"));
        }
Ejemplo n.º 3
0
        public void CssAsset_GetKey_GetsCorrectExternalFlag()
        {
            var asset = new CssAsset(_context, _notExternalAltSettings)
            {
                Path = "valid-path"
            };

            asset.AlternatePaths.Add("notExternal", "/relative-path.css");
            asset.AlternatePaths.Add("external", "http://www.fullpath.com/file.css");

            var notExternalKey = asset.Key;

            Assert.That(notExternalKey, Is.Not.Null);
            Assert.That(notExternalKey.IsExternal, Is.False);

            asset = new CssAsset(_context, _externalAltSettings)
            {
                Path = "valid-path"
            };
            asset.AlternatePaths.Add("notExternal", "/relative-path.css");
            asset.AlternatePaths.Add("external", "http://www.fullpath.com/file.css");

            var externalKey = asset.Key;

            Assert.That(externalKey, Is.Not.Null);
            Assert.That(externalKey.IsExternal, Is.True);
        }
        public void Render_NonExistingAssetGroup_RendersNothing()
        {
            // given assets in a group, calling a different group renders nothing
            var newAsset1 = new CssAsset(_context, _settings)
            {
                Path = "test-path1"
            };
            var newAsset2 = new CssAsset(_context, _settings)
            {
                Path = "test-path2"
            };
            var newAsset3 = new CssAsset(_context, _settings)
            {
                Path = "test-path3"
            };
            var newAsset4 = new CssAsset(_context, _settings)
            {
                Path = "test-path4"
            };

            _assetManager.Add(newAsset1, null);
            _assetManager.Add(newAsset2, null);
            _assetManager.Add(newAsset3, null);
            _assetManager.Add(newAsset4, null);
            _assetManager.Render(AssetType.Css, "test-group");
            Assert.That(_buildHtmlCalls.Count, Is.EqualTo(0));
        }
Ejemplo n.º 5
0
        public void EqualsOperator_Nulls_AreNotEqual()
        {
            var asset = new CssAsset(_context, _settings);

            Assert.IsFalse(null == asset);
            Assert.IsFalse(asset == null);
        }
Ejemplo n.º 6
0
        public void NotEqualsOperator_Nulls_AreNotEqual()
        {
            var asset = new CssAsset(_context, _settings);

            Assert.IsTrue(null != asset);
            Assert.IsTrue(asset != null);
        }
        public void Add_DuplicateCssAsset_DifferentGroups_AddsTwoAssets()
        {
            var newAsset1 = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };
            var newAsset2 = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };

            _assetManager.Add(newAsset1, "test-group1");
            _assetManager.Add(newAsset2, "test-group2");
            _assetManager.Render(AssetType.Css, "test-group1");
            Assert.That(_buildHtmlCalls.Count, Is.EqualTo(1));
            var call = _buildHtmlCalls.First();

            Assert.That(call.Assets.Count(), Is.EqualTo(1));
            var asset = call.Assets.First();

            Assert.IsInstanceOf <CssAsset>(asset);
            Assert.That(asset.Path, Is.EqualTo("test-path"));
            _buildHtmlCalls.Clear();
            _assetManager.Render(AssetType.Css, "test-group2");
            Assert.That(_buildHtmlCalls.Count, Is.EqualTo(1));
            call = _buildHtmlCalls.First();
            Assert.That(call.Assets.Count(), Is.EqualTo(1));
            asset = call.Assets.First();
            Assert.IsInstanceOf <CssAsset>(asset);
            Assert.That(asset.Path, Is.EqualTo("test-path"));
        }
Ejemplo n.º 8
0
        public void CssAsset_GetKey_ReturnsCssAssetKey()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "valid-path"
            };

            Assert.That(asset.Key as CssAssetKey, Is.Not.Null);
        }
Ejemplo n.º 9
0
        public void CssAsset_GetKey_ThrowsNoErrors()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "valid-path"
            };

            Assert.That(asset.Key, Is.Not.Null);
        }
Ejemplo n.º 10
0
        public void CssAsset_GetKey_NonExistantAlternateName_ThrowsNoErrors()
        {
            var asset = new CssAsset(_context, _notExternalAltSettings)
            {
                Path = "valid-path"
            };
            var key = asset.Key;

            Assert.That(key, Is.Not.Null);
        }
Ejemplo n.º 11
0
        public void CurrentFilePath_ExternalPath_ReturnsUnmodifiedPath()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "http://original-path"
            };

            Assert.That(asset.CurrentPath, Is.EqualTo("http://original-path"));
            Assert.That(asset.CurrentFilePath, Is.EqualTo(null));
        }
Ejemplo n.º 12
0
        public void CurrentFilePath_RelativePath_CallsMapPath()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "original-path"
            };

            Assert.That(asset.CurrentPath, Is.EqualTo("original-path"));
            Assert.That(asset.CurrentFilePath.StartsWith(@"c:\full\path\"));
        }
Ejemplo n.º 13
0
        public void CurrentPathIsExternal_RelativePath_ReturnsFalse()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "original-path"
            };

            Assert.That(asset.CurrentPath, Is.EqualTo("original-path"));
            Assert.That(asset.CurrentPathIsExternal, Is.False);
        }
Ejemplo n.º 14
0
        public void CurrentPathIsExternal_ExternalPath_ReturnsTrue()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "http://original-path"
            };

            Assert.That(asset.CurrentPath, Is.EqualTo("http://original-path"));
            Assert.That(asset.CurrentPathIsExternal, Is.True);
        }
Ejemplo n.º 15
0
        public void CurrentPath_WithoutAlternatePath_ReturnsCorrectPath()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "original-path"
            };

            Assert.That(asset.CurrentAlternateName, Is.EqualTo("test-alt-name"));
            Assert.That(asset.CurrentPath, Is.EqualTo("original-path"));
        }
Ejemplo n.º 16
0
        public void RelativePath_IsProcessed() {
            var reader = GetReader("body { background: url(a/url.png); }");
            var asset = new CssAsset(_context, _settings) { Path = "", Reader = reader };

            var processer = new CssRelativePathProcessor(_urlManager.Object);

            processer.Process(new[] { asset });

            _urlManager.Verify(manager => manager.GetAbsoluteUrl(It.IsAny<string>(), It.IsAny<string>()), Times.Once());
            Assert.That(asset.Reader.Content, Contains.Substring(_fakeAbsoluteUrlPrefix));
        }
Ejemplo n.º 17
0
        public void CssAsset_GetKey_GetsCorrectEquality()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "valid-path",
                ConditionalEquality = IE.Equality.GreaterThan
            };
            var key = asset.Key;

            Assert.That(key, Is.Not.Null);
            Assert.That(key.Equality, Is.EqualTo(IE.Equality.GreaterThan));
        }
Ejemplo n.º 18
0
        public void CssAsset_GetKey_GetsCorrectMediaType()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path  = "valid-path",
                Media = "test-media"
            };
            var key = (CssAssetKey)asset.Key;

            Assert.That(key, Is.Not.Null);
            Assert.That(key.Media, Is.EqualTo("test-media"));
        }
Ejemplo n.º 19
0
        public void IgnoredProcessing_DoesNotProcess() {
            var reader = GetReader("body { background: url(a/url.png); }");
            var asset = new CssAsset(_context, _settings) { Path = "", IgnoreProcessing = true, Reader = reader };

            var processer = new CssRelativePathProcessor(_urlManager.Object);

            var results = processer.Process(new[] { asset });

            _urlManager.Verify(manager => manager.GetAbsoluteUrl(It.IsAny<string>(), It.IsAny<string>()), Times.Never());
            Assert.That(ReferenceEquals(results.Single().Reader, reader));
            Assert.That(asset.Reader.Content, Is.Not.ContainsSubstring(_fakeAbsoluteUrlPrefix));
        }
Ejemplo n.º 20
0
        public void CssAsset_GetKey_GetsCorrectBrowser()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "valid-path",
                ConditionalBrowser = IE.Version.IE7
            };
            var key = asset.Key;

            Assert.That(key, Is.Not.Null);
            Assert.That(key.Browser, Is.EqualTo(IE.Version.IE7));
        }
Ejemplo n.º 21
0
        public void ProcessedWithMixedQuotes_KeepFirstQuoteStyle() {
            var reader = GetReader("body { background: url('a/url.png\"); }");
            var asset = new CssAsset(_context, _settings) { Path = "", Reader = reader };

            var processer = new CssRelativePathProcessor(_urlManager.Object);

            processer.Process(new[] { asset });

            _urlManager.Verify(manager => manager.GetAbsoluteUrl(It.IsAny<string>(), It.IsAny<string>()), Times.Once());
            Assert.That(asset.Reader.Content, Contains.Substring("url('"));
            Assert.That(asset.Reader.Content, Contains.Substring("')"));
        }
Ejemplo n.º 22
0
        public void Equals_AssetWithDifferentBrowser_IsNotEqual()
        {
            var asset = new CssAsset(_context, _settings)
            {
                ConditionalBrowser = IE.Version.IE5
            };
            var equalAsset = new CssAsset(_context, _settings)
            {
                ConditionalBrowser = IE.Version.IE6
            };

            Assert.IsFalse(asset.Equals(equalAsset));
        }
Ejemplo n.º 23
0
        public void Equals_AssetWithSameBrowser_IsEqual()
        {
            var asset = new CssAsset(_context, _settings)
            {
                ConditionalBrowser = IE.Version.IE5
            };
            var equalAsset = new CssAsset(_context, _settings)
            {
                ConditionalBrowser = IE.Version.IE5
            };

            Assert.IsTrue(asset.Equals(equalAsset));
        }
Ejemplo n.º 24
0
        public void Equals_AssetWithDifferentEquality_IsNotEqual()
        {
            var asset = new CssAsset(_context, _settings)
            {
                ConditionalEquality = IE.Equality.LessThan
            };
            var equalAsset = new CssAsset(_context, _settings)
            {
                ConditionalEquality = IE.Equality.GreaterThan
            };

            Assert.IsFalse(asset.Equals(equalAsset));
        }
Ejemplo n.º 25
0
        public void Equals_AssetWithSameEquality_IsEqual()
        {
            var asset = new CssAsset(_context, _settings)
            {
                ConditionalEquality = IE.Equality.GreaterThan
            };
            var equalAsset = new CssAsset(_context, _settings)
            {
                ConditionalEquality = IE.Equality.GreaterThan
            };

            Assert.IsTrue(asset.Equals(equalAsset));
        }
Ejemplo n.º 26
0
        public void Equals_AssetWithSamePath_IsEqual()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };
            var equalAsset = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };

            Assert.IsTrue(asset.Equals(equalAsset));
        }
Ejemplo n.º 27
0
        public void Equals_AssetWithDifferentMedia_IsNotEqual()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Media = "test-media"
            };
            var equalAsset = new CssAsset(_context, _settings)
            {
                Media = "test-media2"
            };

            Assert.IsFalse(asset.Equals(equalAsset));
        }
Ejemplo n.º 28
0
        public void Equals_AssetWithSameMedia_IsEqual()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Media = "test-media"
            };
            var equalAsset = new CssAsset(_context, _settings)
            {
                Media = "test-media"
            };

            Assert.IsTrue(asset.Equals(equalAsset));
        }
Ejemplo n.º 29
0
        public void Equals_AssetWithDifferentPath_IsNotEqual()
        {
            var asset = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };
            var equalAsset = new CssAsset(_context, _settings)
            {
                Path = "test-path2"
            };

            Assert.IsFalse(asset.Equals(equalAsset));
        }
        public void Remove_NonExistingCssAsset_WithGroup_DoesNotRemoveAsset()
        {
            // given a css asset that's NOT in the manager under an asset group,
            // the remove() call does nothing
            var newAsset = new CssAsset(_context, _settings)
            {
                Path = "test-path"
            };

            _assetManager.Remove(newAsset, "test-group");
            _assetManager.Render(AssetType.Css, "test-group");
            Assert.That(_buildHtmlCalls.Count, Is.EqualTo(0));
        }