| // Copyright 2011 The Closure Library Authors. All Rights Reserved. |
| // |
| // Licensed 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.provide('goog.debug.logRecordSerializerTest'); |
| goog.setTestOnly('goog.debug.logRecordSerializerTest'); |
| |
| goog.require('goog.debug.LogRecord'); |
| goog.require('goog.debug.Logger'); |
| goog.require('goog.debug.logRecordSerializer'); |
| goog.require('goog.testing.jsunit'); |
| |
| var NOW = 1311484654000; |
| var SEQ = 1231; |
| |
| function testBasic() { |
| var rec = new goog.debug.LogRecord(goog.debug.Logger.Level.FINE, |
| 'An awesome message', 'logger.name', NOW, SEQ); |
| var thawed = goog.debug.logRecordSerializer.parse( |
| goog.debug.logRecordSerializer.serialize(rec)); |
| |
| assertEquals(goog.debug.Logger.Level.FINE, thawed.getLevel()); |
| assertEquals('An awesome message', thawed.getMessage()); |
| assertEquals('logger.name', thawed.getLoggerName()); |
| assertEquals(NOW, thawed.getMillis()); |
| assertEquals(SEQ, thawed.getSequenceNumber()); |
| assertNull(thawed.getException()); |
| } |
| |
| function testUnsafeParse() { |
| var rec = new goog.debug.LogRecord(goog.debug.Logger.Level.FINE, |
| 'An awesome message', 'logger.name', NOW, SEQ); |
| var thawed = goog.debug.logRecordSerializer.parse( |
| goog.debug.logRecordSerializer.serialize(rec)); |
| |
| assertEquals(goog.debug.Logger.Level.FINE, thawed.getLevel()); |
| assertEquals('An awesome message', thawed.getMessage()); |
| assertEquals('logger.name', thawed.getLoggerName()); |
| assertEquals(NOW, thawed.getMillis()); |
| assertEquals(SEQ, thawed.getSequenceNumber()); |
| assertNull(thawed.getException()); |
| } |
| |
| function testWithException() { |
| var err = new Error('it broke!'); |
| var rec = new goog.debug.LogRecord(goog.debug.Logger.Level.FINE, |
| 'An awesome message', 'logger.name', NOW, SEQ); |
| rec.setException(err); |
| var thawed = goog.debug.logRecordSerializer.unsafeParse( |
| goog.debug.logRecordSerializer.serialize(rec)); |
| assertEquals(err.message, thawed.getException().message); |
| } |
| |
| function testCustomLogLevel() { |
| var rec = new goog.debug.LogRecord( |
| new goog.debug.Logger.Level('CUSTOM', -1), |
| 'An awesome message', 'logger.name', NOW, SEQ); |
| var thawed = goog.debug.logRecordSerializer.parse( |
| goog.debug.logRecordSerializer.serialize(rec)); |
| |
| assertEquals('CUSTOM', thawed.getLevel().name); |
| assertEquals(-1, thawed.getLevel().value); |
| } |
| |
| function testWeirdLogLevel() { |
| var rec = new goog.debug.LogRecord( |
| new goog.debug.Logger.Level('FINE', -1), |
| 'An awesome message', 'logger.name', NOW, SEQ); |
| var thawed = goog.debug.logRecordSerializer.parse( |
| goog.debug.logRecordSerializer.serialize(rec)); |
| |
| assertEquals('FINE', thawed.getLevel().name); |
| // Makes sure that the log leve is still -1 even though the name |
| // FINE is predefind. |
| assertEquals(-1, thawed.getLevel().value); |
| } |