public void PageStackDefault() { PageStack stack = new PageStack(); stack.RegisterDefaultRoute("home", () => new Page()); Assert.IsNull(stack.CurrentPage); stack.Navigate(""); Assert.IsNotNull(stack.CurrentPage); }
public void PageStackBasic() { PageStack stack = new PageStack(); bool observableWorked = false; PropertyChangedEventHandler firstChecker = (sender, e) => { if(e.PropertyName != nameof(PageStack.CurrentPage)) { return; } Assert.IsNotNull(stack.CurrentPage); Assert.AreEqual(0, stack.CurrentPage.RouteVariables.Count); observableWorked = true; }; stack.PropertyChanged += firstChecker; stack.RegisterRoute("Home", () => new Page()); stack.Navigate("Home"); Assert.IsTrue(observableWorked); stack.PropertyChanged -= firstChecker; try { stack.Navigate("BadRoute"); Assert.Fail("An exception should have been thrown"); } catch (KeyNotFoundException) { } stack.RegisterRoute("Applications/{ApplicationId}/Components/{ComponentId}", () => new Page()); stack.Navigate("Applications/foo/Components/bar"); Assert.IsTrue(stack.CurrentPage.RouteVariables.Count == 2); Assert.AreEqual("foo", stack.CurrentPage.RouteVariables["ApplicationId"]); Assert.AreEqual("bar", stack.CurrentPage.RouteVariables["ComponentId"]); }
public ConsolePageApp(IEnumerable <string> markupFiles) { InitCommon(); MarkupParser.Parse(this, markupFiles); PageStack.Navigate(""); }