102 lines
3.2 KiB
JavaScript
102 lines
3.2 KiB
JavaScript
// 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.messaging.LoggerServerTest');
|
|
goog.setTestOnly('goog.messaging.LoggerServerTest');
|
|
|
|
goog.require('goog.debug.LogManager');
|
|
goog.require('goog.debug.Logger');
|
|
goog.require('goog.log');
|
|
goog.require('goog.log.Level');
|
|
goog.require('goog.messaging.LoggerServer');
|
|
goog.require('goog.testing.MockControl');
|
|
goog.require('goog.testing.PropertyReplacer');
|
|
goog.require('goog.testing.jsunit');
|
|
goog.require('goog.testing.messaging.MockMessageChannel');
|
|
|
|
var mockControl;
|
|
var channel;
|
|
var stubs;
|
|
|
|
function setUpPage() {
|
|
stubs = new goog.testing.PropertyReplacer();
|
|
}
|
|
|
|
function setUp() {
|
|
mockControl = new goog.testing.MockControl();
|
|
channel = new goog.testing.messaging.MockMessageChannel(mockControl);
|
|
stubs.set(goog.debug.LogManager, 'getLogger',
|
|
mockControl.createFunctionMock('goog.log.getLogger'));
|
|
}
|
|
|
|
function tearDown() {
|
|
channel.dispose();
|
|
stubs.reset();
|
|
}
|
|
|
|
function testCommandWithoutChannelName() {
|
|
var mockLogger = mockControl.createStrictMock(goog.debug.Logger);
|
|
goog.log.getLogger('test.object.Name').$returns(mockLogger);
|
|
goog.log.log(mockLogger,
|
|
goog.log.Level.SEVERE, '[remote logger] foo bar', null);
|
|
mockControl.$replayAll();
|
|
|
|
var server = new goog.messaging.LoggerServer(channel, 'log');
|
|
channel.receive('log', {
|
|
name: 'test.object.Name',
|
|
level: goog.log.Level.SEVERE.value,
|
|
message: 'foo bar',
|
|
exception: null
|
|
});
|
|
mockControl.$verifyAll();
|
|
server.dispose();
|
|
}
|
|
|
|
function testCommandWithChannelName() {
|
|
var mockLogger = mockControl.createStrictMock(goog.debug.Logger);
|
|
goog.log.getLogger('test.object.Name').$returns(mockLogger);
|
|
goog.log.log(mockLogger,
|
|
goog.log.Level.SEVERE, '[some channel] foo bar', null);
|
|
mockControl.$replayAll();
|
|
|
|
var server = new goog.messaging.LoggerServer(channel, 'log', 'some channel');
|
|
channel.receive('log', {
|
|
name: 'test.object.Name',
|
|
level: goog.log.Level.SEVERE.value,
|
|
message: 'foo bar',
|
|
exception: null
|
|
});
|
|
mockControl.$verifyAll();
|
|
server.dispose();
|
|
}
|
|
|
|
function testCommandWithException() {
|
|
var mockLogger = mockControl.createStrictMock(goog.debug.Logger);
|
|
goog.log.getLogger('test.object.Name').$returns(mockLogger);
|
|
goog.log.log(mockLogger,
|
|
goog.log.Level.SEVERE, '[some channel] foo bar',
|
|
{message: 'Bad things', stack: ['foo', 'bar']});
|
|
mockControl.$replayAll();
|
|
|
|
var server = new goog.messaging.LoggerServer(channel, 'log', 'some channel');
|
|
channel.receive('log', {
|
|
name: 'test.object.Name',
|
|
level: goog.log.Level.SEVERE.value,
|
|
message: 'foo bar',
|
|
exception: {message: 'Bad things', stack: ['foo', 'bar']}
|
|
});
|
|
mockControl.$verifyAll();
|
|
server.dispose();
|
|
}
|