public function testSubmitAdvancedForm() { $submittedData = ['title' => 'The title', 'description' => 'The description']; $title = new Form('title'); $description = new Form('description'); $form = new Form('product'); $form->add($title); $form->add($description); $form->submit($submittedData); $this->assertSame($title, $form->get('title')); $this->assertSame($description, $form->get('description')); $this->assertNull($title->get('foo')); $this->assertNull($description->get('foo')); $this->assertNull($form->getParent()); $this->assertSame($form, $title->getParent()); $this->assertSame($form, $description->getParent()); $this->assertSame('product', $form->getName()); $this->assertSame('title', $title->getName()); $this->assertSame('description', $description->getName()); $this->assertTrue($form->isRoot()); $this->assertFalse($title->isRoot()); $this->assertFalse($description->isRoot()); $this->assertTrue($form->isSubmitted()); $this->assertTrue($title->isSubmitted()); $this->assertTrue($description->isSubmitted()); $this->assertSame($submittedData, $form->getData()); $this->assertSame('The title', $title->getData()); $this->assertSame('The description', $description->getData()); $this->assertNull($form->getFiles()); $this->assertNull($title->getFiles()); $this->assertNull($description->getFiles()); }