summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js')
-rw-r--r--StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js101
1 files changed, 101 insertions, 0 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js b/StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js
new file mode 100644
index 00000000..23be97ac
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-network-information/tests/tests.js
@@ -0,0 +1,101 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+exports.defineAutoTests = function () {
+ describe('Network (navigator.connection)', function () {
+ it("network.spec.1 should exist", function () {
+ expect(navigator.network && navigator.network.connection).toBeDefined();
+ expect(navigator.connection).toBeDefined();
+ });
+
+ it("network.spec.2 should be set to a valid value", function () {
+ var validValues = {
+ 'unknown': 1,
+ 'ethernet': 1,
+ 'wifi': 1,
+ '2g': 1,
+ 'cellular': 1,
+ '3g': 1,
+ '4g': 1,
+ 'none': 1
+ };
+ expect(validValues[navigator.connection.type]).toBe(1);
+ });
+
+ it("network.spec.3 should have the same value in deprecated and non-deprecated apis", function () {
+ expect(navigator.network.connection.type).toBe(navigator.connection.type);
+ });
+
+ it("network.spec.4 should define constants for connection status", function () {
+ expect(Connection.UNKNOWN).toBe("unknown");
+ expect(Connection.ETHERNET).toBe("ethernet");
+ expect(Connection.WIFI).toBe("wifi");
+ expect(Connection.CELL_2G).toBe("2g");
+ expect(Connection.CELL_3G).toBe("3g");
+ expect(Connection.CELL_4G).toBe("4g");
+ expect(Connection.NONE).toBe("none");
+ expect(Connection.CELL).toBe("cellular");
+ });
+ });
+};
+
+/******************************************************************************/
+/******************************************************************************/
+/******************************************************************************/
+
+exports.defineManualTests = function (contentEl, createActionButton) {
+ function eventOutput(s) {
+ var el = document.getElementById("results");
+ el.innerHTML = el.innerHTML + s + "<br>";
+ }
+
+ function printNetwork() {
+ eventOutput("navigator.connection.type=" + navigator.connection.type);
+ eventOutput("navigator.network.connection.type=" + navigator.network.connection.type);
+ }
+
+ function onEvent(e) {
+ eventOutput('Event of type: ' + e.type);
+ printNetwork();
+ }
+
+ /******************************************************************************/
+
+ var html = '<div id="info">' +
+ '<b>Results:</b><br>' +
+ '<span id="results"></span>' +
+ '</div><div id="connection"></div>' +
+ 'Expected result: Status box will update with type of connection using two different methods. Both values must match.' +
+ ' The result will be unknown, ethernet, wifi, 2g, 3g, 4g, none, or cellular. Make sure it matches what the device is connected to.' +
+ '</p> <div id="actions"></div>';
+
+ document.addEventListener("online", onEvent, false);
+ document.addEventListener("offline", onEvent, false);
+ contentEl.innerHTML = html;
+
+ createActionButton('Show Network Connection', function () {
+ printNetwork();
+ }, 'connection');
+
+ createActionButton('Clear Log', function () {
+ document.getElementById('results').innerHTML = '';
+ }, 'actions');
+};