Example #1
0
 public function testRender()
 {
     $element = new Select();
     $this->assertEquals("<select>\n</select>", $element->render());
     $element->setAttribute('id', 'test');
     $this->assertEquals("<select id=\"test\">\n</select>", $element->render());
     $element->setAttribute('class', 'red');
     $this->assertEquals("<select id=\"test\" class=\"red\">\n</select>", $element->render());
     $element->setOption('values', [10 => 'foo', 20 => 'bar']);
     $this->assertEquals("<select id=\"test\" class=\"red\">\n<option value=\"10\">foo</option>\n<option value=\"20\">bar</option>\n</select>", $element->render());
     $element = new Select('category');
     $element->setOption('valueColumn', 'id');
     $collection = new Collection();
     $el1 = new DummyModel();
     $el1->id = 100;
     $el1->title = 'test100';
     $collection->append($el1);
     $el2 = new DummyModel();
     $el2->id = 200;
     $el2->title = 'test200';
     $collection->append($el2);
     $element->setOption('values', $collection);
     $this->assertEquals("<select name=\"category\">\n<option value=\"100\">test100</option>\n<option value=\"200\">test200</option>\n</select>", $element->render());
     $element->setAttribute('id', 'test');
     $this->assertEquals("<select name=\"category\" id=\"test\">\n<option value=\"100\">test100</option>\n<option value=\"200\">test200</option>\n</select>", $element->render());
     $element->setOption('null', true);
     $this->assertEquals("<select name=\"category\" id=\"test\">\n<option value=\"0\">----</option>\n<option value=\"100\">test100</option>\n<option value=\"200\">test200</option>\n</select>", $element->render());
     $element->setSelected(200);
     $this->assertEquals("<select name=\"category\" id=\"test\">\n<option value=\"0\">----</option>\n<option value=\"100\">test100</option>\n<option value=\"200\" selected=\"selected\">test200</option>\n</select>", $element->render());
 }
Example #2
0
 public function testCollect()
 {
     $i1 = new \T4\Core\Std(['id' => 1, 'title' => 'foo']);
     $i2 = new \T4\Core\Std(['id' => 2, 'title' => 'bar']);
     $i3 = new \T4\Core\Std(['id' => 3, 'title' => 'baz']);
     $collection = new Collection();
     $collection->append($i1);
     $collection->append($i2);
     $collection->append($i3);
     $this->assertEquals([new \T4\Core\Std(['id' => 1, 'title' => 'foo']), new \T4\Core\Std(['id' => 2, 'title' => 'bar']), new \T4\Core\Std(['id' => 3, 'title' => 'baz'])], $collection->getArrayCopy());
     $ids = $collection->collect('id');
     $this->assertEquals([1, 2, 3], $ids);
     $titles = $collection->collect(function ($x) {
         return $x->title;
     });
     $this->assertEquals(['foo', 'bar', 'baz'], $titles);
     $collection = new Collection([['id' => 1, 'title' => 'foo'], ['id' => 2, 'title' => 'bar'], ['id' => 3, 'title' => 'baz']]);
     $ids = $collection->collect('id');
     $this->assertEquals([1, 2, 3], $ids);
     $titles = $collection->collect(function ($x) {
         return $x['title'];
     });
     $this->assertEquals(['foo', 'bar', 'baz'], $titles);
 }
Example #3
0
 public function testCall()
 {
     $collection = new Collection();
     $collection->append(new Number(1));
     $collection->append(new Number(2));
     $collection->append(new Number(3));
     $collectionExpected = new Collection();
     $collectionExpected->append(new Number(2));
     $collectionExpected->append(new Number(3));
     $collectionExpected->append(new Number(4));
     $collection->increment();
     $this->assertEquals($collectionExpected, $collection);
 }