Class VersionTest
In: lib/version.rb
Parent: Test::Unit::TestCase

Methods

Included Modules

Version::ShortCut

Public Instance methods

[Source]

# File lib/version.rb, line 264
  def setup
    @a = Version.new(0, 1)
    @b = Version.new(2, 0)
    @c = Version.new(0, 0)
    @a_rc2 = Version.new(0, 1, :rc, 2)
    @b_p3 = Version.new(2, 0, :p, 3)
    @a_alpha = Version.new(0, 1, :alpha)
    @a_pre4 = Version.new(0, 1, :pre, 4)
    @a_beta2 = Version.new(0, 1, :beta, 2)
    @a_r463 = Version.new(0, 1, :r, 463)
  end

[Source]

# File lib/version.rb, line 304
  def test_comparison
    assert `2.3` < `2.4`
    assert `2.4` > `2.3`
    assert `2.3` == `2.3`
    assert `3.3` > `2.3`
    assert `2.3` < `3.3`
    assert `1.2_rc` < `1.2`
    assert `1.2_p1` > `1.2`
    assert `1.2_alpha` < `1.2_beta`
    assert `1.2_pre` != `1.2`
    assert `1.2_rc` == `1.2_rc0`
    assert `1.3_pre` > `1.2_p12`
    assert `1.3_alpha` > `1.2`
    assert `3.2` > `2.12_p42`
    assert `1.2_pre4` != `dev-util/foo-1.2_pre4#bar`
    assert `dev-util/foo-1.2_pre4` == `dev-util/foo-1.2_pre4#bar`
  end

[Source]

# File lib/version.rb, line 322
  def test_major_release
    assert_equal `1.0_alpha`,  @a.major_release
    assert_equal `3.0_alpha`, @b.major_release
    assert_equal `1.0_alpha`,  @c.major_release
    assert_equal `1.0_alpha`,  @a_rc2.major_release
    assert_equal `3.0_alpha`, @b_p3.major_release
    assert_equal `1.0_alpha`,  @a_alpha.major_release
    assert_equal `1.0_alpha`,  @a_beta2.major_release
  end

[Source]

# File lib/version.rb, line 332
  def test_minor_release
    assert_equal `0.2_alpha`, @a.minor_release
    assert_equal `2.1_alpha`, @b.minor_release
    assert_equal `0.1_alpha`, @c.minor_release
    assert_equal `0.2_alpha`, @a_rc2.minor_release
  end

[Source]

# File lib/version.rb, line 276
  def test_parse
    assert_equal @a, Version.parse('0.1')
    assert_equal @a_r463, Version.parse('0.1_r463')
    assert_raise(ArgumentError) { Version.parse('0.1.2') }
    assert_raise(ArgumentError) { Version.parse('0.1-r2') }
    assert_raise(ArgumentError) { Version.parse('0.1.r2') }
    assert_raise(ArgumentError) { Version.parse('0.1.3-r2') }
    assert_raise(ArgumentError) { Version.parse('0.1.3.4') }
    assert_equal @b, Version.parse('2.0')
    assert_equal @c, Version.parse('0.0')
    assert_equal @c, Version.parse('0')
    assert_equal @a_rc2, Version.parse('0.1_rc2')
    assert_equal @a_alpha, Version.parse('0.1_alpha')
    assert_equal @a_alpha, Version.parse('0.1_alpha0')
    assert_equal @b_p3, Version.parse('2.0_p3')
    assert_equal @a_pre4, Version.parse('0.1_pre4')
    assert_equal @a_beta2, Version.parse('0.1_beta2')
    foo_bar = Version.new(1, 3, :r, 42144, 'dev-util', 'foo', 'bar')
    assert_equal foo_bar, `dev-util/foo-1.3_r42144#bar`
    foo_bar = Version.new(1, 3, :pre, 4, 'dev-util', 'foo', 'bar')
    assert_equal foo_bar, `dev-util/foo-1.3_pre4#bar`
    foo_bar = Version.new(1, 2, :pre, 4, '', 'foo', 'bar')
    assert_equal foo_bar, `foo-1.2_pre4#bar`
    foo = Version.new(1, 2, :pre, 4, '', 'foo')
    assert_equal foo_bar, `foo-1.2_pre4#bar`
    assert_raise(ArgumentError) { `foo-1.2_off4` }
  end

[Source]

# File lib/version.rb, line 352
  def test_pretty_version
    assert_equal 'Revision 462: 0.1', `0.1_r462`.pretty_version
    assert_equal 'Official Release: 0.1', @a.pretty_version
    assert_equal 'Official Release: 2.0', @b.pretty_version
    assert_equal 'Official Release: 0.0', @c.pretty_version
    assert_equal 'Alpha Release: 0.1', @a_alpha.pretty_version
    assert_equal 'Official Release Patch Level 3: 2.0', @b_p3.pretty_version
    assert_equal 'Pre Release 4: 1.2 bar', `dev-util/foo-1.2_pre4#bar`.pretty_version
  end

[Source]

# File lib/version.rb, line 368
  def test_short_string
    assert_equal '1.0', `1`.short_string
    assert_equal '1.0_p5', `1_p5`.short_string
    assert_equal 'foo-1.2_pre4', `dev-util/foo-1.2_pre4#bar`.short_string
  end

[Source]

# File lib/version.rb, line 339
  def test_tag_releases
    assert_equal `0.2_p2`, `0.1`.minor_release.alpha_release.beta_release.
                 beta_release.pre_release.release_candidate.release_candidate.
                 official_release.patch_level_release.patch_level_release
    assert_equal `0.2`, `0.1`.minor_release.official_release
    assert_raise ArgumentError do
      `0.1`.minor_release.official_release.official_release
    end
    assert_equal `1.0_rc1`, `0.9_p42`.major_release.alpha_release.
                 beta_release.release_candidate.release_candidate
    assert_equal `1.0_alpha2`, `1.0_alpha1`.alpha_release
  end

[Source]

# File lib/version.rb, line 362
  def test_to_s
    assert_equal '1.2_r3', `1.2_r3`.to_s
    assert_equal '1.0_p5', `1_p5`.to_s
    assert_equal 'dev-util/foo-1.2_pre4#bar', `dev-util/foo-1.2_pre4#bar`.to_s
  end

[Validate]