Browse Source

Use parameter with default value to set schema file path.

Raphaël Aurières 6 years ago
parent
commit
3c01faf0e2
1 changed files with 4 additions and 3 deletions
  1. 4 3
      src/Composer/Json/JsonFile.php

+ 4 - 3
src/Composer/Json/JsonFile.php

@@ -34,6 +34,8 @@ class JsonFile
     const JSON_PRETTY_PRINT = 128;
     const JSON_UNESCAPED_UNICODE = 256;
 
+    const COMPOSER_SCHEMA_PATH = __DIR__ . '/../../../res/composer-schema.json';
+
     private $path;
     private $rfs;
     private $io;
@@ -144,10 +146,11 @@ class JsonFile
      * Validates the schema of the current json file according to composer-schema.json rules
      *
      * @param  int                     $schema a JsonFile::*_SCHEMA constant
+     * @param  string                  $schemaFile a path to the schema file
      * @throws JsonValidationException
      * @return bool                    true on success
      */
-    public function validateSchema($schema = self::STRICT_SCHEMA)
+    public function validateSchema($schema = self::STRICT_SCHEMA, $schemaFile = self::COMPOSER_SCHEMA_PATH)
     {
         $content = file_get_contents($this->path);
         $data = json_decode($content);
@@ -156,8 +159,6 @@ class JsonFile
             self::validateSyntax($content, $this->path);
         }
 
-        $schemaFile = __DIR__ . '/../../../res/composer-schema.json';
-
         // Prepend with file:// only when not using a special schema already (e.g. in the phar)
         if (false === strpos($schemaFile, '://')) {
             $schemaFile = 'file://' . $schemaFile;