blob: bdb0bda285985cced935d2c7e2191908c31ebc26 [file] [log] [blame]
// Copyright 2006 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.events.EventTargetTest');
goog.setTestOnly('goog.events.EventTargetTest');
goog.require('goog.events.EventTarget');
goog.require('goog.events.Listenable');
goog.require('goog.events.eventTargetTester');
goog.require('goog.events.eventTargetTester.KeyType');
goog.require('goog.events.eventTargetTester.UnlistenReturnType');
goog.require('goog.testing.jsunit');
function setUp() {
var newListenableFn = function() {
return new goog.events.EventTarget();
};
var listenFn = function(src, type, listener, opt_capt, opt_handler) {
return src.listen(type, listener, opt_capt, opt_handler);
};
var unlistenFn = function(src, type, listener, opt_capt, opt_handler) {
return src.unlisten(type, listener, opt_capt, opt_handler);
};
var unlistenByKeyFn = function(src, key) {
return src.unlistenByKey(key);
};
var listenOnceFn = function(src, type, listener, opt_capt, opt_handler) {
return src.listenOnce(type, listener, opt_capt, opt_handler);
};
var dispatchEventFn = function(src, e) {
return src.dispatchEvent(e);
};
var removeAllFn = function(src, opt_type, opt_capture) {
return src.removeAllListeners(opt_type, opt_capture);
};
var getListenersFn = function(src, type, capture) {
return src.getListeners(type, capture);
};
var getListenerFn = function(src, type, listener, capture, opt_handler) {
return src.getListener(type, listener, capture, opt_handler);
};
var hasListenerFn = function(src, opt_type, opt_capture) {
return src.hasListener(opt_type, opt_capture);
};
goog.events.eventTargetTester.setUp(
newListenableFn, listenFn, unlistenFn, unlistenByKeyFn,
listenOnceFn, dispatchEventFn,
removeAllFn, getListenersFn, getListenerFn, hasListenerFn,
goog.events.eventTargetTester.KeyType.NUMBER,
goog.events.eventTargetTester.UnlistenReturnType.BOOLEAN, false);
}
function tearDown() {
goog.events.eventTargetTester.tearDown();
}
function testRuntimeTypeIsCorrect() {
var target = new goog.events.EventTarget();
assertTrue(goog.events.Listenable.isImplementedBy(target));
}