Ejemplo n.º 1
0
 /**
  * Registers the filter to compile an array of files.
  *
  * @param T_Code_Group  group of files to compile
  * @return T_Compile  fluent interface
  */
 function compile(T_Code_Files $files)
 {
     // get source code
     $src = '';
     foreach ($files->getPaths() as $p) {
         $src .= file_get_contents($p);
     }
     // issue non-blocking request to google closure API to parse and optimize
     // the code
     $level = $files->isComplete() ? 'ADVANCED_OPTIMIZATIONS' : 'SIMPLE_OPTIMIZATIONS';
     $url = 'http://closure-compiler.appspot.com/compile';
     $params = array('output_format' => 'text', 'compilation_level' => $level, 'js_code' => $src, 'output_info' => 'compiled_code');
     $request = new T_Curl_Post($url, $params);
     $this->curl->queue($request);
     $this->request[] = $request;
     return $this;
 }
Ejemplo n.º 2
0
 function testCanLimitQueueToAMaxConnectionThreshold()
 {
     $rs = $this->getRequests();
     $q = new T_Curl_Queue(count($rs) - 1);
     foreach ($rs as $r) {
         $q->queue($r);
     }
     foreach ($rs as $r) {
         $q->waitFor($r);
         $this->assertTrue(strlen($r->getBody()) > 0);
     }
 }