diff options
-rw-r--r-- | application/config/ConfigJson.php | 15 | ||||
-rw-r--r-- | tests/config/ConfigJsonTest.php | 2 | ||||
-rw-r--r-- | tests/utils/config/configInvalid.json.php | 1 | ||||
-rw-r--r-- | tests/utils/config/configJson.json.php | 2 |
4 files changed, 18 insertions, 2 deletions
diff --git a/application/config/ConfigJson.php b/application/config/ConfigJson.php index 94693c86..d07fefee 100644 --- a/application/config/ConfigJson.php +++ b/application/config/ConfigJson.php | |||
@@ -17,6 +17,7 @@ class ConfigJson implements ConfigIO | |||
17 | } | 17 | } |
18 | $data = file_get_contents($filepath); | 18 | $data = file_get_contents($filepath); |
19 | $data = str_replace(self::getPhpHeaders(), '', $data); | 19 | $data = str_replace(self::getPhpHeaders(), '', $data); |
20 | $data = str_replace(self::getPhpSuffix(), '', $data); | ||
20 | $data = json_decode($data, true); | 21 | $data = json_decode($data, true); |
21 | if ($data === null) { | 22 | if ($data === null) { |
22 | $error = json_last_error(); | 23 | $error = json_last_error(); |
@@ -32,7 +33,7 @@ class ConfigJson implements ConfigIO | |||
32 | { | 33 | { |
33 | // JSON_PRETTY_PRINT is available from PHP 5.4. | 34 | // JSON_PRETTY_PRINT is available from PHP 5.4. |
34 | $print = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0; | 35 | $print = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0; |
35 | $data = self::getPhpHeaders() . json_encode($conf, $print); | 36 | $data = self::getPhpHeaders() . json_encode($conf, $print) . self::getPhpSuffix(); |
36 | if (!file_put_contents($filepath, $data)) { | 37 | if (!file_put_contents($filepath, $data)) { |
37 | throw new IOException( | 38 | throw new IOException( |
38 | $filepath, | 39 | $filepath, |
@@ -62,4 +63,16 @@ class ConfigJson implements ConfigIO | |||
62 | { | 63 | { |
63 | return '<?php /*'. PHP_EOL; | 64 | return '<?php /*'. PHP_EOL; |
64 | } | 65 | } |
66 | |||
67 | /** | ||
68 | * Get PHP comment closing tags. | ||
69 | * | ||
70 | * Static method for consistency with getPhpHeaders. | ||
71 | * | ||
72 | * @return string PHP comment closing. | ||
73 | */ | ||
74 | public static function getPhpSuffix() | ||
75 | { | ||
76 | return PHP_EOL . '*/ ?>'; | ||
77 | } | ||
65 | } | 78 | } |
diff --git a/tests/config/ConfigJsonTest.php b/tests/config/ConfigJsonTest.php index 359e9112..99c88820 100644 --- a/tests/config/ConfigJsonTest.php +++ b/tests/config/ConfigJsonTest.php | |||
@@ -88,7 +88,7 @@ class ConfigJsonTest extends PHPUnit_Framework_TestCase | |||
88 | } else { | 88 | } else { |
89 | $expected = '{"credentials":{"login":"root"},"resource":{"datastore":"data\/datastore.php"},"redirector":{"url":"lala"},"plugins":{"WALLABAG_VERSION":"1"}}'; | 89 | $expected = '{"credentials":{"login":"root"},"resource":{"datastore":"data\/datastore.php"},"redirector":{"url":"lala"},"plugins":{"WALLABAG_VERSION":"1"}}'; |
90 | } | 90 | } |
91 | $expected = ConfigJson::getPhpHeaders() . $expected; | 91 | $expected = ConfigJson::getPhpHeaders() . $expected . ConfigJson::getPhpSuffix(); |
92 | $this->assertEquals($expected, file_get_contents($dataFile)); | 92 | $this->assertEquals($expected, file_get_contents($dataFile)); |
93 | unlink($dataFile); | 93 | unlink($dataFile); |
94 | } | 94 | } |
diff --git a/tests/utils/config/configInvalid.json.php b/tests/utils/config/configInvalid.json.php index c53e471d..167f2168 100644 --- a/tests/utils/config/configInvalid.json.php +++ b/tests/utils/config/configInvalid.json.php | |||
@@ -2,3 +2,4 @@ | |||
2 | { | 2 | { |
3 | bad: bad, | 3 | bad: bad, |
4 | } | 4 | } |
5 | */ ?> \ No newline at end of file | ||
diff --git a/tests/utils/config/configJson.json.php b/tests/utils/config/configJson.json.php index c54882c3..06a302e8 100644 --- a/tests/utils/config/configJson.json.php +++ b/tests/utils/config/configJson.json.php | |||
@@ -30,3 +30,5 @@ | |||
30 | "WALLABAG_VERSION": 1 | 30 | "WALLABAG_VERSION": 1 |
31 | } | 31 | } |
32 | } | 32 | } |
33 | */ ?> | ||
34 | |||