makeColumn(true); $val = new Value($col, ['one', 'two']); $this->assertSame($col, $val->getColumn()); $this->assertEquals(['one', 'two'], $val->getValue()); $val->setValue(['one', '', 'two', '']); $this->assertEquals(['one', 'two'], $val->getValue()); $val->setValue(['one', '0', 'two']); $this->assertEquals(['one', '0', 'two'], $val->getValue()); $val->setValue(['', null, false, " \n"]); $this->assertEquals([], $val->getValue()); $val->setValue(''); $this->assertEquals([], $val->getValue()); $val->setValue('0'); $this->assertEquals(['0'], $val->getValue()); $val->setValue(0); $this->assertEquals(['0'], $val->getValue()); $val->setValue([]); $this->assertEquals([], $val->getValue()); } /** * Test setting and getting single values */ public function test_single() { $col = $this->makeColumn(false); $val = new Value($col, 'one'); $this->assertSame($col, $val->getColumn()); $this->assertEquals('one', $val->getValue()); $val->setValue('0'); $this->assertEquals('0', $val->getValue()); $val->setValue(''); $this->assertEquals('', $val->getValue()); $val->setValue(" \n"); $this->assertEquals('', $val->getValue()); $val->setValue(null); $this->assertEquals('', $val->getValue()); $val->setValue(false); $this->assertEquals('', $val->getValue()); $val->setValue(['what', 'the', 'foo']); $this->assertEquals('what', $val->getValue()); $val->setValue([]); $this->assertEquals('', $val->getValue()); $val->setValue(" * hi\n * ho"); $this->assertEquals(" * hi\n * ho", $val->getValue()); } /** * empty values should not render */ public function test_blankrender() { $R = new \Doku_Renderer_xhtml(); $val = new Value($this->makeColumn(false), ''); $val->render($R, 'xhtml'); $this->assertEquals('', $R->doc); $val = new Value($this->makeColumn(true), array()); $val->render($R, 'xhtml'); $this->assertEquals('', $R->doc); } }