import TKUnit = require("../../TKUnit"); import helper = require("../helper"); import page = require("ui/page"); // // # WebView // Using a WebView requires the web-view module. // ``` JavaScript import webViewModule = require("ui/web-view"); // ``` // // ### Declaring a WebView. //```XML // // // //``` //  var _createWebViewFunc = function (): webViewModule.WebView { // // ### Creating a WebView // ``` JavaScript var webView = new webViewModule.WebView(); // ``` // return webView; } export var testLoadExistingUrl = function () { var newPage: page.Page; var webView = _createWebViewFunc(); var pageFactory = function (): page.Page { newPage = new page.Page(); newPage.content = webView; return newPage; }; helper.navigate(pageFactory); var testFinished = false; var actualUrl; var actualError; // // ### Using WebView // ``` JavaScript webView.on(webViewModule.WebView.loadFinishedEvent, function (args: webViewModule.LoadEventData) { // actualUrl = args.url; actualError = args.error; testFinished = true; // var message; if (!args.error) { message = "WebView finished loading " + args.url; } else { message = "Error loading " + args.url + ": " + args.error; } //console.log(message); }); webView.url = "https://httpbin.org/html"; TKUnit.wait(4); helper.goBack(); if (testFinished) { TKUnit.assert(actualUrl === "https://httpbin.org/html", "args.url should equal https://httpbin.org/html"); TKUnit.assert(actualError === undefined, actualError); } else { TKUnit.assert(false, "TIMEOUT"); } } export var testLoadInvalidUrl = function () { var newPage: page.Page; var webView = _createWebViewFunc(); var pageFactory = function (): page.Page { newPage = new page.Page(); newPage.content = webView; return newPage; }; helper.navigate(pageFactory); var testFinished = false; var actualError; webView.on(webViewModule.WebView.loadFinishedEvent, function (args: webViewModule.LoadEventData) { if (actualError) { // Android call this twice -- the second time args.error is undefined. return; } actualError = args.error; testFinished = true; }); webView.url = "kofti://mnogokofti"; TKUnit.wait(4); helper.goBack(); if (testFinished) { TKUnit.assert(actualError !== undefined, "There should be an error."); } else { TKUnit.assert(false, "TIMEOUT"); } }