You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-07-31 15:24:23 +03:00
Convert all helper functions which make events to use kwargs
This commit is contained in:
@ -88,9 +88,14 @@ describe("MatrixClient", function() {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
state: [
|
state: [
|
||||||
utils.mkMembership("!erufh:bar", "join", "@foo:bar"),
|
utils.mkMembership({
|
||||||
utils.mkEvent("m.room.create", "!erufh:bar", "@foo:bar", {
|
room: "!erufh:bar", mship: "join", user: "@foo:bar"
|
||||||
creator: "@foo:bar"
|
}),
|
||||||
|
utils.mkEvent({
|
||||||
|
type: "m.room.create", room: "!erufh:bar", user: "@foo:bar",
|
||||||
|
content: {
|
||||||
|
creator: "@foo:bar"
|
||||||
|
}
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
}]
|
}]
|
||||||
@ -105,8 +110,10 @@ describe("MatrixClient", function() {
|
|||||||
utils.mkMessage({
|
utils.mkMessage({
|
||||||
room: "!erufh:bar", user: "@foo:bar", msg: ":D"
|
room: "!erufh:bar", user: "@foo:bar", msg: ":D"
|
||||||
}),
|
}),
|
||||||
utils.mkEvent("m.typing", "!erufh:bar", "bar", {
|
utils.mkEvent({
|
||||||
user_ids: ["@foo:bar"]
|
type: "m.typing", room: "!erufh:bar", content: {
|
||||||
|
user_ids: ["@foo:bar"]
|
||||||
|
}
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
@ -327,20 +334,24 @@ describe("MatrixClient", function() {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
state: [
|
state: [
|
||||||
utils.mkEvent(
|
utils.mkEvent({
|
||||||
"m.room.name", roomOne, otherUserId,
|
type: "m.room.name", room: roomOne, user: otherUserId,
|
||||||
{
|
content: {
|
||||||
name: "Old room name"
|
name: "Old room name"
|
||||||
}
|
}
|
||||||
),
|
}),
|
||||||
utils.mkMembership(roomOne, "join", otherUserId),
|
utils.mkMembership({
|
||||||
utils.mkMembership(roomOne, "join", selfUserId),
|
room: roomOne, mship: "join", user: otherUserId
|
||||||
utils.mkEvent(
|
}),
|
||||||
"m.room.create", roomOne, selfUserId,
|
utils.mkMembership({
|
||||||
{
|
room: roomOne, mship: "join", user: selfUserId
|
||||||
|
}),
|
||||||
|
utils.mkEvent({
|
||||||
|
type: "m.room.create", room: roomOne, user: selfUserId,
|
||||||
|
content: {
|
||||||
creator: selfUserId
|
creator: selfUserId
|
||||||
}
|
}
|
||||||
)
|
})
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -356,16 +367,19 @@ describe("MatrixClient", function() {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
state: [
|
state: [
|
||||||
utils.mkMembership(
|
utils.mkMembership({
|
||||||
roomTwo, "join", otherUserId, null, otherDisplayName
|
room: roomTwo, mship: "join", user: otherUserId,
|
||||||
),
|
name: otherDisplayName
|
||||||
utils.mkMembership(roomTwo, "join", selfUserId),
|
}),
|
||||||
utils.mkEvent(
|
utils.mkMembership({
|
||||||
"m.room.create", roomTwo, selfUserId,
|
room: roomTwo, mship: "join", user: selfUserId
|
||||||
{
|
}),
|
||||||
|
utils.mkEvent({
|
||||||
|
type: "m.room.create", room: roomTwo, user: selfUserId,
|
||||||
|
content: {
|
||||||
creator: selfUserId
|
creator: selfUserId
|
||||||
}
|
}
|
||||||
)
|
})
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -374,14 +388,16 @@ describe("MatrixClient", function() {
|
|||||||
start: "s_5_3",
|
start: "s_5_3",
|
||||||
end: "e_6_7",
|
end: "e_6_7",
|
||||||
chunk: [
|
chunk: [
|
||||||
utils.mkEvent("m.room.name", roomOne, selfUserId, {
|
utils.mkEvent({
|
||||||
name: "A new room name"
|
type: "m.room.name", room: roomOne, user: selfUserId,
|
||||||
|
content: { name: "A new room name" }
|
||||||
}),
|
}),
|
||||||
utils.mkMessage({
|
utils.mkMessage({
|
||||||
room: roomTwo, user: otherUserId, msg: msgText
|
room: roomTwo, user: otherUserId, msg: msgText
|
||||||
}),
|
}),
|
||||||
utils.mkEvent("m.typing", roomTwo, undefined, {
|
utils.mkEvent({
|
||||||
user_ids: [otherUserId]
|
type: "m.typing", room: roomTwo,
|
||||||
|
content: { user_ids: [otherUserId] }
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
@ -44,78 +44,87 @@ module.exports.mock = function(constr, name) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a JSON object representing an Event.
|
* Create an Event.
|
||||||
* @param {string} type The event.type
|
* @param {Object} opts Values for the event.
|
||||||
* @param {string} room The event.room_id
|
* @param {string} opts.type The event.type
|
||||||
* @param {string} userId The event.user_id
|
* @param {string} opts.room The event.room_id
|
||||||
* @param {Object} content The event.content
|
* @param {string} opts.user The event.user_id
|
||||||
|
* @param {string} opts.skey Optional. The state key (auto inserts empty string)
|
||||||
|
* @param {Object} opts.content The event.content
|
||||||
|
* @param {boolean} opts.event True to make a MatrixEvent.
|
||||||
* @return {Object} a JSON object representing this event.
|
* @return {Object} a JSON object representing this event.
|
||||||
*/
|
*/
|
||||||
module.exports.mkEvent = function(type, room, userId, content) {
|
module.exports.mkEvent = function(opts) {
|
||||||
|
if (!opts.type || !opts.content) {
|
||||||
|
throw new Error("Missing .type or .content =>"+JSON.stringify(opts));
|
||||||
|
}
|
||||||
var event = {
|
var event = {
|
||||||
type: type,
|
type: opts.type,
|
||||||
room_id: room,
|
room_id: opts.room,
|
||||||
user_id: userId,
|
user_id: opts.user,
|
||||||
content: content,
|
content: opts.content,
|
||||||
event_id: "$" + Math.random() + "-" + Math.random()
|
event_id: "$" + Math.random() + "-" + Math.random()
|
||||||
};
|
};
|
||||||
if (["m.room.name", "m.room.topic", "m.room.create", "m.room.join_rules",
|
if (opts.skey) {
|
||||||
|
event.state_key = opts.skey;
|
||||||
|
}
|
||||||
|
else if (["m.room.name", "m.room.topic", "m.room.create", "m.room.join_rules",
|
||||||
"m.room.power_levels", "m.room.topic",
|
"m.room.power_levels", "m.room.topic",
|
||||||
"com.example.state"].indexOf(type) !== -1) {
|
"com.example.state"].indexOf(opts.type) !== -1) {
|
||||||
event.state_key = "";
|
event.state_key = "";
|
||||||
}
|
}
|
||||||
return event;
|
return opts.event ? new MatrixEvent(event) : event;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an m.room.member POJO.
|
* Create an m.room.member event.
|
||||||
* @param {string} room The room ID for the event.
|
* @param {Object} opts Values for the membership.
|
||||||
* @param {string} membership The content.membership for the event.
|
* @param {string} opts.room The room ID for the event.
|
||||||
* @param {string} userId The user ID for the event.
|
* @param {string} opts.mship The content.membership for the event.
|
||||||
* @param {string} otherUserId The other user ID for the event if applicable
|
* @param {string} opts.user The user ID for the event.
|
||||||
|
* @param {string} opts.skey The other user ID for the event if applicable
|
||||||
* e.g. for invites/bans.
|
* e.g. for invites/bans.
|
||||||
* @param {string} displayName The content.displayname for the event.
|
* @param {string} opts.name The content.displayname for the event.
|
||||||
* @param {string} avatarUrl The content.avatar_url for the event.
|
* @param {string} opts.url The content.avatar_url for the event.
|
||||||
* @return {Object} The event
|
* @param {boolean} opts.event True to make a MatrixEvent.
|
||||||
|
* @return {Object|MatrixEvent} The event
|
||||||
*/
|
*/
|
||||||
module.exports.mkMembership = function(room, membership, userId, otherUserId,
|
module.exports.mkMembership = function(opts) {
|
||||||
displayName, avatarUrl) {
|
opts.type = "m.room.member";
|
||||||
var event = module.exports.mkEvent("m.room.member", room, userId, {
|
if (!opts.skey) {
|
||||||
membership: membership,
|
opts.skey = opts.user;
|
||||||
displayname: displayName,
|
|
||||||
avatar_url: avatarUrl
|
|
||||||
});
|
|
||||||
event.state_key = userId;
|
|
||||||
if (["invite", "ban"].indexOf(membership) !== -1) {
|
|
||||||
event.state_key = otherUserId;
|
|
||||||
}
|
}
|
||||||
return event;
|
if (!opts.mship) {
|
||||||
|
throw new Error("Missing .mship => "+JSON.stringify(opts));
|
||||||
|
}
|
||||||
|
opts.content = {
|
||||||
|
membership: opts.mship
|
||||||
|
};
|
||||||
|
if (opts.name) { opts.content.displayname = opts.name; }
|
||||||
|
if (opts.url) { opts.content.avatar_url = opts.url; }
|
||||||
|
return module.exports.mkEvent(opts);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an m.room.message POJO.
|
* Create an m.room.message event.
|
||||||
* @param {Object} opts Values for the message
|
* @param {Object} opts Values for the message
|
||||||
* @param {string} opts.room The room ID for the event.
|
* @param {string} opts.room The room ID for the event.
|
||||||
* @param {string} opts.user The user ID for the event.
|
* @param {string} opts.user The user ID for the event.
|
||||||
* @param {string} opts.msg Optional. The content.body for the event.
|
* @param {string} opts.msg Optional. The content.body for the event.
|
||||||
* @param {boolean} opts.event True to make a MatrixEvent.
|
* @param {boolean} opts.event True to make a MatrixEvent.
|
||||||
* @return {Object} The event
|
* @return {Object|MatrixEvent} The event
|
||||||
*/
|
*/
|
||||||
module.exports.mkMessage = function(opts) {
|
module.exports.mkMessage = function(opts) {
|
||||||
|
opts.type = "m.room.message";
|
||||||
if (!opts.msg) {
|
if (!opts.msg) {
|
||||||
opts.msg = "Random->" + Math.random();
|
opts.msg = "Random->" + Math.random();
|
||||||
}
|
}
|
||||||
if (!opts.room || !opts.user) {
|
if (!opts.room || !opts.user) {
|
||||||
throw new Error("Missing .room or .user from %s", opts);
|
throw new Error("Missing .room or .user from %s", opts);
|
||||||
}
|
}
|
||||||
opts.type = "m.room.message";
|
|
||||||
opts.content = {
|
opts.content = {
|
||||||
msgtype: "m.text",
|
msgtype: "m.text",
|
||||||
body: opts.msg
|
body: opts.msg
|
||||||
};
|
};
|
||||||
//var pojo = module.exports.mkEvent(opts);
|
return module.exports.mkEvent(opts);
|
||||||
var pojo = module.exports.mkEvent(
|
|
||||||
opts.type, opts.room, opts.user, opts.content
|
|
||||||
);
|
|
||||||
return opts.event ? new MatrixEvent(pojo) : pojo;
|
|
||||||
};
|
};
|
||||||
|
@ -18,15 +18,19 @@ describe("RoomMember", function() {
|
|||||||
|
|
||||||
it("setPowerLevelEvent should set 'powerLevel' and 'powerLevelNorm'.",
|
it("setPowerLevelEvent should set 'powerLevel' and 'powerLevelNorm'.",
|
||||||
function() {
|
function() {
|
||||||
var event = new MatrixEvent(
|
var event = utils.mkEvent({
|
||||||
utils.mkEvent("m.room.power_levels", roomId, userA, {
|
type: "m.room.power_levels",
|
||||||
|
room: roomId,
|
||||||
|
user: userA,
|
||||||
|
content: {
|
||||||
users_default: 20,
|
users_default: 20,
|
||||||
users: {
|
users: {
|
||||||
"@bertha:bar": 200,
|
"@bertha:bar": 200,
|
||||||
"@invalid:user": 10 // shouldn't barf on this.
|
"@invalid:user": 10 // shouldn't barf on this.
|
||||||
}
|
}
|
||||||
})
|
},
|
||||||
);
|
event: true
|
||||||
|
});
|
||||||
member.setPowerLevelEvent(event);
|
member.setPowerLevelEvent(event);
|
||||||
expect(member.powerLevel).toEqual(20);
|
expect(member.powerLevel).toEqual(20);
|
||||||
expect(member.powerLevelNorm).toEqual(10);
|
expect(member.powerLevelNorm).toEqual(10);
|
||||||
@ -44,13 +48,17 @@ describe("RoomMember", function() {
|
|||||||
var memberC = new RoomMember(roomId, userC);
|
var memberC = new RoomMember(roomId, userC);
|
||||||
memberC.typing = true;
|
memberC.typing = true;
|
||||||
|
|
||||||
var event = new MatrixEvent(
|
var event = utils.mkEvent({
|
||||||
utils.mkEvent("m.typing", roomId, userA, {
|
type: "m.typing",
|
||||||
|
user: userA,
|
||||||
|
room: roomId,
|
||||||
|
content: {
|
||||||
user_ids: [
|
user_ids: [
|
||||||
userA, userC
|
userA, userC
|
||||||
]
|
]
|
||||||
})
|
},
|
||||||
);
|
event: true
|
||||||
|
});
|
||||||
member.setTypingEvent(event);
|
member.setTypingEvent(event);
|
||||||
memberB.setTypingEvent(event);
|
memberB.setTypingEvent(event);
|
||||||
memberC.setTypingEvent(event);
|
memberC.setTypingEvent(event);
|
||||||
|
@ -45,9 +45,10 @@ describe("Room", function() {
|
|||||||
utils.mkMessage({
|
utils.mkMessage({
|
||||||
room: roomId, user: userA, msg: "changing room name", event: true
|
room: roomId, user: userA, msg: "changing room name", event: true
|
||||||
}),
|
}),
|
||||||
new MatrixEvent(utils.mkEvent("m.room.name", roomId, userA, {
|
utils.mkEvent({
|
||||||
name: "New Room Name"
|
type: "m.room.name", room: roomId, user: userA, event: true,
|
||||||
}))
|
content: { name: "New Room Name" }
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
it("should be able to add events to the end", function() {
|
it("should be able to add events to the end", function() {
|
||||||
@ -116,12 +117,14 @@ describe("Room", function() {
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|
||||||
var newEv = new MatrixEvent(utils.mkEvent("m.room.name", roomId, userA, {
|
var newEv = utils.mkEvent({
|
||||||
name: "New Room Name"
|
type: "m.room.name", room: roomId, user: userA, event: true,
|
||||||
}));
|
content: { name: "New Room Name" }
|
||||||
var oldEv = new MatrixEvent(utils.mkEvent("m.room.name", roomId, userA, {
|
});
|
||||||
name: "Old Room Name"
|
var oldEv = utils.mkEvent({
|
||||||
}));
|
type: "m.room.name", room: roomId, user: userA, event: true,
|
||||||
|
content: { name: "Old Room Name" }
|
||||||
|
});
|
||||||
room.addEventsToTimeline([newEv]);
|
room.addEventsToTimeline([newEv]);
|
||||||
expect(newEv.sender).toEqual(sentinel);
|
expect(newEv.sender).toEqual(sentinel);
|
||||||
room.addEventsToTimeline([oldEv], true);
|
room.addEventsToTimeline([oldEv], true);
|
||||||
@ -153,12 +156,12 @@ describe("Room", function() {
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|
||||||
var newEv = new MatrixEvent(
|
var newEv = utils.mkMembership({
|
||||||
utils.mkMembership(roomId, "invite", userB, userA)
|
room: roomId, mship: "invite", user: userB, skey: userA, event: true
|
||||||
);
|
});
|
||||||
var oldEv = new MatrixEvent(
|
var oldEv = utils.mkMembership({
|
||||||
utils.mkMembership(roomId, "ban", userB, userA)
|
room: roomId, mship: "ban", user: userB, skey: userA, event: true
|
||||||
);
|
});
|
||||||
room.addEventsToTimeline([newEv]);
|
room.addEventsToTimeline([newEv]);
|
||||||
expect(newEv.target).toEqual(sentinel);
|
expect(newEv.target).toEqual(sentinel);
|
||||||
room.addEventsToTimeline([oldEv], true);
|
room.addEventsToTimeline([oldEv], true);
|
||||||
@ -250,32 +253,32 @@ describe("Room", function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var setJoinRule = function(rule) {
|
var setJoinRule = function(rule) {
|
||||||
stateLookup["m.room.join_rules$"] = new MatrixEvent(
|
stateLookup["m.room.join_rules$"] = utils.mkEvent({
|
||||||
utils.mkEvent("m.room.join_rules", roomId, userA, {
|
type: "m.room.join_rules", room: roomId, user: userA, content: {
|
||||||
join_rule: rule
|
join_rule: rule
|
||||||
})
|
}, event: true
|
||||||
);
|
});
|
||||||
};
|
};
|
||||||
var setAliases = function(aliases, stateKey) {
|
var setAliases = function(aliases, stateKey) {
|
||||||
if (!stateKey) { stateKey = "flibble"; }
|
if (!stateKey) { stateKey = "flibble"; }
|
||||||
stateLookup["m.room.aliases$" + stateKey] = new MatrixEvent(
|
stateLookup["m.room.aliases$" + stateKey] = utils.mkEvent({
|
||||||
utils.mkEvent("m.room.aliases", roomId, stateKey, {
|
type: "m.room.aliases", room: roomId, skey: stateKey, content: {
|
||||||
aliases: aliases
|
aliases: aliases
|
||||||
})
|
}, event: true
|
||||||
);
|
});
|
||||||
};
|
};
|
||||||
var setRoomName = function(name) {
|
var setRoomName = function(name) {
|
||||||
stateLookup["m.room.name$"] = new MatrixEvent(
|
stateLookup["m.room.name$"] = utils.mkEvent({
|
||||||
utils.mkEvent("m.room.name", roomId, userA, {
|
type: "m.room.name", room: roomId, user: userA, content: {
|
||||||
name: name
|
name: name
|
||||||
})
|
}, event: true
|
||||||
);
|
});
|
||||||
};
|
};
|
||||||
var addMember = function(userId, state) {
|
var addMember = function(userId, state) {
|
||||||
if (!state) { state = "join"; }
|
if (!state) { state = "join"; }
|
||||||
stateLookup["m.room.member$" + userId] = new MatrixEvent(
|
stateLookup["m.room.member$" + userId] = utils.mkMembership({
|
||||||
utils.mkMembership(roomId, state, userId, userId)
|
room: roomId, mship: state, user: userId, skey: userId, event: true
|
||||||
);
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
|
Reference in New Issue
Block a user