Fix test failures introduced by last PR

pull/21833/head
Richard van der Hoff 2016-04-19 21:10:23 +01:00
parent b0eba8aea8
commit dcd81da856
3 changed files with 22 additions and 11 deletions

View File

@ -153,6 +153,14 @@ module.exports = React.createClass({
if (key == 'readReceipts') {
var rA = objA[key];
var rB = objB[key];
if (rA === rB) {
continue;
}
if (!rA || !rB) {
return false;
}
if (rA.length !== rB.length) {
return false;
}

View File

@ -20,6 +20,7 @@ var TestUtils = require('react-addons-test-utils');
var expect = require('expect');
var sdk = require('matrix-react-sdk');
var MatrixClientPeg = require('MatrixClientPeg');
var MessagePanel = sdk.getComponent('structures.MessagePanel');
@ -35,6 +36,9 @@ describe('MessagePanel', function () {
beforeEach(function() {
test_utils.beforeEach(this);
sandbox = test_utils.stubClient(sandbox);
var client = MatrixClientPeg.get();
client.credentials = {userId: '@me:here'};
});
afterEach(function () {
@ -93,7 +97,7 @@ describe('MessagePanel', function () {
// first render with the RM in one place
var mp = ReactDOM.render(
<MessagePanel events={events} readMarkerEventId={events[4].getId()}
readMarkerVisible={true}
readMarkerVisible={true}
/>, parentDiv);
var tiles = TestUtils.scryRenderedComponentsWithType(
@ -109,13 +113,13 @@ describe('MessagePanel', function () {
// now move the RM
mp = ReactDOM.render(
<MessagePanel events={events} readMarkerEventId={events[6].getId()}
readMarkerVisible={true}
readMarkerVisible={true}
/>, parentDiv);
// now there should be two RM containers
var found = TestUtils.scryRenderedDOMComponentsWithClass(mp, 'mx_RoomView_myReadMarker_container');
expect(found.length).toEqual(2);
// the first should be the ghost
expect(found[0].previousSibling).toEqual(tileContainers[4]);
var hr = found[0].children[0];
@ -126,7 +130,7 @@ describe('MessagePanel', function () {
// advance the clock, and then let the browser run an animation frame,
// to let the animation start
clock.tick(1500);
realSetTimeout(() => {
// then advance it again to let it complete
clock.tick(1000);

View File

@ -86,7 +86,8 @@ describe('TimelinePanel', function() {
// this is https://github.com/vector-im/vector-web/issues/1367
// enough events to allow us to scroll back
for (var i = 0; i < 40; i++) {
var N_EVENTS = 20;
for (var i = 0; i < N_EVENTS; i++) {
timeline.addEvent(mkMessage());
}
@ -119,7 +120,7 @@ describe('TimelinePanel', function() {
// happens
awaitScroll().then(() => {
expect(panel.state.canBackPaginate).toBe(false);
expect(scryEventTiles(panel).length).toEqual(40);
expect(scryEventTiles(panel).length).toEqual(N_EVENTS);
// scroll up
console.log("setting scrollTop = 0");
@ -145,12 +146,12 @@ describe('TimelinePanel', function() {
// that won't make much difference, because we don't paginate
// unless we're at the bottom of the timeline, but a scroll event
// should be enough to set off a pagination.
expect(scryEventTiles(panel).length).toEqual(40);
expect(scryEventTiles(panel).length).toEqual(N_EVENTS);
scrollingDiv.scrollTop = 10;
}).delay(0).then(awaitPaginationCompletion).then(() => {
expect(scryEventTiles(panel).length).toEqual(41);
}).done(done);
expect(scryEventTiles(panel).length).toEqual(N_EVENTS+1);
}).done(done, done);
});
it('should not paginate forever if there are no events', function(done) {
@ -204,5 +205,3 @@ describe('TimelinePanel', function() {
}, 0);
});
});