versionomy 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/History.rdoc CHANGED
@@ -1,3 +1,8 @@
1
+ === 0.2.3 / 2009-11-19
2
+
3
+ * Recognize "_" and "u" as patchlevel delimiters, to support Sun's Java version numbers (e.g. "1.6.0_17", "6u17").
4
+ * Recognize "v" prefix found on some version numbers (e.g. "v1.2")
5
+
1
6
  === 0.2.2 / 2009-11-18
2
7
 
3
8
  * Standard format now supports certain kinds of prereleases without a prerelease number. e.g. "1.9.2dev" is interpreted as the same number as "1.9.2dev0".
@@ -86,6 +86,10 @@ module Versionomy
86
86
  # the unparsing to generate "1.9.1-243".
87
87
  params_[:patchlevel_delim] = nil
88
88
 
89
+ # If the standard format version includes a "v" prefix, strip
90
+ # it because rubygems doesn't like it.
91
+ params_[:major_delim] = nil
92
+
89
93
  params_
90
94
  end
91
95
 
@@ -247,9 +247,10 @@ module Versionomy
247
247
  format_ = Format::Delimiter.new(schema_) do
248
248
 
249
249
  # All version number strings must start with the major version.
250
- # Unlike other fields, it is not preceded by any delimiter.
250
+ # Unlike other fields, it is not preceded by the usual "dot"
251
+ # delimiter, but it can be preceded by a "v" indicator.
251
252
  field(:major) do
252
- recognize_number(:delimiter_regexp => '', :default_delimiter => '')
253
+ recognize_number(:delimiter_regexp => '(v\s?)?', :default_delimiter => '')
253
254
  end
254
255
 
255
256
  # The remainder of the core version number are represented as
@@ -369,7 +370,7 @@ module Versionomy
369
370
  field(:patchlevel, :requires_previous_field => false,
370
371
  :default_value_optional => true, :default_style => :number) do
371
372
  recognize_number(:style => :number, :default_delimiter => '-',
372
- :delimiter_regexp => '(-|\.|\s?)p|-')
373
+ :delimiter_regexp => '(-|\.|\s?)(p|u)|-|_')
373
374
  recognize_letter(:style => :letter, :default_delimiter => '',
374
375
  :delimiter_regexp => '-|\.|\s?',
375
376
  :expected_follower_regexp => '\z')
@@ -37,7 +37,7 @@
37
37
  module Versionomy
38
38
 
39
39
  # Current gem version, as a frozen string.
40
- VERSION_STRING = '0.2.2'.freeze
40
+ VERSION_STRING = '0.2.3'.freeze
41
41
 
42
42
  # Current gem version, as a Versionomy::Value.
43
43
  VERSION = ::Versionomy.parse(VERSION_STRING, :standard)
@@ -93,6 +93,18 @@ module Versionomy
93
93
  end
94
94
 
95
95
 
96
+ # Test conversion from standard to rubygems with a "v" prefix
97
+
98
+ def test_standard_to_rubygems_with_v
99
+ value_ = ::Versionomy.parse('v1.2b3')
100
+ value2_ = value_.convert(:rubygems)
101
+ assert_equal([1, 2, 'b', 3, 0, 0, 0, 0], value2_.values_array)
102
+ value_ = ::Versionomy.parse('V 1.2b3')
103
+ value2_ = value_.convert(:rubygems)
104
+ assert_equal([1, 2, 'b', 3, 0, 0, 0, 0], value2_.values_array)
105
+ end
106
+
107
+
96
108
  # Test simple conversion from rubygems to standard.
97
109
 
98
110
  def test_rubygems_to_standard_simple
@@ -281,6 +281,30 @@ module Versionomy
281
281
  end
282
282
 
283
283
 
284
+ # Test java version formats
285
+
286
+ def test_java_formats
287
+ value_ = ::Versionomy.parse('1.6.0_17')
288
+ assert_equal([1, 6, 0, 0, :final, 17, 0], value_.values_array)
289
+ assert_equal('1.6.0_17', value_.to_s)
290
+ value_ = ::Versionomy.parse('6u17')
291
+ assert_equal([6, 0, 0, 0, :final, 17, 0], value_.values_array)
292
+ assert_equal('6u17', value_.to_s)
293
+ end
294
+
295
+
296
+ # Test formats prefixed with "v"
297
+
298
+ def test_v_prefix
299
+ value_ = ::Versionomy.parse('v1.2')
300
+ assert_equal([1, 2, 0, 0, :final, 0, 0], value_.values_array)
301
+ assert_equal('v1.2', value_.to_s)
302
+ value_ = ::Versionomy.parse('V 2.3')
303
+ assert_equal([2, 3, 0, 0, :final, 0, 0], value_.values_array)
304
+ assert_equal('V 2.3', value_.to_s)
305
+ end
306
+
307
+
284
308
  # Test parse errors
285
309
 
286
310
  def test_parsing_errors
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.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Azuma
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-18 00:00:00 -08:00
12
+ date: 2009-11-19 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency