12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- // Copyright 2010 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.LogBufferTest');
- goog.setTestOnly('goog.debug.LogBufferTest');
- goog.require('goog.debug.LogBuffer');
- goog.require('goog.debug.Logger');
- goog.require('goog.testing.jsunit');
- var DUMMY_LEVELS = [
- goog.debug.Logger.Level.INFO, goog.debug.Logger.Level.WARNING,
- goog.debug.Logger.Level.SEVERE
- ];
- var DUMMY_MESSAGES = ['a', 'b', 'c'];
- var DUMMY_NAMES = ['X', 'Y', 'Z'];
- var buffer;
- var dummyIndex = 0;
- function setUp() {
- goog.debug.LogBuffer.CAPACITY = 4;
- goog.debug.LogBuffer.instance_ = null;
- buffer = goog.debug.LogBuffer.getInstance();
- }
- function verifyRecord(expectedIndex, record) {
- var index = expectedIndex % DUMMY_MESSAGES.length;
- var message = DUMMY_MESSAGES[index];
- var level = DUMMY_LEVELS[index];
- var name = DUMMY_NAMES[index];
- assertEquals(
- 'Wrong level for record ' + expectedIndex, level, record.getLevel());
- assertEquals(
- 'Wrong message for record ' + expectedIndex, message,
- record.getMessage());
- assertEquals(
- 'Wrong name for record ' + expectedIndex, name, record.getLoggerName());
- }
- function addAndVerifyRecord() {
- var index = dummyIndex % DUMMY_MESSAGES.length;
- var level = DUMMY_LEVELS[index];
- var message = DUMMY_MESSAGES[index];
- var name = DUMMY_NAMES[index];
- var record = buffer.addRecord(level, message, name);
- verifyRecord(dummyIndex, record);
- dummyIndex++;
- }
- function addSomeRecords(howMany) {
- for (var i = 0; i < howMany; i++) {
- addAndVerifyRecord();
- }
- }
- function testAddRecord() {
- addSomeRecords(goog.debug.LogBuffer.CAPACITY * 3);
- }
- function testIsFull() {
- assertFalse('Should not be full.', buffer.isFull_);
- addSomeRecords(goog.debug.LogBuffer.CAPACITY * 1.5);
- assertTrue('Should be full.', buffer.isFull_);
- buffer.clear();
- assertFalse('Should not be full after clear().', buffer.isFull_);
- addSomeRecords(goog.debug.LogBuffer.CAPACITY - 1);
- assertFalse('Should not be full but almost full.', buffer.isFull_);
- }
- function testForEachRecord() {
- // Test with it half full.
- var howMany1 = goog.debug.LogBuffer.CAPACITY / 2;
- addSomeRecords(howMany1);
- var counter1 = 0;
- buffer.forEachRecord(function(record) { verifyRecord(counter1++, record); });
- assertEquals('Wrong number of records when half full.', howMany1, counter1);
- // Test with it full.
- var howMany2 = goog.debug.LogBuffer.CAPACITY;
- addSomeRecords(howMany2);
- var index = counter1;
- buffer.forEachRecord(function(record) { verifyRecord(index++, record); });
- assertEquals(
- 'Wrong number of records when full.', howMany1 + howMany2, index);
- }
|