versionomy 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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