public function testCaching() { $this->_themeObject->getCSSURL("style.css"); $themename = $this->_themeObject->__toString(); $pathname = "themes/{$themename}/css/style.css"; // test if it's in the local cache $this->assertTrue(isset($this->_themeObject->_cssCache['style.css'])); $this->assertEquals($pathname, $this->_themeObject->_cssCache['style.css']); // destroy object $this->_themeObject->__destruct(); unset($this->_themeObject); // now recreate object SugarThemeRegistry::add($this->_themeDef); $this->_themeObject = SugarThemeRegistry::get($this->_themeDef['dirName']); // should still be in local cache $this->assertTrue(isset($this->_themeObject->_cssCache['style.css'])); $this->assertEquals($pathname, $this->_themeObject->_cssCache['style.css']); // now, let's tell the theme we want to clear the cache on destroy $this->_themeObject->clearCache(); // destroy object $this->_themeObject->__destruct(); unset($this->_themeObject); // now recreate object SugarThemeRegistry::add($this->_themeDef); $this->_themeObject = SugarThemeRegistry::get($this->_themeDef['dirName']); // should not be in local cache $this->assertFalse(isset($this->_themeObject->_cssCache['style.css'])); }