Lines Matching refs:slots

19 	 * @param SlotRecord[] $slots
22 protected function newRevisionSlots( $slots = [] ) { argument
23 return new MutableRevisionSlots( $slots );
34 * @param array $slots
39 public function testConstructorFailue( $slots ) { argument
42 new MutableRevisionSlots( $slots );
46 $slots = new MutableRevisionSlots();
48 $this->assertSame( [], $slots->getSlots() );
51 $slots->setSlot( $slotA );
52 $this->assertTrue( $slots->hasSlot( 'some' ) );
53 $this->assertSame( $slotA, $slots->getSlot( 'some' ) );
54 $this->assertSame( [ 'some' => $slotA ], $slots->getSlots() );
57 $slots->setSlot( $slotB );
58 $this->assertTrue( $slots->hasSlot( 'other' ) );
59 $this->assertSame( $slotB, $slots->getSlot( 'other' ) );
60 $this->assertSame( [ 'some' => $slotA, 'other' => $slotB ], $slots->getSlots() );
64 $slots = new MutableRevisionSlots();
66 $this->assertSame( [], $slots->getSlots() );
69 $slots->setSlot( $slotA );
70 $this->assertSame( $slotA, $slots->getSlot( SlotRecord::MAIN ) );
71 $this->assertSame( [ 'main' => $slotA ], $slots->getSlots() );
74 $slots->setSlot( $slotB );
75 $this->assertSame( $slotB, $slots->getSlot( SlotRecord::MAIN ) );
76 $this->assertSame( [ 'main' => $slotB ], $slots->getSlots() );
89 $slots = new MutableRevisionSlots();
91 $slots->setSlot( $slotA );
94 $slots->inheritSlot( $slotB );
95 $slots->inheritSlot( $slotC );
96 $this->assertSame( [ 'main', 'foo' ], $slots->getSlotRoles() );
97 $this->assertNotSame( $slotB, $slots->getSlot( SlotRecord::MAIN ) );
98 $this->assertNotSame( $slotC, $slots->getSlot( 'foo' ) );
99 $this->assertTrue( $slots->getSlot( SlotRecord::MAIN )->isInherited() );
100 $this->assertTrue( $slots->getSlot( 'foo' )->isInherited() );
101 $this->assertSame( $slotB->getContent(), $slots->getSlot( SlotRecord::MAIN )->getContent() );
102 $this->assertSame( $slotC->getContent(), $slots->getSlot( 'foo' )->getContent() );
106 $slots = new MutableRevisionSlots();
108 $this->assertSame( [], $slots->getSlots() );
111 $slots->setSlot( $slotA );
112 $this->assertSame( $slotA, $slots->getSlot( SlotRecord::MAIN ) );
113 $this->assertSame( [ 'main' => $slotA ], $slots->getSlots() );
116 $slots->setContent( SlotRecord::MAIN, $newContent );
117 $this->assertSame( $newContent, $slots->getContent( SlotRecord::MAIN ) );
122 $slots = new MutableRevisionSlots( [ $slotA ] );
124 $this->assertSame( [ 'main' => $slotA ], $slots->getSlots() );
126 $slots->removeSlot( SlotRecord::MAIN );
127 $this->assertSame( [], $slots->getSlots() );
129 $slots->getSlot( SlotRecord::MAIN );
138 $slots = MutableRevisionSlots::newFromParentRevisionSlots( $parentSlots );
139 $this->assertSame( [ 'some', 'other' ], $slots->getSlotRoles() );
140 $this->assertNotSame( $parentSlots['some'], $slots->getSlot( 'some' ) );
141 $this->assertNotSame( $parentSlots['other'], $slots->getSlot( 'other' ) );
142 $this->assertTrue( $slots->getSlot( 'some' )->isInherited() );
143 $this->assertTrue( $slots->getSlot( 'other' )->isInherited() );
144 $this->assertSame( $parentSlots['some']->getContent(), $slots->getContent( 'some' ) );
145 $this->assertSame( $parentSlots['other']->getContent(), $slots->getContent( 'other' ) );
154 $slots = new MutableRevisionSlots( [], $callback );
157 $slots->setSlot( $slot );
160 $slots->setContent( 'other', new WikitextContent( 'Y' ) );
164 $slots->inheritSlot( $slot );
167 $slots->removeSlot( SlotRecord::MAIN );