function RulesTestCase::testSorting

Same name in other branches
  1. 8.x-3.x d7-tests/rules_test_case.test \RulesTestCase::testSorting()

Tests sorting rule elements.

File

tests/rules.test, line 422

Class

RulesTestCase
Rules test cases.

Code

public function testSorting() {
    $rule = $this->createTestRule();
    $conditions = $rule->conditions();
    $conditions[0]->weight = 10;
    $conditions[2]->weight = 10;
    $id[0] = $conditions[0]->elementId();
    $id[1] = $conditions[1]->elementId();
    $id[2] = $conditions[2]->elementId();
    // For testing use a deep sort, even if not necessary here.
    $rule->sortChildren(TRUE);
    $conditions = $rule->conditions();
    $this->assertEqual($conditions[0]->elementId(), $id[1], 'Condition sorted correctly.');
    $this->assertEqual($conditions[1]->elementId(), $id[0], 'Condition sorted correctly.');
    $this->assertEqual($conditions[2]->elementId(), $id[2], 'Condition sorted correctly.');
}