mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
a52d56f613
Summary: - Moved /test/client and /test/common to core. - Moved two files (CircularArray and RecentItems) from app/common to core/app/common. - Moved resetOrg test to gen-server. - `testrun.sh` is now invoking common and client test from core. - Added missing packages to core's package.json (and revealed underscore as it is used in the main app). - Removed Coord.js as it is not used anywhere. Test Plan: Existing tests Reviewers: paulfitz Reviewed By: paulfitz Subscribers: paulfitz Differential Revision: https://phab.getgrist.com/D3590
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
const {Scrolly} = require('app/client/lib/koDomScrolly');
|
|
const clientUtil = require('../clientUtil');
|
|
const G = require('app/client/lib/browserGlobals').get('window', '$');
|
|
const sinon = require('sinon');
|
|
const assert = require('assert');
|
|
|
|
/* global describe, it, after, before, beforeEach */
|
|
|
|
describe("koDomScrolly", function() {
|
|
|
|
clientUtil.setTmpMochaGlobals();
|
|
|
|
before(function(){
|
|
sinon.stub(Scrolly.prototype, 'scheduleUpdateSize');
|
|
});
|
|
|
|
beforeEach(function(){
|
|
Scrolly.prototype.scheduleUpdateSize.reset();
|
|
});
|
|
|
|
after(function(){
|
|
Scrolly.prototype.scheduleUpdateSize.restore();
|
|
});
|
|
|
|
it("should not remove other's resize handlers", function(){
|
|
let scrolly1 = createScrolly(),
|
|
scrolly2 = createScrolly();
|
|
G.$(G.window).trigger("resize");
|
|
let updateSpy = Scrolly.prototype.scheduleUpdateSize;
|
|
sinon.assert.called(updateSpy);
|
|
sinon.assert.calledOn(updateSpy, scrolly1);
|
|
sinon.assert.calledOn(updateSpy, scrolly2);
|
|
scrolly2.dispose();
|
|
updateSpy.reset();
|
|
G.$(G.window).trigger("resize");
|
|
assert.deepEqual(updateSpy.thisValues, [scrolly1]);
|
|
});
|
|
|
|
});
|
|
|
|
|
|
function createScrolly() {
|
|
// subscribe should return a disposable subscription.
|
|
const dispose = () => {};
|
|
const subscription = { dispose };
|
|
const data = {subscribe: () => subscription, all: () => []};
|
|
return new Scrolly(data);
|
|
}
|