public function testRealTranslation()
 {
     $this->markTestIncomplete();
     $input = "trlKwf('Save')";
     $expected = "trl('Speichern')";
     $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'de');
     $this->assertEquals($expected, $result);
     $input = "trlpKwf('reply', 'replies', 2)";
     $expected = "trlp('Antwort', 'Antworten', 2)";
     $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'de');
     $this->assertEquals($expected, $result);
     $input = "trlKwf('Save')";
     $expected = "trl('Save')";
     $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'en');
     $this->assertEquals($expected, $result);
     $input = "trlcKwf('time', 'On')";
     $expected = "trl('Am')";
     $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'de');
     $this->assertEquals($expected, $result);
     $input = "trlcKwf('forum', 'Location')";
     $expected = "trl('Location')";
     $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'en');
     $this->assertEquals($expected, $result);
     $input = str_repeat(' ', 10015) . " trlKwf('Info')";
     $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'de');
     $this->assertNotContains('trlKwf', $result);
 }
Example #2
0
 protected function _getContents($language, $pack)
 {
     if ($pack) {
         $compiledContents = $this->_getCompliedContents();
         $map = $compiledContents['contents'];
         $trlElements = $compiledContents['trlElements'];
     } else {
         $contents = $this->_getRawContents(null);
         $map = Kwf_SourceMaps_SourceMap::createEmptyMap($contents);
         $trlElements = Kwf_Trl_Parser_JsParser::parseContent($contents);
         unset($contents);
     }
     if ($trlElements) {
         $buildFile = false;
         if ($pack) {
             $buildFile = "cache/assets/" . $this->getFileNameWithType() . '-' . $language;
             $dir = dirname($buildFile);
             if (!file_exists($dir)) {
                 mkdir($dir, 0777, true);
             }
         }
         if (!$buildFile || !file_exists("{$buildFile}.buildtime") || filemtime($this->getAbsoluteFileName()) != file_get_contents("{$buildFile}.buildtime")) {
             foreach ($this->_getTrlReplacements($trlElements, $map->getFileContents(), $language) as $value) {
                 $map->stringReplace($value['search'], $value['replace']);
             }
             if ($buildFile) {
                 $map->save("{$buildFile}.map", $buildFile);
                 file_put_contents("{$buildFile}.buildtime", filemtime($this->getAbsoluteFileName()));
             }
         } else {
             $map = new Kwf_SourceMaps_SourceMap(file_get_contents("{$buildFile}.map"), file_get_contents("{$buildFile}"));
         }
     }
     return $map;
 }