public void ValidateSetsDefaultVariables() { TestPage page = new TestPage(HttpContext.Current); TestUserControl c1 = new TestUserControl(); page.Controls.Add(c1); ConditionValidator v1 = new ConditionValidator("#page == #this.Page", null); ConditionValidator v2 = new ConditionValidator("#usercontrol == #this", null); Assert.IsTrue(c1.Validate(c1, v1, v2)); }
public void StyleBlockRendersTypeAttribute() { TestPage page = new TestPage(); Head head = new Head(); page.Controls.Add(head); page.Styles.Add("stylename", "stylevalue"); string result = page.Render(string.Empty); string expect = @"<head><style type=""text/css"">stylename { stylevalue }</style></head>"; Assert.AreEqual(expect, result); }
public void StyleFileRendersTypeAttributeAndUsesCssRootPath() { const string STYLESHEETPATH = "filepath"; using (new TestWebContext("/", "testpage.aspx")) { TestPage page = new TestPage(HttpContext.Current); Head head = new Head(); page.Controls.Add(head); page.CssRoot = "testcssroot"; page.StyleFiles.Add("filename", STYLESHEETPATH); string result = page.Render(string.Empty); string expect = string.Format(@"<head><link rel=""stylesheet"" type=""text/css"" href=""/testcssroot/{0}"" /></head>", STYLESHEETPATH); Assert.AreEqual(expect, result); } }
public void DontRenderHeadTagIfNestedWithinStandardHeadControl() { using (new TestWebContext("/", "testpage.aspx")) { TestPage page = new TestPage(HttpContext.Current); HtmlHead htmlHead = new HtmlHead(); Head head = new Head(); head.Controls.Add(new LiteralControl("literal child")); htmlHead.Controls.Add(head); page.Controls.Add(htmlHead); // initialize page to force head control initialization page.InitRecursive(null); string result = page.Render(string.Empty); string expect = @"<head>literal child<title></title></head>"; Assert.AreEqual(expect, result); } }
public void Validate() { Page page = new TestPage(HttpContext.Current); IValidator[] validators = new IValidator[] {new RequiredValidator("Name", null), new ConditionValidator("Loan == 0", "Age > 21")}; Contact contact = new Contact("Goran", 24, 0); bool result = page.Validate(contact, validators); Assert.IsTrue(result); contact = new Contact(null, 24, 0); result = page.Validate(contact, validators); Assert.IsFalse(result); contact = new Contact("Goran", 24, 1); result = page.Validate(contact, validators); Assert.IsFalse(result); }
public void StoresAndLoadsModelUsingModelPersistenceMedium() { TestPage tuc = new TestPage(); tuc.ModelPersistenceMedium = new DictionaryModelPersistenceMedium(); tuc.SaveModelToPersistenceMedium( this ); Assert.AreEqual(this, tuc.LoadModelFromPersistenceMedium()); }
public void NoNullModelPersistenceMediumAllowed() { TestPage tuc = new TestPage(); tuc.ModelPersistenceMedium = null; }
public void SetResultSelectsCorrectResult() { MockRepository mocks = new MockRepository(); TestPage page = new TestPage(); Result theResult = (Result) mocks.CreateMock(typeof (Result)); theResult.Navigate(page); mocks.ReplayAll(); page.Results.Add( "theResult", theResult ); page.SetResult("theResult"); mocks.VerifyAll(); }
public void SetResultThrowsVerboseExceptionOnUnknownResultName() { string RESULTNAME = "nonexistant result"; TestPage page = new TestPage(); try { page.SetResult(RESULTNAME); Assert.Fail(); } catch(ArgumentException ae) { string expected = string.Format("No mapping found for the specified destination '{0}'.", RESULTNAME); string msg = ae.Message.Substring(0, expected.Length); Assert.AreEqual(expected, msg); } }
public void AllowsNeutralUserCulture() { TestPage page = new TestPage(); // DefaultWebCultureResolver does not allow culture to be set page.CultureResolver = new DefaultCultureResolver(); page.UserCulture = new CultureInfo("de"); page.InitializeCulture(); Assert.AreEqual( page.UserCulture, Thread.CurrentThread.CurrentUICulture ); Assert.AreEqual( CultureInfo.CreateSpecificCulture(page.UserCulture.Name), Thread.CurrentThread.CurrentCulture); }
public void DefaultsToDefaultWebCultureResolver() { TestPage page = new TestPage(); Assert.AreEqual( typeof(DefaultWebCultureResolver), page.CultureResolver.GetType() ); }
public void ScriptBlockRendersTypeAttribute() { TestPage page = new TestPage(); Head head = new Head(); page.Controls.Add(head); page.RegisterHeadScriptBlock( "scriptname", "scriptcode" ); string result = page.Render(string.Empty); string expect = @"<head><script type=""text/javascript"">scriptcode</script></head>"; Assert.AreEqual(expect, result); }
public void RenderChildrenFirst() { TestPage page = new TestPage(); Head head = new Head(); page.Controls.Add(head); head.Controls.Add(new LiteralControl("literal child")); page.Styles.Add("stylename", "stylevalue"); string result = page.Render(string.Empty); string expect = @"<head>literal child<style type=""text/css"">stylename { stylevalue }</style></head>"; Assert.AreEqual( expect, result); }
public void ScriptFileRendersTypeAttributeAndUsesScriptsRootPath() { const string SCRIPTFILEPATH = "filepath"; using (new TestWebContext("/", "testpage.aspx")) { TestPage page = new TestPage(HttpContext.Current); Head head = new Head(); page.Controls.Add(head); page.ScriptsRoot = "testscriptroot"; page.RegisterHeadScriptFile("filename", SCRIPTFILEPATH); string result = page.Render(string.Empty); string expect = string.Format(@"<head><script type=""text/javascript"" src=""/testscriptroot/{0}""></script></head>", SCRIPTFILEPATH); Assert.AreEqual(expect, result); } }
public void NoNullModelPersistenceMediumAllowed() { TestPage tuc = new TestPage(); Assert.Throws<ArgumentNullException>(() => tuc.ModelPersistenceMedium = null); }