import TKUnit = require("./TKUnit"); import pageModule = require("ui/page"); import frame = require("ui/frame"); export var test_backstackVisible = function() { var pageFactory = function (): pageModule.Page { return new pageModule.Page(); }; var mainTestPage = frame.topmost().currentPage; frame.topmost().navigate({ create: pageFactory }); TKUnit.waitUntilReady(() => { return frame.topmost().currentPage !== mainTestPage; }); // page1 should not be added to the backstack var page0 = frame.topmost().currentPage; frame.topmost().navigate({ create: pageFactory, backstackVisible: false }); TKUnit.waitUntilReady(() => { return frame.topmost().currentPage !== page0; }); var page1 = frame.topmost().currentPage; frame.topmost().navigate({ create: pageFactory }); TKUnit.waitUntilReady(() => { return frame.topmost().currentPage !== page1; }); var page2 = frame.topmost().currentPage; frame.topmost().goBack(); TKUnit.waitUntilReady(() => { return frame.topmost().currentPage !== page2; }); // From page2 we have to go directly to page0, skipping page1. TKUnit.assert(frame.topmost().currentPage === page0, "Page 1 should be skipped when going back."); frame.topmost().goBack(); TKUnit.waitUntilReady(() => { return frame.topmost().currentPage === mainTestPage; }); } // Clearing the history messes up the tests app. //export var test_ClearHistory = function () { // var pageFactory = function (): pageModule.Page { // return new pageModule.Page(); // }; // var mainTestPage = frame.topmost().currentPage; // var currentPage: pageModule.Page; // currentPage = frame.topmost().currentPage; // frame.topmost().navigate({ create: pageFactory }); // TKUnit.waitUntilReady(() => { return frame.topmost().currentPage !== currentPage; }); // currentPage = frame.topmost().currentPage; // frame.topmost().navigate({ create: pageFactory }); // TKUnit.waitUntilReady(() => { return frame.topmost().currentPage !== currentPage; }); // currentPage = frame.topmost().currentPage; // frame.topmost().navigate({ create: pageFactory }); // TKUnit.waitUntilReady(() => { return frame.topmost().currentPage !== currentPage; }); // TKUnit.assert(frame.topmost().canGoBack(), "Frame should be able to go back."); // TKUnit.assert(frame.topmost().backStack.length === 3, "Back stack should have 3 entries."); // // Navigate with clear history. // currentPage = frame.topmost().currentPage; // frame.topmost().navigate({ create: pageFactory, clearHistory: true }); // TKUnit.waitUntilReady(() => { return frame.topmost().currentPage !== currentPage; }); // TKUnit.assert(!frame.topmost().canGoBack(), "Frame should NOT be able to go back."); // TKUnit.assert(frame.topmost().backStack.length === 0, "Back stack should have 0 entries."); //}