public function testPriority()
{
$definitions = ['high' => ['regexps' => ['(^.*/.*$)'], 'priority' => 10], 'low' => ['regexps' => ['(^application/.*$)'], 'priority' => -10], 'normal_defined' => ['regexps' => ['(^application/json$)'], 'priority' => 0], 'normal' => ['regexps' => ['(^application/xml$)']]];
$expectedPriority = ['high', 'normal_defined', 'normal', 'low'];
$this->setDefinition('ezpublish_rest.output.visitor.dispatcher', new Definition());
foreach ($definitions as $name => $data) {
$definition = new Definition();
$definition->addTag('ezpublish_rest.output.visitor', $data);
$this->setDefinition('ezpublish_rest.output.visitor.test_' . $name, $definition);
}
$this->compile();
$visitorsInOrder = $this->getVisitorsInRegistrationOrder();
foreach ($expectedPriority as $index => $priority) {
self::assertEquals('ezpublish_rest.output.visitor.test_' . $priority, $visitorsInOrder[$index]);
}
}