diff --git a/apps/tests/ui/web-view/test.html b/apps/tests/ui/web-view/test.html
new file mode 100644
index 000000000..904570309
--- /dev/null
+++ b/apps/tests/ui/web-view/test.html
@@ -0,0 +1,10 @@
+
+
+
+ MyTitle
+
+
+
+ Test
+
+
diff --git a/apps/tests/ui/web-view/web-view-tests.ts b/apps/tests/ui/web-view/web-view-tests.ts
index bb861a7c6..93d3776e3 100644
--- a/apps/tests/ui/web-view/web-view-tests.ts
+++ b/apps/tests/ui/web-view/web-view-tests.ts
@@ -13,9 +13,10 @@ import webViewModule = require("ui/web-view");
// ### Declaring a WebView.
//```XML
//
-//
+//
//
//```
+
//
var _createWebViewFunc = function (): webViewModule.WebView {
@@ -76,6 +77,128 @@ export var testLoadExistingUrl = function () {
}
}
+export var testLoadLocalFile = 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 actualHtml;
+ var actualTitle;
+ var actualError;
+
+ var expectedTitle = 'MyTitle';
+ var expectedHtml = 'Test';
+
+ //
+ // ### Using WebView
+ // ``` JavaScript
+ webView.on(webViewModule.WebView.loadFinishedEvent, function (args: webViewModule.LoadEventData) {
+ //
+ if (webView.ios) {
+ actualHtml = webView.ios.stringByEvaluatingJavaScriptFromString("document.body.innerHTML").trim();
+ } else if (webView.android) {
+ actualTitle = webView.android.getTitle()
+ }
+
+ 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.src = "~/ui/web-view/test.html";
+
+ TKUnit.wait(4);
+
+ helper.goBack();
+
+ if (testFinished) {
+ if (webView.ios) {
+ TKUnit.assert(actualHtml === expectedHtml, "File ~/ui/web-view/test.html not loaded properly. Actual: " + actualHtml);
+ } else if (webView.android) {
+ TKUnit.assert(actualTitle === expectedTitle, "File ~/ui/web-view/test.html not loaded properly. Actual: " + actualTitle);
+ }
+ TKUnit.assert(actualError === undefined, actualError);
+ }
+ else {
+ TKUnit.assert(false, "TIMEOUT");
+ }
+}
+
+export var testLoadHTMLString = 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 actualHtml;
+ var actualTitle;
+ var actualError;
+
+ var expectedTitle = 'MyTitle';
+ var expectedHtml = 'Test';
+
+ //
+ // ### Using WebView
+ // ``` JavaScript
+ webView.on(webViewModule.WebView.loadFinishedEvent, function (args: webViewModule.LoadEventData) {
+ //
+ if (webView.ios) {
+ actualHtml = webView.ios.stringByEvaluatingJavaScriptFromString("document.body.innerHTML").trim();
+ } else if (webView.android) {
+ actualTitle = webView.android.getTitle()
+ }
+
+ 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.src = 'MyTitleTest';
+
+ TKUnit.wait(4);
+
+ helper.goBack();
+
+ if (testFinished) {
+ if (webView.ios) {
+ TKUnit.assert(actualHtml === expectedHtml, "HTML string not loaded properly. Actual: " + actualHtml);
+ } else if (webView.android) {
+ TKUnit.assert(actualTitle === expectedTitle, "HTML string not loaded properly. Actual: " + actualTitle);
+ }
+ TKUnit.assert(actualError === undefined, actualError);
+ }
+ else {
+ TKUnit.assert(false, "TIMEOUT");
+ }
+}
+
export var testLoadInvalidUrl = function () {
var newPage: page.Page;
var webView = _createWebViewFunc();
diff --git a/apps/tests/xml-declaration/mainPage.xml b/apps/tests/xml-declaration/mainPage.xml
index a6ea20df9..d801544c8 100644
--- a/apps/tests/xml-declaration/mainPage.xml
+++ b/apps/tests/xml-declaration/mainPage.xml
@@ -7,6 +7,8 @@
+
+