/** * Modifies the configuration. * * @param \SimpleXMLElement $xml * @return \Geissler\CSL\Date\DatePart */ public function modify(\SimpleXMLElement $xml) { $this->formatting->modify($xml); $this->textCase->modify($xml); $this->affix->modify($xml); foreach ($xml->attributes() as $name => $value) { switch ($name) { case 'name': $this->render->modify($xml); break; case 'range-delimiter': $this->delimiter = (string) $value; break; } } return $this; }
/** * @covers Geissler\CSL\Rendering\TextCase::modify * @covers Geissler\CSL\Rendering\TextCase::render */ public function testRenderModified() { $locale = Factory::locale(); $locale->readFile('de'); Container::setLocale($locale); $this->initElement('<text variable="title" text-case="sentence"/>'); $xml = '<text variable="title" text-case="uppercase"/>'; $this->assertInstanceOf('\\Geissler\\CSL\\Rendering\\TextCase', $this->object->modify(new \SimpleXMLElement($xml))); $this->assertEquals('THIS IS A PEN THAT IS A SMITH PENCIL', $this->object->render('this is a Pen that is a Smith Pencil')); }