You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-08-06 12:02:40 +03:00
Add UTs
This commit is contained in:
@@ -3,6 +3,7 @@ var sdk = require("../..");
|
|||||||
var Room = sdk.Room;
|
var Room = sdk.Room;
|
||||||
var RoomState = sdk.RoomState;
|
var RoomState = sdk.RoomState;
|
||||||
var MatrixEvent = sdk.MatrixEvent;
|
var MatrixEvent = sdk.MatrixEvent;
|
||||||
|
var EventStatus = sdk.EventStatus;
|
||||||
var utils = require("../test-utils");
|
var utils = require("../test-utils");
|
||||||
|
|
||||||
describe("Room", function() {
|
describe("Room", function() {
|
||||||
@@ -838,4 +839,86 @@ describe("Room", function() {
|
|||||||
// rather than injecting via room.addTags()?
|
// rather than injecting via room.addTags()?
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("pendingEventOrdering", function() {
|
||||||
|
it("should sort pending events to the end of the timeline if 'end'", function() {
|
||||||
|
var room = new Room(roomId, {
|
||||||
|
pendingEventOrdering: "end"
|
||||||
|
});
|
||||||
|
var eventA = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "remote 1", event: true
|
||||||
|
});
|
||||||
|
var eventB = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "local 1", event: true
|
||||||
|
});
|
||||||
|
eventB.status = EventStatus.SENDING;
|
||||||
|
var eventC = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "remote 2", event: true
|
||||||
|
});
|
||||||
|
room.addEvents([eventA, eventB, eventC]);
|
||||||
|
expect(room.timeline).toEqual(
|
||||||
|
[eventA, eventC, eventB]
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should sort pending events chronologically if 'chronological'", function() {
|
||||||
|
room = new Room(roomId, {
|
||||||
|
pendingEventOrdering: "chronological"
|
||||||
|
});
|
||||||
|
var eventA = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "remote 1", event: true
|
||||||
|
});
|
||||||
|
var eventB = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "local 1", event: true
|
||||||
|
});
|
||||||
|
eventB.status = EventStatus.SENDING;
|
||||||
|
var eventC = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "remote 2", event: true
|
||||||
|
});
|
||||||
|
room.addEvents([eventA, eventB, eventC]);
|
||||||
|
expect(room.timeline).toEqual(
|
||||||
|
[eventA, eventB, eventC]
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should treat NOT_SENT events as local echo", function() {
|
||||||
|
var room = new Room(roomId, {
|
||||||
|
pendingEventOrdering: "end"
|
||||||
|
});
|
||||||
|
var eventA = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "remote 1", event: true
|
||||||
|
});
|
||||||
|
var eventB = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "local 1", event: true
|
||||||
|
});
|
||||||
|
eventB.status = EventStatus.NOT_SENT;
|
||||||
|
var eventC = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "remote 2", event: true
|
||||||
|
});
|
||||||
|
room.addEvents([eventA, eventB, eventC]);
|
||||||
|
expect(room.timeline).toEqual(
|
||||||
|
[eventA, eventC, eventB]
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should treat QUEUED events as local echo", function() {
|
||||||
|
var room = new Room(roomId, {
|
||||||
|
pendingEventOrdering: "end"
|
||||||
|
});
|
||||||
|
var eventA = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "remote 1", event: true
|
||||||
|
});
|
||||||
|
var eventB = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "local 1", event: true
|
||||||
|
});
|
||||||
|
eventB.status = EventStatus.QUEUED;
|
||||||
|
var eventC = utils.mkMessage({
|
||||||
|
room: roomId, user: userA, msg: "remote 2", event: true
|
||||||
|
});
|
||||||
|
room.addEvents([eventA, eventB, eventC]);
|
||||||
|
expect(room.timeline).toEqual(
|
||||||
|
[eventA, eventC, eventB]
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user