[Events] Added manual unit tests.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Tue, 1 Dec 2015 14:45:21 +0000 (15:45 +0100)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Tue, 1 Dec 2015 14:45:21 +0000 (15:45 +0100)
[Verification] Manual test for supported events pass.

Change-Id: Ibc79411607f177f63cd2a06e7f56a978f847b6d0
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
test/index.html
test/unittest/all.html
test/unittest/tests/events.tests.js [new file with mode: 0644]

index 2f2b670..5c0cbe7 100644 (file)
@@ -58,6 +58,7 @@
     <!-- a href="unittest/all.html?t=datauri" class="btn large" style="width:100%;">Data URI Tests</a -->
     <a href="unittest/all.html?t=device" class="btn large" style="width:100%;">Device Tests</a>
     <a href="unittest/all.html?t=notification" class="btn large" style="width:100%;">Dialogs Tests</a>
+    <a href="unittest/all.html?t=events" class="btn large" style="width:100%;">Events Tests</a>
     <a href="unittest/all.html?t=file" class="btn large" style="width:100%;">File Tests</a>
     <a href="unittest/all.html?t=filetransfer" class="btn large" style="width:100%;">FileTransfer Tests</a>
     <a href="unittest/all.html?t=geolocation" class="btn large" style="width:100%;">Geolocation Tests</a>
index bb32834..5ca390f 100644 (file)
@@ -97,6 +97,7 @@
         contacts: 'contacts',
         // datauri: 'datauri', // test code was not updated
         device: 'device',
+        events: 'events',
         file: 'file',
         filetransfer: 'filetransfer',
         geolocation: 'geolocation',
diff --git a/test/unittest/tests/events.tests.js b/test/unittest/tests/events.tests.js
new file mode 100644 (file)
index 0000000..4f6968d
--- /dev/null
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ *    Licensed 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 () {
+};
+
+exports.defineManualTests = function (content, createActionButton) {
+  var logMessage = function (message) {
+    var log = document.getElementById('info');
+    var logLine = document.createElement('div');
+    logLine.innerHTML = message;
+    log.appendChild(logLine);
+    console.log(message);
+  };
+
+  var clearLog = function () {
+    var log = document.getElementById('info');
+    log.innerHTML = '';
+  };
+
+  var callback;
+  var current_event;
+
+  var prepareTest = function (e) {
+    clearLog();
+    if (current_event) {
+      document.removeEventListener(current_event, callback);
+    }
+    current_event = e;
+    var i = 0;
+    callback = function () {
+      logMessage('Event \"' + e + '\" has been fired ' + (++i) + ' time(s).');
+    };
+    document.addEventListener(current_event, callback);
+  }
+
+  var events_tests = '<p/> <div id="deviceready"></div>' +
+      'Expected result: \"deviceready\" event should be fired exactly once.' +
+      '<p/> <div id="pause"></div>' +
+      'Expected result: \"pause\" event should be fired each time application is hidden (i.e. device is locked when application is running).' +
+      '<p/> <div id="resume"></div>' +
+      'Expected result: \"resume\" event should be fired each time application is shown (i.e. device is unlocked when application is running in foreground).' +
+      '<p/> <div id="backbutton"></div>' +
+      'Expected result: \"backbutton\" event should be fired each time \"Back\" key is pressed.' +
+      '<p/> <div id="menubutton"></div>' +
+      'Expected result: \"menubutton\" event should be fired each time \"Menu\" key is pressed.' +
+      '<p/> <div id="searchbutton"></div>' +
+      'Expected result: \"searchbutton\" event should be fired each time \"Search\" key is pressed.' +
+      '<p/> <div id="startcallbutton"></div>' +
+      'Expected result: \"startcallbutton\" event should be fired each time \"Start call\" key is pressed.' +
+      '<p/> <div id="endcallbutton"></div>' +
+      'Expected result: \"endcallbutton\" event should be fired each time \"End call\" key is pressed.' +
+      '<p/> <div id="volumedownbutton"></div>' +
+      'Expected result: \"volumedownbutton\" event should be fired each time \"Volume down\" key is pressed.' +
+      '<p/> <div id="volumeupbutton"></div>' +
+      'Expected result: \"volumeupbutton\" event should be fired each time \"Volume up\" key is pressed.';
+
+  content.innerHTML = '<div id="info"></div>' + events_tests;
+
+  createActionButton('Event: deviceready', function () {
+    prepareTest('deviceready');
+  }, 'deviceready');
+
+  createActionButton('Event: pause', function () {
+    prepareTest('pause');
+  }, 'pause');
+
+  createActionButton('Event: resume', function () {
+    prepareTest('resume');
+  }, 'resume');
+
+  createActionButton('Event: backbutton', function () {
+    prepareTest('backbutton');
+  }, 'backbutton');
+
+  createActionButton('Event: menubutton', function () {
+    prepareTest('menubutton');
+  }, 'menubutton');
+
+  createActionButton('Event: searchbutton', function () {
+    prepareTest('searchbutton');
+  }, 'searchbutton');
+
+  createActionButton('Event: startcallbutton', function () {
+    prepareTest('startcallbutton');
+  }, 'startcallbutton');
+
+  createActionButton('Event: endcallbutton', function () {
+    prepareTest('endcallbutton');
+  }, 'endcallbutton');
+
+  createActionButton('Event: volumedownbutton', function () {
+    prepareTest('volumedownbutton');
+  }, 'volumedownbutton');
+
+  createActionButton('Event: volumeupbutton', function () {
+    prepareTest('volumeupbutton');
+  }, 'volumeupbutton');
+};