public void Make_Composite_Url() { var websiteInfo = new Mock <IWebsiteInfo>(); websiteInfo.Setup(x => x.GetBasePath()).Returns(string.Empty); websiteInfo.Setup(x => x.GetBaseUrl()).Returns(new Uri("http://test.com")); var urlHelper = new RequestHelper(websiteInfo.Object); var hasher = new Mock <IHasher>(); hasher.Setup(x => x.Hash(It.IsAny <string>())).Returns((string s) => s.ToLower()); var options = new SmidgeOptions { UrlOptions = new UrlManagerOptions { CompositeFilePath = "sg", MaxUrlLength = 100 } }; var creator = new DefaultUrlManager( Mock.Of <IOptions <SmidgeOptions> >(x => x.Value == options), hasher.Object, urlHelper); var url = creator.GetUrls( new List <IWebFile> { new JavaScriptFile("Test1.js"), new JavaScriptFile("Test2.js") }, ".js", Mock.Of <ICacheBuster>(buster => buster.GetValue() == "1")); Assert.Single(url); Assert.Equal("/sg/Test1.Test2.js.v1", url.First().Url); Assert.Equal("test1.test2", url.First().Key); }
public void Throws_When_Single_Dependency_Too_Long() { var websiteInfo = new Mock <IWebsiteInfo>(); websiteInfo.Setup(x => x.GetBasePath()).Returns(string.Empty); websiteInfo.Setup(x => x.GetBaseUrl()).Returns(new Uri("http://test.com")); var urlHelper = new RequestHelper(websiteInfo.Object); var hasher = new Mock <IHasher>(); hasher.Setup(x => x.Hash(It.IsAny <string>())).Returns((string s) => s.ToLower()); var options = new SmidgeOptions { UrlOptions = new UrlManagerOptions { CompositeFilePath = "sg", MaxUrlLength = 10 } }; var creator = new DefaultUrlManager( Mock.Of <IOptions <SmidgeOptions> >(x => x.Value == options), hasher.Object, urlHelper); Assert.Throws <InvalidOperationException>(() => creator.GetUrls( new List <IWebFile> { new JavaScriptFile("Test1.js") }, ".js", Mock.Of <ICacheBuster>(buster => buster.GetValue() == "1"))); }
public void Make_Bundle_Url() { var websiteInfo = new Mock <IWebsiteInfo>(); websiteInfo.Setup(x => x.GetBasePath()).Returns(string.Empty); websiteInfo.Setup(x => x.GetBaseUrl()).Returns(new Uri("http://test.com")); var urlHelper = new RequestHelper(websiteInfo.Object); var hasher = new Mock <IHasher>(); hasher.Setup(x => x.Hash(It.IsAny <string>())).Returns("blah"); var options = new SmidgeOptions { UrlOptions = new UrlManagerOptions { BundleFilePath = "sg" } }; var creator = new DefaultUrlManager( Mock.Of <IOptions <SmidgeOptions> >(x => x.Value == options), hasher.Object, urlHelper); var url = creator.GetUrl("my-bundle", ".js", false, Mock.Of <ICacheBuster>(buster => buster.GetValue() == "1")); Assert.Equal("/sg/my-bundle.js.v1", url); }
public void Make_Composite_Url_Splits() { var hasher = new Mock <IHasher>(); hasher.Setup(x => x.Hash(It.IsAny <string>())).Returns((string s) => s.ToLower()); var options = new SmidgeOptions { UrlOptions = new UrlManagerOptions { CompositeFilePath = "sg", MaxUrlLength = 14 + 10 } }; var creator = new DefaultUrlManager( Mock.Of <IOptions <SmidgeOptions> >(x => x.Value == options), Mock.Of <ISmidgeConfig>(x => x.Version == "1"), hasher.Object); var url = creator.GetUrls(new List <IWebFile> { new JavaScriptFile("Test1.js"), new JavaScriptFile("Test2.js") }, ".js"); Assert.Equal(2, url.Count()); Assert.Equal("sg/Test1.js.v1", url.ElementAt(0).Url); Assert.Equal("test1", url.ElementAt(0).Key); Assert.Equal("sg/Test2.js.v1", url.ElementAt(1).Url); Assert.Equal("test2", url.ElementAt(1).Key); }
//public UrlManager Urlmanager { get; set; } //private int beginPageIndex; //private int endPageIndex; //private bool showPrevious;//是否显示 上一页 //private bool showNext; //下一页 protected void Page_Load(object sender, EventArgs e) { System.Text.StringBuilder script = new System.Text.StringBuilder(); UrlManager p = new DefaultUrlManager(RecordCount , PageSize , Helper.queryParam_pagination); if (p.PageCount > 0) { script.AppendLine("<script type=\"text/javascript\">"); script.AppendLine("if (!window.jQuery) {\r"); script.AppendLine("alert('缺少 jQuery库文件');"); script.AppendLine("} else {"); script.AppendLine("$(function(){"); script.AppendLine(@"String.format = function (src) {if (arguments.length == 0) return null;var args = Array.prototype.slice.call(arguments, 1);return src.replace(/\{(\d+)\}/g, function (m, i) {return args[i];});}"); script.AppendLine("$(\"div.pagination\").pagination({"); script.AppendFormat("total:{0},pageSize:{1}," , RecordCount , PageSize); script.Append("showPageList:false,"); script.AppendFormat("pageNumber:{0}," , p.PageIndex); script.AppendFormat("displayMsg:\"{0}\"," , p.DisplayMsg()); script.Append("onSelectPage:function(pageNumber, pageSize){"); script.AppendFormat("document.location.href=String.format('{0}',pageNumber);" , p.GetPageUrl()); script.AppendLine("}"); script.AppendLine("});"); script.AppendLine("});}"); script.AppendLine("</script>"); Type t = Page.GetType(); if (!Page.ClientScript.IsStartupScriptRegistered(t , "pagination")) { Page.ClientScript.RegisterStartupScript(t , "pagination" , script.ToString()); } } else { ltHtml.Text = "<div class=\"pagination-info\">"+p.DisplayMsg()+"</div><div style=\"clear:both;\"></div>"; } }
public void Parse_Path() { var path = "c61531b5.2512be3b.bb1214f7.a21bd1fd.js.v1"; var options = new SmidgeOptions { UrlOptions = new UrlManagerOptions { CompositeFilePath = "sg" } }; var manager = new DefaultUrlManager( Mock.Of <IOptions <SmidgeOptions> >(x => x.Value == options), Mock.Of <IHasher>(), Mock.Of <IRequestHelper>()); var result = manager.ParsePath(path); Assert.Equal("1", result.Version); Assert.Equal(4, result.Names.Count()); Assert.Equal(WebFileType.Js, result.WebType); }
public void Make_Bundle_Url() { var hasher = new Mock <IHasher>(); hasher.Setup(x => x.Hash(It.IsAny <string>())).Returns("blah"); var options = new SmidgeOptions { UrlOptions = new UrlManagerOptions { BundleFilePath = "sg" } }; var creator = new DefaultUrlManager( Mock.Of <IOptions <SmidgeOptions> >(x => x.Value == options), Mock.Of <ISmidgeConfig>(x => x.Version == "1"), hasher.Object); var url = creator.GetUrl("my-bundle", ".js"); Assert.Equal("sg/my-bundle.js.v1", url); }
public void Throws_When_Single_Dependency_Too_Long() { var hasher = new Mock <IHasher>(); hasher.Setup(x => x.Hash(It.IsAny <string>())).Returns((string s) => s.ToLower()); var options = new SmidgeOptions { UrlOptions = new UrlManagerOptions { CompositeFilePath = "sg", MaxUrlLength = 10 } }; var creator = new DefaultUrlManager( Mock.Of <IOptions <SmidgeOptions> >(x => x.Value == options), Mock.Of <ISmidgeConfig>(x => x.Version == "1"), hasher.Object); Assert.Throws <InvalidOperationException>(() => creator.GetUrls(new List <IWebFile> { new JavaScriptFile("Test1.js") }, ".js")); }