Example #1
0
 /**
  * Here we add a new nextTick function as we're in the middle of a current
  * nextTick.
  */
 function testNextTickStacking()
 {
     $loop = new Loop();
     $check = 0;
     $loop->nextTick(function () use(&$check, $loop) {
         $loop->nextTick(function () use(&$check) {
             $check++;
         });
         $check++;
     });
     $loop->run();
     $this->assertEquals(2, $check);
 }
Example #2
0
        if (!$this->levels->isEmpty()) {
            list($lastLevel, $lastIndex) = $this->levels->peek();
            $comma = ',';
        }
        $level = strlen($row[0]);
        if ($level == $lastLevel) {
            $index = $lastIndex + 1;
            $numClose++;
        } elseif ($level > $lastLevel) {
            $index = 1;
        } elseif ($level < $lastLevel) {
            $numClose = 1 + ($lastLevel - $level);
            // find where we last branched off
            do {
                list($lastLevel, $index) = $this->levels->pop();
            } while ($level != $lastLevel);
            $index++;
        }
        $pad = str_repeat("\t", $level);
        echo str_repeat(')', $numClose) . $comma . "\n{$pad}{$index}, new Hash(\n{$pad}\t'contents', '" . (isset($row[1]) ? str_replace('\'', '\\\'', $row[1]) : '') . "',\n{$pad}\t'uri', '" . (isset($row[2]) ? str_replace('\'', '\\\'', $row[2]) : '') . "',\n{$pad}\t'target', '" . (isset($row[4]) ? $row[4] : '_self') . "',\n{$pad}\t'statusText', '" . (isset($row[3]) ? str_replace('\'', '\\\'', $row[3]) : '') . "'";
        $this->levels->push(array($level, $index));
    }
    function finish($total)
    {
        list($lastLevel, ) = $this->levels->peek();
        $numClose = $lastLevel;
        echo str_repeat(')', $numClose) . "\n));";
    }
}
Loop::run(new DataFileIterator(new DataFile('layersmenu.txt', new DataFileReader(false))), new MenuConverter('domMenu_main'));