este-library-oldschool
Version:
Library for github.com/steida/este.git
88 lines • 2.31 kB
JavaScript
// Generated by github.com/steida/coffee2closure 900.1.18
suite('este.events.MatchedHandler', function() {
var MatchedEventHandler, arrange, el, handler, matchers;
MatchedEventHandler = este.events.MatchedHandler;
el = null;
matchers = null;
handler = null;
setup(function() {
return el = {
attachEvent: function() {}
};
});
arrange = function(index) {
return handler = new este.events.MatchedHandler(el, matchers, function() {
return index;
});
};
return suite('click on A in second LI.someClass of UL#someId', function() {
test('should fire type: click, id: "123", childIndex: 1', function(done) {
var target;
matchers = [
{
id: '123',
container: 'ul#someId',
child: 'li.someClass',
link: 'a'
}
];
arrange(1);
target = {
tagName: 'A',
nodeType: 1,
parentNode: {
tagName: 'LI',
className: 'someClass',
nodeType: 1,
parentNode: {
tagName: 'UL',
id: 'someId',
nodeType: 1
}
}
};
goog.events.listen(handler, 'click', function(e) {
assert.equal(e.target, target);
assert.equal(e.id, '123');
assert.equal(e.childIndex, 1);
return done();
});
return goog.events.fireListeners(el, 'click', false, {
type: 'click',
target: target
});
});
return test('should fire type: click, dompath: UL#someId LI.someClass A', function(done) {
var target;
matchers = [
{
id: '123',
container: 'ul#anotherId',
child: 'li.anotherClass',
link: 'a'
}
];
arrange(1);
target = {
tagName: 'A',
parentNode: {
tagName: 'LI',
className: 'someClass',
parentNode: {
tagName: 'UL',
id: 'someId'
}
}
};
goog.events.listen(handler, 'click', function(e) {
assert.equal(e.target, target);
assert.equal(e.domPath, 'UL#someId LI.someClass A');
return done();
});
return goog.events.fireListeners(el, 'click', false, {
type: 'click',
target: target
});
});
});
});