Example #1
0
 /**
  * Tests that plugins are sorted correctly then trying to get them via Collection::getPlugins().
  */
 public function testPluginPrioritySorting()
 {
     $collection = new Collection();
     $plugin = $this->createPluginMock();
     $collection->addPlugin($plugin, 0);
     $collection->addPlugin($plugin, 0);
     $collection->addPlugin($plugin, -2);
     $collection->addPlugin($plugin, -5);
     $collection->addPlugin($plugin, 5);
     $collection->addPlugin($plugin, 100);
     $collection->addPlugin($plugin, 100);
     $plugins = $collection->getPlugins();
     $this->assertEquals(array_keys($plugins), [-5, -2, 0, 5, 100]);
     $this->assertCount(1, $plugins[-5]);
     $this->assertCount(1, $plugins[-2]);
     $this->assertCount(2, $plugins[0]);
     $this->assertCount(1, $plugins[5]);
     $this->assertCount(2, $plugins[100]);
 }