Dactyloidae/testing/marionette/harness/marionette_harness/tests/unit/test_log.py

64 lines
2.2 KiB
Python

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_harness import MarionetteTestCase
class TestLog(MarionetteTestCase):
def setUp(self):
MarionetteTestCase.setUp(self)
# clears log cache
self.marionette.get_logs()
def test_log(self):
self.marionette.log("foo")
logs = self.marionette.get_logs()
self.assertEqual("INFO", logs[0][0])
self.assertEqual("foo", logs[0][1])
def test_log_level(self):
self.marionette.log("foo", "ERROR")
logs = self.marionette.get_logs()
self.assertEqual("ERROR", logs[0][0])
self.assertEqual("foo", logs[0][1])
def test_clear(self):
self.marionette.log("foo")
self.assertEqual(1, len(self.marionette.get_logs()))
self.assertEqual(0, len(self.marionette.get_logs()))
def test_multiple_entries(self):
self.marionette.log("foo")
self.marionette.log("bar")
self.assertEqual(2, len(self.marionette.get_logs()))
def test_log_from_sync_script(self):
self.marionette.execute_script("log('foo')")
logs = self.marionette.get_logs()
self.assertEqual("INFO", logs[0][0])
self.assertEqual("foo", logs[0][1])
def test_log_from_sync_script_level(self):
self.marionette.execute_script("log('foo', 'ERROR')")
logs = self.marionette.get_logs()
self.assertEqual("ERROR", logs[0][0])
self.assertEqual("foo", logs[0][1])
def test_log_from_async_script(self):
self.marionette.execute_async_script("log('foo'); arguments[0]();")
logs = self.marionette.get_logs()
self.assertEqual("INFO", logs[0][0])
self.assertEqual("foo", logs[0][1])
def test_log_from_async_script_variable_arguments(self):
self.marionette.execute_async_script("log('foo', 'ERROR'); arguments[0]();")
logs = self.marionette.get_logs()
self.assertEqual("ERROR", logs[0][0])
self.assertEqual("foo", logs[0][1])
class TestLogChrome(TestLog):
def setUp(self):
TestLog.setUp(self)
self.marionette.set_context("chrome")