michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: MARIONETTE_TIMEOUT = 10000; michael@0: michael@0: let Services = SpecialPowers.Services; michael@0: michael@0: function testScreenState(on, expected, msg) { michael@0: // send event to RadioInterface michael@0: Services.obs.notifyObservers(null, 'screen-state-changed', on); michael@0: // maybe rild/qemu needs some time to process the event michael@0: window.setTimeout(function() { michael@0: runEmulatorCmd('gsm report creg', function(result) { michael@0: is(result.pop(), 'OK', '\'gsm report creg\' successful'); michael@0: ok(result.indexOf(expected) !== -1, msg); michael@0: runNextTest(); michael@0: })}, 1000); michael@0: } michael@0: michael@0: function testScreenStateDisabled() { michael@0: testScreenState('off', '+CREG: 1', 'screen is disabled'); michael@0: } michael@0: michael@0: function testScreenStateEnabled() { michael@0: testScreenState('on', '+CREG: 2', 'screen is enabled'); michael@0: } michael@0: michael@0: let tests = [ michael@0: testScreenStateDisabled, michael@0: testScreenStateEnabled michael@0: ]; michael@0: michael@0: function runNextTest() { michael@0: let test = tests.shift(); michael@0: if (!test) { michael@0: cleanUp(); michael@0: return; michael@0: } michael@0: michael@0: test(); michael@0: } michael@0: michael@0: function cleanUp() { michael@0: finish(); michael@0: } michael@0: michael@0: runNextTest();