| // Licensed to the Software Freedom Conservancy (SFC) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The SFC licenses this file |
| // to you 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. |
| |
| goog.require('goog.debug.LogRecord'); |
| goog.require('goog.debug.Logger'); |
| goog.require('goog.testing.jsunit'); |
| goog.require('webdriver.logging'); |
| |
| function convert(level, msg, name, time) { |
| var recordIn = new webdriver.logging.LogRecord(level, msg, name, time); |
| return webdriver.logging.Entry.fromClosureLogRecord(recordIn); |
| } |
| |
| function checkRecord(record, level, msg, time) { |
| assertEquals('wrong level', level.value, record.level.value); |
| assertEquals('wrong message', msg, record.message); |
| assertEquals('wrong time', time, record.timestamp); |
| } |
| |
| function testPreferencesToJSON() { |
| var prefs = new webdriver.logging.Preferences(); |
| assertObjectEquals({}, prefs.toJSON()); |
| |
| prefs.setLevel('foo', webdriver.logging.Level.DEBUG); |
| assertObjectEquals({'foo': 'DEBUG'}, prefs.toJSON()); |
| |
| prefs.setLevel('bar', webdriver.logging.Level.OFF); |
| prefs.setLevel('baz', webdriver.logging.Level.WARNING); |
| assertObjectEquals( |
| {'foo': 'DEBUG', 'bar': 'OFF', 'baz': 'WARNING'}, |
| prefs.toJSON()); |
| |
| // CONFIG should always map to DEBUG. |
| prefs.setLevel('quux', webdriver.logging.Level.CONFIG); |
| assertObjectEquals( |
| {'foo': 'DEBUG', 'bar': 'OFF', 'baz': 'WARNING', 'quux': 'DEBUG'}, |
| prefs.toJSON()); |
| |
| prefs.setLevel('quot', webdriver.logging.Level.ALL); |
| assertObjectEquals( |
| {'foo': 'DEBUG', 'bar': 'OFF', 'baz': 'WARNING', 'quux': 'DEBUG', |
| 'quot': 'ALL'}, |
| prefs.toJSON()); |
| } |
| |
| function testConvertingLogRecords() { |
| checkRecord( |
| convert(goog.debug.Logger.Level.SHOUT, 'foo bar', 'the.name', 1234), |
| webdriver.logging.Level.SEVERE, '[the.name] foo bar', 1234); |
| checkRecord( |
| convert(goog.debug.Logger.Level.SEVERE, 'foo bar', 'the.name', 1234), |
| webdriver.logging.Level.SEVERE, '[the.name] foo bar', 1234); |
| checkRecord( |
| convert(goog.debug.Logger.Level.WARNING, 'foo bar', 'the.name', 1234), |
| webdriver.logging.Level.WARNING, '[the.name] foo bar', 1234); |
| checkRecord( |
| convert(goog.debug.Logger.Level.INFO, 'foo bar', 'the.name', 1234), |
| webdriver.logging.Level.INFO, '[the.name] foo bar', 1234); |
| checkRecord( |
| convert(goog.debug.Logger.Level.CONFIG, 'foo bar', 'the.name', 1234), |
| webdriver.logging.Level.DEBUG, '[the.name] foo bar', 1234); |
| checkRecord( |
| convert(goog.debug.Logger.Level.FINE, 'foo bar', 'the.name', 1234), |
| webdriver.logging.Level.DEBUG, '[the.name] foo bar', 1234); |
| checkRecord( |
| convert(goog.debug.Logger.Level.FINER, 'foo bar', 'the.name', 1234), |
| webdriver.logging.Level.DEBUG, '[the.name] foo bar', 1234); |
| checkRecord( |
| convert(goog.debug.Logger.Level.FINEST, 'foo bar', 'the.name', 1234), |
| webdriver.logging.Level.DEBUG, '[the.name] foo bar', 1234); |
| } |