本文整理汇总了TypeScript中angular2-meteor.MongoCursorDiffer.diff方法的典型用法代码示例。如果您正苦于以下问题:TypeScript MongoCursorDiffer.diff方法的具体用法?TypeScript MongoCursorDiffer.diff怎么用?TypeScript MongoCursorDiffer.diff使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类angular2-meteor.MongoCursorDiffer
的用法示例。
在下文中一共展示了MongoCursorDiffer.diff方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('new cursor being handled properly', function() {
var emptyFakeFactory = new fakes.ObserverFactoryFake(fakeObserver);
var differ = new MongoCursorDiffer(null /*cdRef*/, emptyFakeFactory);
differ.diff(fakeCursor);
var changes1 = [
new AddChange(5, {name: 'cursor1 doc'})];
// This is ideally should be done via the cursor.
differ.observer.emit(changes1);
differ.diff(null);
var fakeCursor1 = new fakes.MongoCollectionCursorFake();
differ.diff(fakeCursor1);
var changes2 = [
new AddChange(10, {name: 'cursor2 doc'})];
differ.observer.emit(changes2);
differ.diff(null);
var forEachAddedItem = sinon.spy(function(addChange) {
expect(addChange.item).to.equal(changes2[0].item);
expect(addChange.currentIndex).to.equal(changes2[0].index);
});
differ.forEachAddedItem(forEachAddedItem);
expect(forEachAddedItem.calledOnce).to.equal(true);
});
示例2: it
it('all collection changes are handled', function() {
var differ = new MongoCursorDiffer(null /*cdRef*/, fakeFactory);
differ.diff(fakeCursor);
var changes = [
new AddChange(5, {name: 'some doc'}),
new RemoveChange(15),
new MoveChange(10, 20)];
fakeObserver.emit(changes);
differ.diff(null);
let count = 0;
var forEachOperation = sinon.spy(function(record, previousIndex, index) {
let change = changes[count];
expect(record.item).to.equal(change.item);
if (count == 0) {
expect(index).to.equal(change.index);
}
if (count == 1) {
expect(previousIndex).to.equal(change.index);
}
if (count == 2) {
expect(previousIndex).to.equal(change.fromIndex);
expect(index).to.equal(change.toIndex);
}
count++;
});
differ.forEachOperation(forEachOperation);
expect(forEachOperation.callCount).to.equal(3);
});
示例3: it
it('all collection changes are handled', function() {
var differ = new MongoCursorDiffer(null /*cdRef*/, fakeFactory);
differ.diff(fakeCursor);
var changes = [
new AddChange(5, {name: 'some doc'}),
new RemoveChange(15),
new MoveChange(10, 20)];
fakeObserver.emit(changes);
differ.diff();
var forEachAddedItem = jasmine.createSpy().and.callFake(function(addChange) {
expect(addChange.item).toEqual(changes[0].item);
expect(addChange.currentIndex).toEqual(changes[0].index);
});
differ.forEachAddedItem(forEachAddedItem);
expect(forEachAddedItem).toHaveBeenCalled();
var forEachRemovedItem = jasmine.createSpy().and.callFake(function(removeChange) {
expect(removeChange.previousIndex).toEqual(changes[1].index);
});
differ.forEachRemovedItem(forEachRemovedItem);
expect(forEachRemovedItem).toHaveBeenCalled();
var forEachMovedItem = jasmine.createSpy().and.callFake(function(moveChange) {
expect(moveChange.previousIndex).toEqual(changes[2].fromIndex);
expect(moveChange.currentIndex).toEqual(changes[2].toIndex);
});
differ.forEachMovedItem(forEachMovedItem);
expect(forEachMovedItem).toHaveBeenCalled();
});