Sfoglia il codice sorgente

[RELEASE] backport fixes from 1.10 release branch

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@22280 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 15 anni fa
parent
commit
6348050248

+ 3 - 3
library/Zend/Dojo/BuildLayer.php

@@ -498,9 +498,9 @@ class Zend_Dojo_BuildLayer
 
         $profile = $profileOptions;
         $profile['layers'] = array(array(
-            'name' => $layerScriptPath,
+            'name'              => $layerScriptPath,
             'layerDependencies' => array(),
-            'dependencies' => array($layerName),
+            'dependencies'      => array($layerName),
         ));
         $profile['prefixes'] = array_values($profilePrefixes);
 
@@ -529,7 +529,7 @@ class Zend_Dojo_BuildLayer
     {
         require_once 'Zend/Json.php';
         $profile = Zend_Json::encode($profile);
-        $profile = preg_replace('/"([^"]*)":/', '$1:', $profile);
+        $profile = trim($profile, '"');
         $profile = preg_replace('/' . preg_quote('\\') . '/', '', $profile);
         return $profile;
     }

+ 3 - 1
library/Zend/Locale.php

@@ -807,7 +807,9 @@ class Zend_Locale
      */
     public static function isLocale($locale, $strict = false, $compatible = true)
     {
-        if (($locale instanceof Zend_Locale) || (array_key_exists($locale, self::$_localeData))) {
+        if (($locale instanceof Zend_Locale) 
+            || (is_array($locale) && array_key_exists($locale, self::$_localeData))
+        ) {
             return true;
         }
 

+ 18 - 6
tests/Zend/Dojo/BuildLayerTest.php

@@ -62,6 +62,11 @@ class Zend_Dojo_BuildLayerTest extends PHPUnit_Framework_TestCase
         Zend_Dojo::enableView($this->view);
     }
 
+    public function tearDown()
+    {
+        unset($this->view);
+    }
+
     public function testViewShouldBeNullByDefault()
     {
         $build = new Zend_Dojo_BuildLayer();
@@ -310,8 +315,8 @@ class Zend_Dojo_BuildLayerTest extends PHPUnit_Framework_TestCase
     public function testGeneratedDojoBuildProfileWithNoExtraLayerDependencies()
     {
         $build = new Zend_Dojo_BuildLayer(array(
-            'view' => $this->view,
-            'layerName' => 'zend.main',
+            'layerScriptPath' => '../zend/main.js',
+            'layerName'       => 'zend.main',
         ));
         $profile  = $build->generateBuildProfile();
         $expected = file_get_contents(dirname(__FILE__) . '/_files/BuildProfile.js');
@@ -319,7 +324,10 @@ class Zend_Dojo_BuildLayerTest extends PHPUnit_Framework_TestCase
         $decodedProfile  = $this->decodeProfileJson($profile);
         $decodedExpected = $this->decodeProfileJson($expected);
 
-        $this->assertEquals($decodedExpected, $decodedProfile, 'Expected: ' . $expected . "\nReceived: " . $profile . "\n");
+        foreach ($decodedExpected as $key => $value) {
+            $this->assertArrayHasKey($key, $decodedProfile);
+            $this->assertEquals($value, $decodedProfile[$key], $key . ' is not same');
+        }
     }
 
     public function testGeneratedDojoBuildProfileWithLayerDependencies()
@@ -327,8 +335,9 @@ class Zend_Dojo_BuildLayerTest extends PHPUnit_Framework_TestCase
         $this->view->dojo()->requireModule('dijit.layout.BorderContainer')
                            ->requireModule('dojox.layout.ContentPane');
         $build = new Zend_Dojo_BuildLayer(array(
-            'view' => $this->view,
-            'layerName' => 'zend.main',
+            'layerScriptPath' => '../zend/main.js',
+            'view'            => $this->view,
+            'layerName'       => 'zend.main',
         ));
         $profile  = $build->generateBuildProfile();
         $expected = file_get_contents(dirname(__FILE__) . '/_files/BuildProfileWithDependencies.js');
@@ -336,7 +345,10 @@ class Zend_Dojo_BuildLayerTest extends PHPUnit_Framework_TestCase
         $decodedProfile  = $this->decodeProfileJson($profile);
         $decodedExpected = $this->decodeProfileJson($expected);
 
-        $this->assertEquals($decodedExpected, $decodedProfile, 'Expected: ' . $expected . "\nReceived: " . $profile . "\n");
+        foreach ($decodedExpected as $key => $value) {
+            $this->assertArrayHasKey($key, $decodedProfile);
+            $this->assertEquals($value, $decodedProfile[$key]);
+        }
     }
 
     protected function stripWhitespace($string)

+ 13 - 13
tests/Zend/Dojo/_files/BuildProfile.js

@@ -1,21 +1,21 @@
 dependencies = {
-    action:        "release",
-    releaseName:   "zend",
-    loader:        "default",
-    cssOptimize:   "comments",
-    optimize:      "shrinksafe",
-    layerOptimize: "shrinksafe",
-    copyTests:     false,
-    layers: [
+    "action":        "release",
+    "releaseName":   "zend",
+    "loader":        "default",
+    "cssOptimize":   "comments",
+    "optimize":      "shrinksafe",
+    "layerOptimize": "shrinksafe",
+    "copyTests":     false,
+    "layers": [
         {
-            name: "../zend/main.js",
-            layerDependencies: [],
-            dependencies: [
-                "zend.main",
+            "name": "../zend/main.js",
+            "layerDependencies": [],
+            "dependencies": [
+                "zend.main"
             ]
         }
     ],
-    prefixes: [
+    "prefixes": [
         [ "zend", "../zend" ]
     ]
 };

+ 15 - 15
tests/Zend/Dojo/_files/BuildProfileWithDependencies.js

@@ -1,23 +1,23 @@
 dependencies = {
-    action:        "release",
-    releaseName:   "zend",
-    loader:        "default",
-    cssOptimize:   "comments",
-    optimize:      "shrinksafe",
-    layerOptimize: "shrinksafe",
-    copyTests:     false,
-    layers: [
+    "action":        "release",
+    "releaseName":   "zend",
+    "loader":        "default",
+    "cssOptimize":   "comments",
+    "optimize":      "shrinksafe",
+    "layerOptimize": "shrinksafe",
+    "copyTests":     false,
+    "layers": [
         {
-            name: "../zend/main.js",
-            layerDependencies: [],
-            dependencies: [
-                "zend.main",
+            "name": "../zend/main.js",
+            "layerDependencies": [],
+            "dependencies": [
+                "zend.main"
             ]
         }
     ],
-    prefixes: [
+    "prefixes": [
+        [ "zend", "../zend" ],
         [ "dijit", "../dijit" ],
-        [ "dojox", "../dojox" ],
-        [ "zend", "../zend" ]
+        [ "dojox", "../dojox" ]
     ]
 };