Browse Source

Merge remote-tracking branch 'upstream/master' into override_init_array

nevvermind 9 years ago
parent
commit
a747b293b3

+ 2 - 0
doc/00-intro.md

@@ -142,6 +142,8 @@ Create a new `composer.bat` file alongside `composer.phar`:
 C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat
 ```
 
+Add the directory to your PATH environment variable if it isn't already.
+
 Close your current terminal. Test usage with a new terminal:
 
 ```sh

+ 1 - 1
src/Composer/Package/Loader/ValidatingArrayLoader.php

@@ -70,7 +70,7 @@ class ValidatingArrayLoader implements LoaderInterface
         $this->validateArray('scripts'); // TODO validate event names & listener syntax
         $this->validateString('description');
         $this->validateUrl('homepage');
-        $this->validateFlatArray('keywords', '[A-Za-z0-9 ._-]+');
+        $this->validateFlatArray('keywords', '[\p{N}\p{L} ._-]+');
 
         if (isset($this->config['license'])) {
             if (is_string($this->config['license'])) {

+ 6 - 2
src/Composer/Package/Version/VersionParser.php

@@ -416,12 +416,16 @@ class VersionParser
             $lowVersion = $this->normalize($matches['from']);
             $lowerBound = new VersionConstraint('>=', $lowVersion . $lowStabilitySuffix);
 
-            if ((!empty($matches[11]) && !empty($matches[12])) || !empty($matches[14]) || !empty($matches[16])) {
+            $empty = function ($x) {
+                return ($x === 0 || $x === "0") ? false : empty($x);
+            };
+
+            if ((!$empty($matches[11]) && !$empty($matches[12])) || !empty($matches[14]) || !empty($matches[16])) {
                 $highVersion = $this->normalize($matches['to']);
                 $upperBound = new VersionConstraint('<=', $highVersion);
             } else {
                 $highMatch = array('', $matches[10], $matches[11], $matches[12], $matches[13]);
-                $highVersion = $this->manipulateVersionString($highMatch, empty($matches[11]) ? 1 : 2, 1) . '-dev';
+                $highVersion = $this->manipulateVersionString($highMatch, $empty($matches[11]) ? 1 : 2, 1) . '-dev';
                 $upperBound = new VersionConstraint('<', $highVersion);
             }
 

+ 1 - 1
tests/Composer/Test/Package/Loader/ValidatingArrayLoaderTest.php

@@ -47,7 +47,7 @@ class ValidatingArrayLoaderTest extends \PHPUnit_Framework_TestCase
                     'description' => 'Foo bar',
                     'version' => '1.0.0',
                     'type' => 'library',
-                    'keywords' => array('a', 'b_c', 'D E'),
+                    'keywords' => array('a', 'b_c', 'D E', 'éîüø', '微信'),
                     'homepage' => 'https://foo.com',
                     'time' => '2010-10-10T10:10:10+00:00',
                     'license' => 'MIT',

+ 10 - 6
tests/Composer/Test/Package/Version/VersionParserTest.php

@@ -374,12 +374,16 @@ class VersionParserTest extends \PHPUnit_Framework_TestCase
     public function hyphenConstraints()
     {
         return array(
-            array('1 - 2',                  new VersionConstraint('>=', '1.0.0.0-dev'),   new VersionConstraint('<',  '3.0.0.0-dev')),
-            array('1.2.3 - 2.3.4.5',        new VersionConstraint('>=', '1.2.3.0-dev'),   new VersionConstraint('<=', '2.3.4.5')),
-            array('1.2-beta - 2.3',         new VersionConstraint('>=', '1.2.0.0-beta'),  new VersionConstraint('<',  '2.4.0.0-dev')),
-            array('1.2-beta - 2.3-dev',     new VersionConstraint('>=', '1.2.0.0-beta'),  new VersionConstraint('<=', '2.3.0.0-dev')),
-            array('1.2-RC - 2.3.1',         new VersionConstraint('>=', '1.2.0.0-RC'),    new VersionConstraint('<=', '2.3.1.0')),
-            array('1.2.3-alpha - 2.3-RC',   new VersionConstraint('>=', '1.2.3.0-alpha'), new VersionConstraint('<=', '2.3.0.0-RC')),
+            array('1 - 2',                new VersionConstraint('>=', '1.0.0.0-dev'),   new VersionConstraint('<',  '3.0.0.0-dev')),
+            array('1.2.3 - 2.3.4.5',      new VersionConstraint('>=', '1.2.3.0-dev'),   new VersionConstraint('<=', '2.3.4.5')),
+            array('1.2-beta - 2.3',       new VersionConstraint('>=', '1.2.0.0-beta'),  new VersionConstraint('<',  '2.4.0.0-dev')),
+            array('1.2-beta - 2.3-dev',   new VersionConstraint('>=', '1.2.0.0-beta'),  new VersionConstraint('<=', '2.3.0.0-dev')),
+            array('1.2-RC - 2.3.1',       new VersionConstraint('>=', '1.2.0.0-RC'),    new VersionConstraint('<=', '2.3.1.0')),
+            array('1.2.3-alpha - 2.3-RC', new VersionConstraint('>=', '1.2.3.0-alpha'), new VersionConstraint('<=', '2.3.0.0-RC')),
+            array('1 - 2.0',              new VersionConstraint('>=', '1.0.0.0-dev'),   new VersionConstraint('<', '2.1.0.0-dev')),
+            array('1 - 2.1',              new VersionConstraint('>=', '1.0.0.0-dev'),   new VersionConstraint('<', '2.2.0.0-dev')),
+            array('1.2 - 2.1.0',          new VersionConstraint('>=', '1.2.0.0-dev'),   new VersionConstraint('<=', '2.1.0.0')),
+            array('1.3 - 2.1.3',          new VersionConstraint('>=', '1.3.0.0-dev'),   new VersionConstraint('<=', '2.1.3.0')),
         );
     }