/**
  * Test...
  *
  * @covers  JInstaller::setOverwrite
  * @covers  JInstaller::isOverwrite
  *
  * @return void
  */
 public function testIsAndSetOverwrite()
 {
     $this->object->setOverwrite(false);
     $this->assertThat($this->object->isOverwrite(), $this->equalTo(false), 'Get or Set overwrite failed');
     $this->assertThat($this->object->setOverwrite(true), $this->equalTo(false), 'setOverwrite did not return the old value properly.');
     $this->assertThat($this->object->isOverwrite(), $this->equalTo(true), 'getOverwrite did not return the expected value.');
 }
예제 #2
0
 /**
  * Method to check if the extension is present in the filesystem, flags the route as update if so
  *
  * @return  void
  *
  * @since   3.4
  * @throws  RuntimeException
  */
 protected function checkExtensionInFilesystem()
 {
     if (file_exists($this->parent->getPath('extension_root')) && (!$this->parent->isOverwrite() || $this->parent->isUpgrade())) {
         // Look for an update function or update tag
         $updateElement = $this->getManifest()->update;
         // Upgrade manually set or update function available or update tag detected
         if ($this->parent->isUpgrade() || $this->parent->manifestClass && method_exists($this->parent->manifestClass, 'update') || $updateElement) {
             // Force this one
             $this->parent->setOverwrite(true);
             $this->parent->setUpgrade(true);
             if ($this->currentExtensionId) {
                 // If there is a matching extension mark this as an update
                 $this->setRoute('update');
             }
         } elseif (!$this->parent->isOverwrite()) {
             // We didn't have overwrite set, find an update function or find an update tag so lets call it safe
             throw new RuntimeException(JText::sprintf('JLIB_INSTALLER_ABORT_DIRECTORY', JText::_('JLIB_INSTALLER_' . $this->route), $this->type, $this->parent->getPath('extension_root')));
         }
     }
 }