public function testParsing() { /* @var TableFormElementDefinition $formElementDefinition */ $formElementDefinition = Parser::parseFormElementDefinition('Table = table (A,B)'); $this->assertInstanceOf('CMDL\\FormElementDefinitions\\TableFormElementDefinition', $formElementDefinition); $this->assertEquals('Table', $formElementDefinition->getLabel()); $this->assertEquals('table', $formElementDefinition->getName()); $this->assertFalse($formElementDefinition->isMandatory()); $this->assertFalse($formElementDefinition->isUnique()); $this->assertEquals(array(1 => 'A', 2 => 'B'), $formElementDefinition->getColumnHeadings()); $this->assertEquals(array(), $formElementDefinition->getWidths()); /* @var TableFormElementDefinition $formElementDefinition */ $formElementDefinition = Parser::parseFormElementDefinition('Table = table (A,B) (10,10,50)'); $this->assertInstanceOf('CMDL\\FormElementDefinitions\\TableFormElementDefinition', $formElementDefinition); $this->assertEquals(array(1 => 'A', 2 => 'B'), $formElementDefinition->getColumnHeadings()); $this->assertEquals(array(1 => '10', 2 => '10', 3 => '50'), $formElementDefinition->getWidths()); }
public function testRepositoryReference() { /** @var ReferenceFormElementDefinition $formElementDefinition */ $formElementDefinition = Parser::parseFormElementDefinition('prop1 = reference news'); $this->assertInstanceOf('CMDL\\FormElementDefinitions\\ReferenceFormElementDefinition', $formElementDefinition); $this->assertEquals('dropdown', $formElementDefinition->getType()); $this->assertEquals('news', $formElementDefinition->getContentType()); $this->assertEquals('default', $formElementDefinition->getWorkspace()); $this->assertEquals('name', $formElementDefinition->getOrder()); $this->assertFalse($formElementDefinition->hasRepositoryName()); /** @var ReferenceFormElementDefinition $formElementDefinition */ $formElementDefinition = Parser::parseFormElementDefinition('prop1 = reference a.news'); $this->assertInstanceOf('CMDL\\FormElementDefinitions\\ReferenceFormElementDefinition', $formElementDefinition); $this->assertEquals('dropdown', $formElementDefinition->getType()); $this->assertEquals('news', $formElementDefinition->getContentType()); $this->assertEquals('default', $formElementDefinition->getWorkspace()); $this->assertEquals('name', $formElementDefinition->getOrder()); $this->assertTrue($formElementDefinition->hasRepositoryName()); /** @var MultiReferenceFormElementDefinition $formElementDefinition */ $formElementDefinition = Parser::parseFormElementDefinition('prop1 = multireference news'); $this->assertInstanceOf('CMDL\\FormElementDefinitions\\MultiReferenceFormElementDefinition', $formElementDefinition); $this->assertEquals('list', $formElementDefinition->getType()); $this->assertEquals('news', $formElementDefinition->getContentType()); $this->assertEquals('default', $formElementDefinition->getWorkspace()); $this->assertEquals('name', $formElementDefinition->getOrder()); $this->assertFalse($formElementDefinition->hasRepositoryName()); /** @var MultiReferenceFormElementDefinition $formElementDefinition */ $formElementDefinition = Parser::parseFormElementDefinition('prop1 = multireference a.news'); $this->assertInstanceOf('CMDL\\FormElementDefinitions\\MultiReferenceFormElementDefinition', $formElementDefinition); $this->assertEquals('list', $formElementDefinition->getType()); $this->assertEquals('news', $formElementDefinition->getContentType()); $this->assertEquals('default', $formElementDefinition->getWorkspace()); $this->assertEquals('name', $formElementDefinition->getOrder()); $this->assertTrue($formElementDefinition->hasRepositoryName()); }
public function testCustomFormElementDefinition() { $formElementDefinition = Parser::parseFormElementDefinition('prop1 = custom video youtube (360p,720p,1080p)'); $this->assertInstanceOf('CMDL\\FormElementDefinitions\\CustomFormElementDefinition', $formElementDefinition); $this->assertEquals('video', $formElementDefinition->getType()); $this->assertEquals('youtube', $formElementDefinition->getParam(1)); $this->assertCount(3, $formElementDefinition->getList(1)); }