@@ -38,10 +38,10 @@ describe("RoomState", function () {
3838 const userLazy = "@lazy:bar" ;
3939
4040 let state = new RoomState ( roomId ) ;
41+ let statev12 = new RoomState ( roomId ) ;
4142
4243 beforeEach ( function ( ) {
43- state = new RoomState ( roomId ) ;
44- state . setStateEvents ( [
44+ const commonEvents = [
4545 utils . mkMembership ( {
4646 // userA joined
4747 event : true ,
@@ -65,7 +65,12 @@ describe("RoomState", function () {
6565 content : {
6666 name : "Room name goes here" ,
6767 } ,
68- } ) ,
68+ } )
69+ ] ;
70+
71+ state = new RoomState ( roomId ) ;
72+ state . setStateEvents ( [
73+ ...commonEvents ,
6974 utils . mkEvent ( {
7075 // Room creation
7176 type : "m.room.create" ,
@@ -75,6 +80,19 @@ describe("RoomState", function () {
7580 content : { } ,
7681 } ) ,
7782 ] ) ;
83+
84+ statev12 = new RoomState ( roomId ) ;
85+ statev12 . setStateEvents ( [
86+ ...commonEvents ,
87+ utils . mkEvent ( {
88+ // Room creation (v12 version)
89+ type : "m.room.create" ,
90+ user : userA ,
91+ room : roomId ,
92+ event : true ,
93+ content : { room_version : "12" } ,
94+ } ) ,
95+ ] ) ;
7896 } ) ;
7997
8098 describe ( "getMembers" , function ( ) {
@@ -859,6 +877,25 @@ describe("RoomState", function () {
859877 expect ( state . maySendEvent ( "m.room.other_thing" , userA ) ) . toEqual ( true ) ;
860878 expect ( state . maySendEvent ( "m.room.other_thing" , userB ) ) . toEqual ( false ) ;
861879 } ) ;
880+
881+ it ( "should recognise power level of room creators in v12 rooms" , function ( ) {
882+ const powerLevelEvent = new MatrixEvent ( {
883+ type : "m.room.power_levels" ,
884+ room_id : roomId ,
885+ sender : userA ,
886+ state_key : "" ,
887+ content : {
888+ users_default : 0 ,
889+ state_default : 100 ,
890+ events_default : 100 ,
891+ users : {
892+ } ,
893+ } ,
894+ } ) ;
895+ statev12 . setStateEvents ( [ powerLevelEvent ] ) ;
896+
897+ expect ( statev12 . maySendEvent ( "m.room.name" , userA ) ) . toEqual ( true ) ;
898+ } ) ;
862899 } ) ;
863900
864901 describe ( "processBeaconEvents" , ( ) => {
0 commit comments