Skip to content

Commit

Permalink
up
Browse files Browse the repository at this point in the history
  • Loading branch information
belozer committed Jun 22, 2018
1 parent bb4b8af commit d1c8214
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 92 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ describe('BEM events', function() {
});

describe('block instance events', function() {
var block2_1, block2_2;
var block1, block2_1, block2_2, block3_1, block3_2;
beforeEach(function() {
Block1 = bemDom.declBlock('block1', {
onSetMod : {
Expand All @@ -222,14 +222,27 @@ describe('BEM events', function() {
});

Block2 = bemDom.declBlock('block2');
Block3 = bemDom.declBlock('block3');

block1 = initDom({
block : 'block1',
content : [
{ block : 'block2' },
{ block : 'block2' }
]
}).bem(Block1);
var dom = initDom([
{
block : 'block1',
content : [
{ block : 'block2' },
{ block : 'block2' }
]
},
{ block : 'block3' },
{ block : 'block3' },
]);

block1 = dom.eq(0).bem(Block1);

block3_1 = dom.eq(1).bem(Block3);
block3_2 = dom.eq(2).bem(Block3);

block1._events(block3_1).on('click', spy6);
block1._events(block3_1).on('click', spy7);
});

it('should properly bind handlers', function() {
Expand Down Expand Up @@ -267,44 +280,14 @@ describe('BEM events', function() {
spy1.should.not.have.been.called;
spy3.should.have.been.called;
});
});

describe('complex unbind on block destruct', function() {
var spy1, spy2, block1, block2, block3;

beforeEach(function() {
spy1 = sinon.spy();
spy2 = sinon.spy();

var Block = bemDom.declBlock('block'),
dom = initDom([
{ block : 'block' },
{ block : 'block' },
{ block : 'block' }
]);

block1 = dom.eq(0).bem(Block);
block2 = dom.eq(1).bem(Block);
block3 = dom.eq(2).bem(Block);
});

it('should properly unbind all handlers', function() {
block1._events(block2).on('click', spy1);
block1._events(block3).on('click', spy2);
block2._emit('click');
block3._emit('click');

spy1.should.have.been.called;
spy2.should.have.been.called;

spy1.reset();
spy2.reset();
it('should properly unbind all handlers on block destruct', function() {
bemDom.destruct(block1.domElem);
block2._emit('click');
block3._emit('click');
block3_1._emit('click');
block3_2._emit('click');

spy1.should.have.not.been.called;
spy2.should.have.not.been.called;
spy6.should.have.not.been.called;
spy7.should.have.not.been.called;
});
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,51 +146,6 @@ describe('DOM events', function() {
});
});

describe('complex unbind on block destruct', function() {
var spy1, spy2, spy3, block1, block2;
beforeEach(function() {
spy1 = sinon.spy();
spy2 = sinon.spy();
spy3 = sinon.spy();

var Block = bemDom.declBlock('block'),
dom = createDomNode([
{ block : 'block' },
{ block : 'block' }
]);

block1 = dom.eq(0).bem(Block);
block2 = dom.eq(1).bem(Block);
});

it('should properly unbind all handlers', function() {
block1._domEvents(bemDom.win).on('resize', spy1);
block1._domEvents(bemDom.doc).on('click', spy2);
block1._domEvents(block2).on('click', spy3);

bemDom.win.trigger('resize');
bemDom.doc.trigger('click');
block2.domElem.trigger('click');

spy1.should.have.been.called;
spy2.should.have.been.called;
spy3.should.have.been.called;

spy1.reset();
spy2.reset();
spy3.reset();

bemDom.destruct(block1.domElem);
bemDom.win.trigger('resize');
bemDom.doc.trigger('click');
block2.domElem.trigger('click');

spy1.should.have.not.been.called;
spy2.should.have.not.been.called;
spy3.should.have.not.been.called;
});
});

describe('block elems events', function() {
['string', 'Class'].forEach(function(elemType) {
var elem1, elem2;
Expand Down Expand Up @@ -722,15 +677,23 @@ describe('DOM events', function() {
this._domEvents(rootNode.find('div').addBack())
.on('dblclick', data, wrapSpy(spy3))
.once('dblclick', spy4);

this._domEvents(rootNode[1])
.on('click', spy5);
}
}
}
});
rootNode = createDomNode({
content : {
content : { block : 'block', tag : 'p' }
rootNode = createDomNode([
{
content : {
content : { block : 'block', tag : 'p' }
}
},
{
content : ''
}
});
]);
block1 = rootNode.find(Block1._buildSelector()).bem(Block1);
});

Expand Down Expand Up @@ -793,6 +756,7 @@ describe('DOM events', function() {

spy1.should.not.have.been.called;
spy2.should.not.have.been.called;
spy5.should.not.have.been.called;
});
});
});
Expand Down

0 comments on commit d1c8214

Please sign in to comment.