1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 config.IS_CHROME_TEST = true;
7 config.IS_JS_ONLY_GUEST = true;
8 config.TEST_DIR = 'console_messages';
10 var consoleTests = {};
12 var run = function() {
13 var container = document.createElement('div');
14 container.id = 'webview-tag-container';
15 document.body.appendChild(container);
17 chrome.test.getConfig(function(chromeConfig) {
18 window.console.log('getConfig: ' + chromeConfig);
19 utils.setUp(chromeConfig, config);
20 embedder.loadGuest(function() {
21 chrome.test.runTests([
22 consoleTests.testLogInfo,
23 consoleTests.testLogWarn,
24 consoleTests.testLogError,
25 consoleTests.testLogDebug,
26 consoleTests.testThrow
28 }, function(data) { return /* handled */ false; });
32 consoleTests.testLogHelper_ = function(
33 id, expectedLogLevel, expectedLogMessage) {
35 var logCallback = function(e) {
36 embedder.webview.removeEventListener('consolemessage', logCallback);
37 chrome.test.assertEq(expectedLogLevel, e.level);
38 chrome.test.assertEq(expectedLogMessage, e.message);
39 chrome.test.succeed();
41 embedder.webview.addEventListener('consolemessage', logCallback);
42 embedder.webview.contentWindow.postMessage(JSON.stringify([id]), '*');
46 consoleTests.testLogInfo = function testLogInfo() {
47 consoleTests.testLogHelper_('test-1', 0, 'log-one');
50 consoleTests.testLogWarn = function testLogWarn() {
51 consoleTests.testLogHelper_('test-2', 1, 'log-two');
54 consoleTests.testLogError = function testLogError() {
55 consoleTests.testLogHelper_('test-3', 2, 'log-three');
58 consoleTests.testLogDebug = function testLogDebug() {
59 consoleTests.testLogHelper_('test-4', -1, 'log-four');
62 consoleTests.testThrow = function testThrow() {
63 consoleTests.testLogHelper_('test-throw', 2, 'Uncaught Error: log-five');