Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Feb 1, 2020. It is now read-only.

Conversation

jschnare
Copy link

SemVer 2 says a "pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers" and identifiers "comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]".

if the version is '0.0.1-foo-bar.baz', the pre-release should be ['foo-bar', 'baz']. Instead, it returns 'foo' - explode('-', $version) evaluates to ['0.0.1', 'foo', 'bar.baz'], and only the first two elements are assigned.

This change will return ['0.0.1', 'foo-bar.baz'], which can then be exploded on '.'

SemVer 2 says a "pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers" and identifiers "comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]".

if the version is '0.0.1-foo-bar.baz', the pre-release should be ['foo-bar', 'baz'].  Instead, it returns 'foo' - explode('-', $version) evaluates to ['0.0.1', 'foo', 'bar.baz'], and only the first two elements are assigned.

This change will return ['0.0.1', ['foo-bar.baz']], which can then be exploded on '.'
@Octen
Copy link

Octen commented Jan 29, 2015

Your pull request break existing unit tests.

I added a pull request with the addition of unit testing, and modification with the help of your code.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning, your limit parameter is incorrect :

<?php
print_r(preg_split('/-/', '1.2.3-pre-release', 1));
?>

The above example will output, and break the unit testing :

Array
(
    [0] => 1.2.3-pre-release
)

But, fix limit to 2 :

<?php
print_r(preg_split('/-/', '1.2.3-pre-release', 2));
?>

The above example will output:

Array
(
    [0] => 1.2.3
    [1] => pre-release
)

Expected return for the need of your pull request

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants