public function testCaching() { $this->_themeObject->getCSSURL("style.css"); $themename = $this->_themeObject->__toString(); $pathname = "cache/themes/{$themename}/css/style.css"; // test if it's in the local cache $this->assertTrue(isset($this->_themeObject->_cssCache['style.css'])); $this->assertEquals($this->_themeObject->_cssCache['style.css'], $pathname); // 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($this->_themeObject->_cssCache['style.css'], $pathname); // 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'])); }