@@ -39,10 +39,10 @@ describe("RoomState", function () {
3939 const userLazy = "@lazy:bar" ;
4040
4141 let state = new RoomState ( roomId ) ;
42+ let statev12 = new RoomState ( roomId ) ;
4243
4344 beforeEach ( function ( ) {
44- state = new RoomState ( roomId ) ;
45- state . setStateEvents ( [
45+ const commonEvents = [
4646 utils . mkMembership ( {
4747 // userA joined
4848 event : true ,
@@ -67,6 +67,11 @@ describe("RoomState", function () {
6767 name : "Room name goes here" ,
6868 } ,
6969 } ) ,
70+ ] ;
71+
72+ state = new RoomState ( roomId ) ;
73+ state . setStateEvents ( [
74+ ...commonEvents ,
7075 utils . mkEvent ( {
7176 // Room creation
7277 type : "m.room.create" ,
@@ -76,6 +81,19 @@ describe("RoomState", function () {
7681 content : { } ,
7782 } ) ,
7883 ] ) ;
84+
85+ statev12 = new RoomState ( roomId ) ;
86+ statev12 . setStateEvents ( [
87+ ...commonEvents ,
88+ utils . mkEvent ( {
89+ // Room creation (v12 version)
90+ type : "m.room.create" ,
91+ user : userA ,
92+ room : roomId ,
93+ event : true ,
94+ content : { room_version : "12" } ,
95+ } ) ,
96+ ] ) ;
7997 } ) ;
8098
8199 describe ( "getMembers" , function ( ) {
@@ -1002,6 +1020,24 @@ describe("RoomState", function () {
10021020 expect ( state . maySendEvent ( "m.room.other_thing" , userA ) ) . toEqual ( true ) ;
10031021 expect ( state . maySendEvent ( "m.room.other_thing" , userB ) ) . toEqual ( false ) ;
10041022 } ) ;
1023+
1024+ it ( "should recognise power level of room creators in v12 rooms" , function ( ) {
1025+ const powerLevelEvent = new MatrixEvent ( {
1026+ type : "m.room.power_levels" ,
1027+ room_id : roomId ,
1028+ sender : userA ,
1029+ state_key : "" ,
1030+ content : {
1031+ users_default : 0 ,
1032+ state_default : 100 ,
1033+ events_default : 100 ,
1034+ users : { } ,
1035+ } ,
1036+ } ) ;
1037+ statev12 . setStateEvents ( [ powerLevelEvent ] ) ;
1038+
1039+ expect ( statev12 . maySendEvent ( "m.room.name" , userA ) ) . toEqual ( true ) ;
1040+ } ) ;
10051041 } ) ;
10061042
10071043 describe ( "processBeaconEvents" , ( ) => {
0 commit comments