assertInstanceOf('PhpOffice\\PhpWord\\Element\\Field', $oField); } /** * New instance with type */ public function testConstructWithType() { $oField = new Field('DATE'); $this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Field', $oField); $this->assertEquals('DATE', $oField->getType()); } /** * New instance with type and properties */ public function testConstructWithTypeProperties() { $oField = new Field('DATE', array('dateformat' => 'd-M-yyyy')); $this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Field', $oField); $this->assertEquals('DATE', $oField->getType()); $this->assertEquals(array('dateformat' => 'd-M-yyyy'), $oField->getProperties()); } /** * New instance with type and properties and options */ public function testConstructWithTypePropertiesOptions() { $oField = new Field('DATE', array('dateformat' => 'd-M-yyyy'), array('SakaEraCalendar', 'PreserveFormat')); $this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Field', $oField); $this->assertEquals('DATE', $oField->getType()); $this->assertEquals(array('dateformat' => 'd-M-yyyy'), $oField->getProperties()); $this->assertEquals(array('SakaEraCalendar', 'PreserveFormat'), $oField->getOptions()); } /** * New instance with type and properties and options and text */ public function testConstructWithTypePropertiesOptionsText() { $oField = new Field('XE', array(), array('Bold', 'Italic'), 'FieldValue'); $this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Field', $oField); $this->assertEquals('XE', $oField->getType()); $this->assertEquals(array(), $oField->getProperties()); $this->assertEquals(array('Bold', 'Italic'), $oField->getOptions()); $this->assertEquals('FieldValue', $oField->getText()); } /** * New instance with type and properties and options and text as TextRun */ public function testConstructWithTypePropertiesOptionsTextAsTextRun() { $textRun = new TextRun(); $textRun->addText('test string'); $oField = new Field('XE', array(), array('Bold', 'Italic'), $textRun); $this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Field', $oField); $this->assertEquals('XE', $oField->getType()); $this->assertEquals(array(), $oField->getProperties()); $this->assertEquals(array('Bold', 'Italic'), $oField->getOptions()); $this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\TextRun', $oField->getText()); } public function testConstructWithOptionValue() { $oField = new Field('INDEX', array(), array('\\c "3" \\h "A"')); $this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\Field', $oField); $this->assertEquals('INDEX', $oField->getType()); $this->assertEquals(array(), $oField->getProperties()); $this->assertEquals(array('\\c "3" \\h "A"'), $oField->getOptions()); } /** * Test setType exception * * @expectedException \InvalidArgumentException * @expectedExceptionMessage Invalid type */ public function testSetTypeException() { $object = new Field(); $object->setType('foo'); } /** * Test setProperties exception * * @expectedException \InvalidArgumentException * @expectedExceptionMessage Invalid property */ public function testSetPropertiesException() { $object = new Field('PAGE'); $object->setProperties(array('foo' => 'bar')); } /** * Test setOptions exception * * @expectedException \InvalidArgumentException * @expectedExceptionMessage Invalid option */ public function testSetOptionsException() { $object = new Field('PAGE'); $object->setOptions(array('foo' => 'bar')); } /** * Test setText exception * * @expectedException \InvalidArgumentException * @expectedExceptionMessage Invalid text */ public function testSetTextException() { $object = new Field('XE'); $object->setText(array()); } }