瀏覽代碼

Merge remote branch 'vicb/nitpicking'

Fabien Potencier 14 年之前
父節點
當前提交
3e389f8666

+ 1 - 4
src/Symfony/Bundle/FrameworkBundle/Templating/Helper/CodeHelper.php

@@ -80,10 +80,7 @@ class CodeHelper extends Helper
     {
         if (false !== strpos($method, '::')) {
             list($class, $method) = explode('::', $method);
-
-            $parts  = explode('\\', $class);
-            $short  = array_pop($parts);
-            $result = sprintf("<abbr title=\"%s\">%s</abbr>::%s()", $class, $short, $method);
+            $result = sprintf("%s::%s()", $this->abbrClass($class), $method);
         } else if ('Closure' === $method) {
             $result = sprintf("<abbr title=\"%s\">%s</abbr>", $method, $method);
         } else {

+ 58 - 0
src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/CodeHelperTest.php

@@ -0,0 +1,58 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Bundle\FrameworkBundle\Tests\Templating\Helper;
+use Symfony\Bundle\FrameworkBundle\Templating\Helper\CodeHelper;
+
+class TemplateTest extends \PHPUnit_Framework_TestCase
+{
+    protected static $helper;
+
+    public static function setUpBeforeClass()
+    {
+        self::$helper = new CodeHelper('format', '/root');
+    }
+
+    /**
+     * @dataProvider getClassNameProvider
+     */
+    public function testGettingClassAbbreviation($class, $abbr)
+    {
+        $this->assertEquals(self::$helper->abbrClass($class), $abbr);
+    }
+
+    /**
+     * @dataProvider getMethodNameProvider
+     */
+    public function testGettingMethodAbbreviation($method, $abbr)
+    {
+        $this->assertEquals(self::$helper->abbrMethod($method), $abbr);
+    }
+
+    public function getClassNameProvider()
+    {
+        return array(
+            array('F\Q\N\Foo', '<abbr title="F\Q\N\Foo">Foo</abbr>'),
+            array('Bare', '<abbr title="Bare">Bare</abbr>'),
+        );
+    }
+
+    public function getMethodNameProvider()
+    {
+        return array(
+            array('F\Q\N\Foo::Method', '<abbr title="F\Q\N\Foo">Foo</abbr>::Method()'),
+            array('Bare::Method', '<abbr title="Bare">Bare</abbr>::Method()'),
+            array('Closure', '<abbr title="Closure">Closure</abbr>'),
+            array('Method', '<abbr title="Method">Method</abbr>()')
+        );
+    }
+    
+}

+ 1 - 3
src/Symfony/Component/Routing/Loader/XmlFileLoader.php

@@ -153,9 +153,7 @@ class XmlFileLoader extends FileLoader
      */
     protected function validate(\DOMDocument $dom)
     {
-        $parts = explode('/', str_replace('\\', '/', __DIR__.'/schema/routing/routing-1.0.xsd'));
-        $drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : '';
-        $location = 'file:///'.$drive.implode('/', $parts);
+        $location = __DIR__.'/schema/routing/routing-1.0.xsd';
 
         $current = libxml_use_internal_errors(true);
         if (!$dom->schemaValidate($location)) {