public function testClear()
 {
     $r = new cfhCompile_ClassRegistry();
     $this->assertNull($r->fetch('Test'));
     $r->register($this->mockClass);
     $this->assertSame($this->mockClass, $r->fetch('Test'));
     $this->assertEquals(1, $r->count());
     $r->clear();
     $this->assertNull($r->fetch('Test'));
     $this->assertEquals(0, $r->count());
 }
Esempio n. 2
0
 protected function checkDependancysAndWrite(cfhCompile_Class_Interface $class)
 {
     $canWrite = TRUE;
     foreach ($class->getDependancys() as $depend) {
         if (!isset($this->classesWritten[$depend])) {
             $canWrite = FALSE;
             if (!isset($this->classChildren[$depend])) {
                 $this->classChildren[$depend] = array();
             }
             $this->classChildren[$depend][] = $class->getName();
         }
     }
     if ($canWrite) {
         $this->write($class);
         if (isset($this->classChildren[$class->getName()])) {
             foreach ($this->classChildren[$class->getName()] as $child) {
                 $this->checkDependancysAndWrite($this->classRegistry->fetch($child));
             }
         }
         unset($this->classChildren[$class->getName()]);
     }
 }