public function testIssetWithProxySiblings()
 {
     $fnf = new Kwf_Model_FnF(array('columns' => array('id', 'name', 'data'), 'data' => array(array('id' => 4, 'name' => 'foo', 'data' => json_encode(array('name1' => 'foo1'))))));
     $model = new Kwf_Model_Proxy(array('proxyModel' => $fnf, 'siblingModels' => array(new Kwf_Model_Field(array('fieldName' => 'data', 'columns' => array('name1'))))));
     $this->assertEquals(array('id', 'name', 'data'), $fnf->getColumns());
     $this->assertTrue($fnf->hasColumn('id'));
     $this->assertTrue($fnf->hasColumn('name'));
     $this->assertFalse($fnf->hasColumn('name1'));
     $this->assertEquals(array('id', 'name', 'data', 'name1'), $model->getColumns());
     $this->assertTrue($model->hasColumn('id'));
     $this->assertTrue($model->hasColumn('name'));
     $this->assertTrue($model->hasColumn('name1'));
     $row = $model->getRow(4);
     // isset
     $this->assertTrue(isset($row->name));
     $this->assertFalse(isset($row->bar));
     $this->assertTrue(isset($row->name1));
     // get
     $this->assertEquals(4, $row->id);
     $this->assertEquals('foo', $row->name);
     $this->assertEquals('foo1', $row->name1);
     // set
     $row->name = 'bar';
     $this->assertEquals('bar', $row->name);
 }
Beispiel #2
0
 public function testFnFFieldField()
 {
     $model = new Kwf_Model_FnF(array('columns' => array('id', 'foo', 'data'), 'data' => array(array('id' => 1, 'foo' => 'bar', 'data' => json_encode(array('blub' => 'blub', 'data' => json_encode(array('blub1' => 'blub1')))))), 'siblingModels' => array(new Kwf_Model_Field(array('fieldName' => 'data', 'columns' => array('blub', 'data'), 'siblingModels' => array(new Kwf_Model_Field(array('fieldName' => 'data', 'columns' => array('blub1', 'blub2')))))))));
     $this->assertTrue($model->hasColumn('foo'));
     $this->assertTrue($model->hasColumn('blub'));
     $this->assertTrue($model->hasColumn('blub1'));
     $this->assertTrue($model->hasColumn('blub2'));
     $row = $model->getRow(1);
     $this->assertEquals($row->foo, 'bar');
     $this->assertEquals($row->blub, 'blub');
     $this->assertEquals($row->blub1, 'blub1');
     $row->blub2 = 'blub2';
     $row->save();
     $this->assertEquals($model->getData(), array(array('id' => 1, 'foo' => 'bar', 'data' => json_encode(array('blub' => 'blub', 'data' => json_encode(array('blub1' => 'blub1', 'blub2' => 'blub2')))))));
     $row = $model->getRow(1);
     $this->assertEquals($row->blub2, 'blub2');
 }