Sha256: 2abbfcfc21565db3482dc660d70ca68b10d1448090bd4a23fe14540d34146d59

Contents?: true

Size: 934 Bytes

Versions: 6

Compression:

Stored size: 934 Bytes

Contents

require 'spec_helper'
require 'semantic/core_ext'

describe 'Core Extensions' do
  context "String#to_version" do
    before(:each) do
      @test_versions = [
        '1.0.0',
        '12.45.182',
        '0.0.1-pre.1',
        '1.0.1-pre.5+build.123.5',
        '1.1.1+123',
        '0.0.0+hello',
        '1.2.3-1'
      ]

      @bad_versions = [
        'a.b.c',
        '1.a.3',
        'a.3.4',
        '5.2.a',
        'pre3-1.5.3'
      ]
    end

    it "extends String with a #to_version method" do
      String.new.should respond_to(:to_version)
    end

    it "converts the String into a Version object" do
      @test_versions.each do |v|
        expect { v.to_version }.to_not raise_error()
        v.to_version.should be_a(Semantic::Version)
      end
    end

    it "raises an error on invalid strings" do
      @bad_versions.each do |v|
        expect { v.to_version }.to raise_error()
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
semantic-1.4.1 spec/core_ext_spec.rb
semantic-1.4.0 spec/core_ext_spec.rb
semantic-1.3.0 spec/core_ext_spec.rb
semantic-1.2.1 spec/core_ext_spec.rb
semantic-1.2.0 spec/core_ext_spec.rb
semantic-1.1.1 spec/core_ext_spec.rb