public void WillReturnEmptyGuidIfKeyIsNotGuid()
            {
                var testable = new TestableUriBuilder();
                var sig      = Guid.NewGuid().RemoveDashes();

                var result = testable.ClassUnderTest.ParseKey(string.Format("http://host/path/{0}-{1}-file.css", "not a guid", sig));

                Assert.Equal(Guid.Empty, result);
            }
示例#2
0
            public void WillParseSignature()
            {
                var testable = new TestableUriBuilder();
                var key      = Guid.NewGuid().RemoveDashes();
                var sig      = Guid.NewGuid().RemoveDashes();

                var result = testable.ClassUnderTest.ParseSignature(string.Format("http://host/path/{0}-{1}-file.css", key, sig));

                Assert.Equal(sig, result);
            }
示例#3
0
            public void WillCreateCorrectJavaScriptUrlFromString()
            {
                var testable = new TestableUriBuilder();

                testable.Mock <IRRConfiguration>().Setup(x => x.ContentHost).Returns("http://host");
                testable.Mock <IRRConfiguration>().Setup(x => x.SpriteVirtualPath).Returns("/vpath");
                var guid    = Guid.NewGuid();
                var content = "abc";

                var result = testable.ClassUnderTest.BuildResourceUrl <JavaScriptResource>(guid, content);

                Assert.Equal(string.Format("http://host/vpath/{0}-{1}-{2}", guid.RemoveDashes(), content, new JavaScriptResource().FileName), result);
            }
示例#4
0
            public void WillCreateJavascriptUrlWithEmtrySignatureGuidWhenContentIsEmpty()
            {
                var testable = new TestableUriBuilder();

                testable.Mock <IRRConfiguration>().Setup(x => x.ContentHost).Returns("http://host");
                testable.Mock <IRRConfiguration>().Setup(x => x.SpriteVirtualPath).Returns("/vpath");
                var guid    = Guid.NewGuid();
                var content = new byte[0];

                var result = testable.ClassUnderTest.BuildResourceUrl <JavaScriptResource>(guid, content);

                Assert.Equal(string.Format("http://host/vpath/{0}-{1}-{2}", guid.RemoveDashes(), Guid.Empty.RemoveDashes(), new JavaScriptResource().FileName), result);
            }
示例#5
0
            public void WillCreateCorrectUrl()
            {
                var testable = new TestableUriBuilder();

                testable.Mock <IRRConfiguration>().Setup(x => x.ContentHost).Returns("http://host");
                testable.Mock <IRRConfiguration>().Setup(x => x.SpriteVirtualPath).Returns("/vpath");
                var guid    = Guid.NewGuid();
                var content = new byte[] { 1 };

                var result = testable.ClassUnderTest.BuildSpriteUrl(guid, content);

                Assert.Equal(result, string.Format("http://host/vpath/{0}-{1}.png", guid.RemoveDashes(), Hasher.Hash(content).RemoveDashes()));
            }
示例#6
0
            public void WillThrowArgumentExceptionIfResourceTypeIsUnknown()
            {
                var testable = new TestableUriBuilder();

                testable.Mock <IRRConfiguration>().Setup(x => x.ContentHost).Returns("http://host");
                testable.Mock <IRRConfiguration>().Setup(x => x.SpriteVirtualPath).Returns("/vpath");
                var guid    = Guid.NewGuid();
                var content = "abc";

                var result = Record.Exception(() => testable.ClassUnderTest.BuildResourceUrl(guid, content, typeof(Object))) as ArgumentException;

                Assert.NotNull(result);
            }
            public void WillCreateCorrectCssUrl()
            {
                var testable = new TestableUriBuilder();

                testable.Mock <IRRConfiguration>().Setup(x => x.ContentHost).Returns("http://host");
                testable.Mock <IRRConfiguration>().Setup(x => x.ResourceAbsolutePath).Returns("/vpath");
                var guid    = Guid.NewGuid();
                var content = new byte[] { 1 };

                var result = testable.ClassUnderTest.BuildResourceUrl <CssResource>(guid, content);

                Assert.Equal(string.Format("http://host/vpath/{0}-{1}-{2}", guid.RemoveDashes(), Hasher.Hash(content).RemoveDashes(), new CssResource().FileName), result);
            }
示例#8
0
            public void WillTransformUrlIfTransformerExists()
            {
                var testable = new TestableUriBuilder();

                Registry.UrlTransformer = (c, x, y) =>
                {
                    var newUrlHost = new Uri(y).Host;
                    return(y.Replace(newUrlHost, "funny." + newUrlHost));
                };
                testable.Mock <IRRConfiguration>().Setup(x => x.ContentHost).Returns("http://host");
                testable.Mock <IRRConfiguration>().Setup(x => x.SpriteVirtualPath).Returns("/vpath");
                var guid    = Guid.NewGuid();
                var content = new byte[] { 1 };

                var result = testable.ClassUnderTest.BuildSpriteUrl(guid, content);

                Assert.Equal(result, string.Format("http://funny.host/vpath/{0}-{1}.png", guid.RemoveDashes(), Hasher.Hash(content).RemoveDashes()));
                Registry.UrlTransformer = null;
            }
示例#9
0
            public void WillTransformUrlIfTransformerExists()
            {
                var testable = new TestableUriBuilder();

                Registry.UrlTransformer = (c, x, y) =>
                {
                    var newUrlHost = new Uri(y).Host;
                    return(y.Replace(newUrlHost, "funny." + newUrlHost));
                };
                testable.Mock <IRRConfiguration>().Setup(x => x.ContentHost).Returns("http://host");
                testable.Mock <IRRConfiguration>().Setup(x => x.SpriteVirtualPath).Returns("/vpath");
                var guid    = Guid.NewGuid();
                var content = "abc";

                var result = testable.ClassUnderTest.BuildResourceUrl <CssResource>(guid, content);

                Assert.Equal(string.Format("http://funny.host/vpath/{0}-{1}-{2}", guid.RemoveDashes(), content, new CssResource().FileName), result);
                Registry.UrlTransformer = null;
            }