Beispiel #1
0
 /**
  * Merges two styles
  *
  * Every element has a cloned style object. However, the style will usually 
  * change very litte element-to-element. Thus, it's a waste of space to have 
  * hundreds of identical objects in memory.
  *
  * I'll merge this style object with $style. If a state is identical between 
  * the two, I'll set this style's property to reference $style's property.
  *
  * @param  Jstewmc\Rtf\Style  $style  the reference style
  * @return  self
  * @since  0.1.0
  */
 public function merge(Style $style)
 {
     if ($style->getDocument() == $this->document) {
         $this->document = $style->getDocument();
     }
     if ($style->getSection() == $this->section) {
         $this->section = $style->getSection();
     }
     if ($style->getParagraph() == $this->paragraph) {
         $this->paragraph = $style->getParagraph();
     }
     if ($style->getCharacter() == $this->character) {
         $this->character = $style->getCharacter();
     }
     return;
 }
Beispiel #2
0
 /**
  * merge() should merge styles if the states are the same
  */
 public function testMerge_doesMergeStyles_ifStatesAreSame()
 {
     $style1 = new Style();
     $style2 = new Style();
     $style2->merge($style1);
     $this->assertSame($style1->getDocument(), $style2->getDocument());
     $this->assertSame($style1->getSection(), $style2->getSection());
     $this->assertSame($style1->getParagraph(), $style2->getParagraph());
     $this->assertSame($style1->getCharacter(), $style2->getCharacter());
     return;
 }