Browse Source

Fix indenting detection in JsonManipulator, fixes #1788

Jordi Boggiano 12 years ago
parent
commit
3d953384fa

+ 1 - 1
src/Composer/Json/JsonManipulator.php

@@ -283,7 +283,7 @@ class JsonManipulator
 
     protected function detectIndenting()
     {
-        if (preg_match('{^(\s+)"}', $this->contents, $match)) {
+        if (preg_match('{^(\s+)"}m', $this->contents, $match)) {
             $this->indent = $match[1];
         } else {
             $this->indent = '    ';

+ 17 - 17
tests/Composer/Test/Json/JsonManipulatorTest.php

@@ -311,37 +311,37 @@ class JsonManipulatorTest extends \PHPUnit_Framework_TestCase
     public function testAddRepositoryCanInitializeEmptyRepositories()
     {
         $manipulator = new JsonManipulator('{
-    "repositories": {
-    }
+  "repositories": {
+  }
 }');
 
         $this->assertTrue($manipulator->addRepository('bar', array('type' => 'composer')));
         $this->assertEquals('{
-    "repositories": {
-        "bar": {
-            "type": "composer"
-        }
+  "repositories": {
+    "bar": {
+      "type": "composer"
     }
+  }
 }
 ', $manipulator->getContents());
     }
 
     public function testAddRepositoryCanInitializeFromScratch()
     {
-        $manipulator = new JsonManipulator('{
-    "a": "b"
-}');
+        $manipulator = new JsonManipulator("{
+\t\"a\": \"b\"
+}");
 
         $this->assertTrue($manipulator->addRepository('bar2', array('type' => 'composer')));
-        $this->assertEquals('{
-    "a": "b",
-    "repositories": {
-        "bar2": {
-            "type": "composer"
-        }
-    }
+        $this->assertEquals("{
+\t\"a\": \"b\",
+\t\"repositories\": {
+\t\t\"bar2\": {
+\t\t\t\"type\": \"composer\"
+\t\t}
+\t}
 }
-', $manipulator->getContents());
+", $manipulator->getContents());
     }
 
     public function testAddRepositoryCanAdd()