summaryrefslogtreecommitdiffstats
path: root/dom/system/gonk/tests/marionette/test_screen_state.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/system/gonk/tests/marionette/test_screen_state.js')
-rw-r--r--dom/system/gonk/tests/marionette/test_screen_state.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/dom/system/gonk/tests/marionette/test_screen_state.js b/dom/system/gonk/tests/marionette/test_screen_state.js
new file mode 100644
index 000000000..2281412d5
--- /dev/null
+++ b/dom/system/gonk/tests/marionette/test_screen_state.js
@@ -0,0 +1,47 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+MARIONETTE_TIMEOUT = 10000;
+
+var Services = SpecialPowers.Services;
+
+function testScreenState(on, expected, msg) {
+ // send event to RadioInterface
+ Services.obs.notifyObservers(null, 'screen-state-changed', on);
+ // maybe rild/qemu needs some time to process the event
+ window.setTimeout(function() {
+ runEmulatorCmd('gsm report creg', function(result) {
+ is(result.pop(), 'OK', '\'gsm report creg\' successful');
+ ok(result.indexOf(expected) !== -1, msg);
+ runNextTest();
+ })}, 1000);
+}
+
+function testScreenStateDisabled() {
+ testScreenState('off', '+CREG: 1', 'screen is disabled');
+}
+
+function testScreenStateEnabled() {
+ testScreenState('on', '+CREG: 2', 'screen is enabled');
+}
+
+var tests = [
+ testScreenStateDisabled,
+ testScreenStateEnabled
+];
+
+function runNextTest() {
+ let test = tests.shift();
+ if (!test) {
+ cleanUp();
+ return;
+ }
+
+ test();
+}
+
+function cleanUp() {
+ finish();
+}
+
+runNextTest();