浏览代码

[FrameworkBundle] Fix for setting a custom file link format (fixes #1652)

Victor Berchet 14 年之前
父节点
当前提交
df34e0eb29

+ 3 - 3
src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

@@ -311,11 +311,11 @@ class FrameworkExtension extends Extension
         $loader->load('templating_php.xml');
 
         $links = array(
-            'textmate' => 'txmt://open?url=file://%f&line=%l',
-            'macvim'   => 'mvim://open?url=file://%f&line=%l',
+            'textmate' => 'txmt://open?url=file://%%f&line=%%l',
+            'macvim'   => 'mvim://open?url=file://%%f&line=%%l',
         );
 
-        $container->setParameter('templating.helper.code.file_link_format', str_replace('%', '%%', isset($links[$ide]) ? $links[$ide] : $ide));
+        $container->setParameter('templating.helper.code.file_link_format', isset($links[$ide]) ? $links[$ide] : $ide);
         $container->setParameter('templating.helper.form.resources', $config['form']['resources']);
 
         if ($container->getParameter('kernel.debug')) {

+ 1 - 0
src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/full.php

@@ -63,4 +63,5 @@ $container->loadFromExtension('framework', array(
         'debug' => true,
         'file_cache_dir' => '%kernel.cache_dir%/annotations',
     ),
+    'ide' => 'file%%link%%format'
 ));

+ 1 - 1
src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/full.xml

@@ -6,7 +6,7 @@
     xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
                         http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
 
-    <framework:config secret="s3cr3t">
+    <framework:config secret="s3cr3t" ide="file%%link%%format">
         <framework:csrf-protection enabled="true" field-name="_csrf" />
         <framework:form />
         <framework:esi enabled="true" />

+ 1 - 0
src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/full.yml

@@ -47,3 +47,4 @@ framework:
         cache:   file
         debug:   true
         file_cache_dir: %kernel.cache_dir%/annotations
+    ide: file%%link%%format

+ 7 - 0
src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

@@ -187,6 +187,13 @@ abstract class FrameworkExtensionTest extends TestCase
         $this->assertInstanceOf('Doctrine\Common\Annotations\FileCacheReader', $container->get('annotation_reader'));
     }
 
+    public function testFileLinkFormat()
+    {
+        $container = $this->createContainerFromFile('full');
+
+        $this->assertEquals('file%link%format', $container->getParameter('templating.helper.code.file_link_format'));
+    }
+
     public function testValidationAnnotations()
     {
         $container = $this->createContainerFromFile('validation_annotations');