versionomy 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
data/History.rdoc CHANGED
@@ -1,3 +1,7 @@
1
+ === 0.2.4 / 2009-11-19
2
+
3
+ * Fixed a regression introduced in 0.2.2 where "1.0a" was being recognized as an alpha version rather than a patchlevel of 1, and similar for "1.0b" and "1.0d".
4
+
1
5
  === 0.2.3 / 2009-11-19
2
6
 
3
7
  * Recognize "_" and "u" as patchlevel delimiters, to support Sun's Java version numbers (e.g. "1.6.0_17", "6u17").
@@ -158,7 +158,6 @@ module Versionomy
158
158
  if parse_data_
159
159
  parse_state_[:previous_field_missing] = false
160
160
  if recognizer_.requires_next_field
161
- parse_state_[:next_field_required] = true
162
161
  parse_state_ = {
163
162
  :backtrack => parse_state_,
164
163
  :string => parse_state_[:string],
@@ -167,6 +166,7 @@ module Versionomy
167
166
  :field => parse_state_[:field],
168
167
  :recognizer_index => 0,
169
168
  :previous_field_missing => false,
169
+ :next_field_required => true,
170
170
  }
171
171
  else
172
172
  parse_state_[:next_field_required] = false
@@ -37,7 +37,7 @@
37
37
  module Versionomy
38
38
 
39
39
  # Current gem version, as a frozen string.
40
- VERSION_STRING = '0.2.3'.freeze
40
+ VERSION_STRING = '0.2.4'.freeze
41
41
 
42
42
  # Current gem version, as a Versionomy::Value.
43
43
  VERSION = ::Versionomy.parse(VERSION_STRING, :standard)
@@ -270,6 +270,32 @@ module Versionomy
270
270
  end
271
271
 
272
272
 
273
+ # Test alphabetic patchlevels.
274
+ # In particular, make sure the parser can distinguish between these
275
+ # and the markers for prereleases.
276
+
277
+ def test_patchlevel_alphabetic
278
+ value_ = ::Versionomy.parse('1.9a')
279
+ assert_equal([1, 9, 0, 0, :final, 1, 0], value_.values_array)
280
+ assert_equal('1.9a', value_.to_s)
281
+ value_ = ::Versionomy.parse('1.9b')
282
+ assert_equal([1, 9, 0, 0, :final, 2, 0], value_.values_array)
283
+ assert_equal('1.9b', value_.to_s)
284
+ value_ = ::Versionomy.parse('1.9d')
285
+ assert_equal([1, 9, 0, 0, :final, 4, 0], value_.values_array)
286
+ assert_equal('1.9d', value_.to_s)
287
+ value_ = ::Versionomy.parse('1.9p')
288
+ assert_equal([1, 9, 0, 0, :final, 16, 0], value_.values_array)
289
+ assert_equal('1.9p', value_.to_s)
290
+ value_ = ::Versionomy.parse('1.9r')
291
+ assert_equal([1, 9, 0, 0, :final, 18, 0], value_.values_array)
292
+ assert_equal('1.9r', value_.to_s)
293
+ value_ = ::Versionomy.parse('1.9u')
294
+ assert_equal([1, 9, 0, 0, :final, 21, 0], value_.values_array)
295
+ assert_equal('1.9u', value_.to_s)
296
+ end
297
+
298
+
273
299
  # Test setting delimiters on unparse, including testing for illegal delimiters
274
300
 
275
301
  def test_unparse_with_custom_delimiters
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: versionomy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Azuma