/** * FieldList::changeFieldOrder() should place specified fields in given * order then add any unspecified remainders at the end. Can be given an * array or list of arguments. */ public function testChangeFieldOrder() { $fieldNames = array('A', 'B', 'C', 'D', 'E'); $setArray = new FieldList(); $setArgs = new FieldList(); foreach ($fieldNames as $fN) { $setArray->push(new TextField($fN)); $setArgs->push(new TextField($fN)); } $setArray->changeFieldOrder(array('D', 'B', 'E')); $this->assertEquals(0, $setArray->fieldPosition('D')); $this->assertEquals(1, $setArray->fieldPosition('B')); $this->assertEquals(2, $setArray->fieldPosition('E')); $this->assertEquals(3, $setArray->fieldPosition('A')); $this->assertEquals(4, $setArray->fieldPosition('C')); $setArgs->changeFieldOrder('D', 'B', 'E'); $this->assertEquals(0, $setArgs->fieldPosition('D')); $this->assertEquals(1, $setArgs->fieldPosition('B')); $this->assertEquals(2, $setArgs->fieldPosition('E')); $this->assertEquals(3, $setArgs->fieldPosition('A')); $this->assertEquals(4, $setArgs->fieldPosition('C')); unset($setArray, $setArgs); }