buildr 1.3.5 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +153 -8
- data/README.rdoc +1 -1
- data/addon/buildr/antlr.rb +5 -5
- data/addon/buildr/drb.rb +18 -18
- data/addon/buildr/hibernate.rb +18 -14
- data/addon/buildr/javacc.rb +4 -4
- data/addon/buildr/jetty.rb +5 -5
- data/addon/buildr/nailgun.rb +23 -23
- data/addon/buildr/openjpa.rb +1 -1
- data/addon/buildr/org/apache/buildr/BuildrNail$Main.class +0 -0
- data/addon/buildr/org/apache/buildr/BuildrNail.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper$1.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper$BuildrHandler.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper.class +0 -0
- data/addon/buildr/protobuf.rb +75 -0
- data/addon/buildr/xmlbeans.rb +5 -5
- data/buildr.buildfile +2 -2
- data/buildr.gemspec +8 -7
- data/doc/_layouts/default.html +2 -2
- data/doc/artifacts.textile +4 -4
- data/doc/building.textile +35 -3
- data/doc/contributing.textile +5 -0
- data/doc/download.textile +16 -5
- data/doc/extending.textile +38 -12
- data/doc/installing.textile +6 -5
- data/doc/languages.textile +182 -42
- data/doc/more_stuff.textile +2 -2
- data/doc/packaging.textile +14 -15
- data/doc/projects.textile +7 -2
- data/doc/quick_start.textile +4 -4
- data/doc/scripts/buildr-git.rb +63 -63
- data/doc/scripts/gitflow.rb +21 -21
- data/doc/settings_profiles.textile +9 -2
- data/doc/testing.textile +16 -5
- data/etc/KEYS +38 -0
- data/lib/buildr/core/application.rb +33 -27
- data/lib/buildr/core/build.rb +41 -28
- data/lib/buildr/core/cc.rb +172 -0
- data/lib/buildr/core/checks.rb +1 -1
- data/lib/buildr/core/common.rb +7 -6
- data/lib/buildr/core/compile.rb +7 -8
- data/lib/buildr/core/doc.rb +263 -0
- data/lib/buildr/core/environment.rb +6 -6
- data/lib/buildr/core/filter.rb +77 -35
- data/lib/buildr/core/generate.rb +7 -7
- data/lib/buildr/core/help.rb +1 -1
- data/lib/buildr/core/osx.rb +6 -6
- data/lib/buildr/core/progressbar.rb +4 -4
- data/lib/buildr/core/project.rb +144 -36
- data/lib/buildr/core/shell.rb +34 -34
- data/lib/buildr/core/test.rb +89 -20
- data/lib/buildr/core/transports.rb +8 -7
- data/lib/buildr/core/util.rb +77 -23
- data/lib/buildr/core.rb +1 -0
- data/lib/buildr/groovy/bdd.rb +5 -5
- data/lib/buildr/groovy/compiler.rb +19 -15
- data/lib/buildr/groovy/shell.rb +6 -6
- data/lib/buildr/ide/eclipse/java.rb +3 -3
- data/lib/buildr/ide/eclipse/plugin.rb +8 -5
- data/lib/buildr/ide/eclipse/scala.rb +4 -2
- data/lib/buildr/ide/eclipse.rb +148 -75
- data/lib/buildr/ide/idea.rb +2 -2
- data/lib/buildr/ide/idea7x.rb +23 -4
- data/lib/buildr/java/ant.rb +4 -4
- data/lib/buildr/java/bdd.rb +51 -54
- data/lib/buildr/java/cobertura.rb +57 -35
- data/lib/buildr/java/commands.rb +14 -5
- data/lib/buildr/java/compiler.rb +3 -217
- data/lib/buildr/java/deprecated.rb +4 -4
- data/lib/buildr/java/doc.rb +70 -0
- data/lib/buildr/java/emma.rb +22 -22
- data/lib/buildr/java/jruby.rb +4 -4
- data/lib/buildr/java/jtestr_runner.rb.erb +27 -25
- data/lib/buildr/java/org/apache/buildr/JavaTestFilter.class +0 -0
- data/lib/buildr/java/org/apache/buildr/JavaTestFilter.java +8 -3
- data/lib/buildr/java/packaging.rb +30 -29
- data/lib/buildr/java/pom.rb +4 -4
- data/lib/buildr/java/rjb.rb +6 -6
- data/lib/buildr/java/test_result.rb +61 -85
- data/lib/buildr/java/tests.rb +44 -27
- data/lib/buildr/java/version_requirement.rb +8 -8
- data/lib/buildr/java.rb +1 -0
- data/lib/buildr/packaging/archive.rb +55 -22
- data/lib/buildr/packaging/artifact.rb +75 -36
- data/lib/buildr/packaging/artifact_namespace.rb +90 -78
- data/lib/buildr/packaging/artifact_search.rb +5 -5
- data/lib/buildr/packaging/gems.rb +11 -7
- data/lib/buildr/packaging/package.rb +10 -7
- data/lib/buildr/packaging/tar.rb +14 -14
- data/lib/buildr/packaging/version_requirement.rb +30 -10
- data/lib/buildr/packaging/ziptask.rb +51 -13
- data/lib/buildr/scala/bdd.rb +25 -20
- data/lib/buildr/scala/compiler.rb +87 -40
- data/lib/buildr/scala/doc.rb +106 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java +57 -0
- data/lib/buildr/scala/shell.rb +14 -9
- data/lib/buildr/scala/tests.rb +33 -26
- data/lib/buildr/scala.rb +1 -0
- data/lib/buildr/shell.rb +33 -33
- data/lib/buildr.rb +1 -1
- data/rakelib/all-in-one.rake +113 -0
- data/rakelib/checks.rake +1 -1
- data/rakelib/doc.rake +7 -0
- data/rakelib/package.rake +1 -1
- data/rakelib/release.rake +9 -6
- data/rakelib/rspec.rake +26 -7
- data/rakelib/setup.rake +15 -3
- data/rakelib/stage.rake +18 -11
- data/spec/addon/drb_spec.rb +25 -25
- data/spec/core/application_spec.rb +111 -21
- data/spec/core/build_spec.rb +16 -15
- data/spec/core/cc_spec.rb +174 -0
- data/spec/core/checks_spec.rb +34 -34
- data/spec/core/common_spec.rb +51 -5
- data/spec/core/compile_spec.rb +89 -14
- data/spec/core/extension_spec.rb +127 -19
- data/spec/core/generate_spec.rb +2 -2
- data/spec/core/project_spec.rb +10 -10
- data/spec/core/test_spec.rb +144 -35
- data/spec/core/transport_spec.rb +8 -8
- data/spec/core/util_spec.rb +63 -5
- data/spec/groovy/bdd_spec.rb +5 -5
- data/spec/groovy/compiler_spec.rb +29 -18
- data/spec/ide/eclipse_spec.rb +185 -9
- data/spec/ide/idea7x_spec.rb +22 -10
- data/spec/java/ant_spec.rb +9 -5
- data/spec/java/bdd_spec.rb +29 -37
- data/spec/java/cobertura_spec.rb +12 -12
- data/spec/java/commands_spec.rb +34 -0
- data/spec/java/compiler_spec.rb +53 -53
- data/spec/java/emma_spec.rb +11 -11
- data/spec/java/java_spec.rb +10 -10
- data/spec/java/packaging_spec.rb +67 -20
- data/spec/java/test_coverage_helper.rb +18 -18
- data/spec/java/tests_spec.rb +13 -9
- data/spec/packaging/archive_spec.rb +187 -20
- data/spec/packaging/artifact_namespace_spec.rb +172 -83
- data/spec/packaging/artifact_spec.rb +83 -18
- data/spec/packaging/packaging_spec.rb +41 -14
- data/spec/sandbox.rb +23 -12
- data/spec/scala/bdd_spec.rb +13 -8
- data/spec/scala/compiler_spec.rb +18 -13
- data/spec/scala/scala.rb +3 -3
- data/spec/scala/tests_spec.rb +46 -24
- data/spec/spec_helpers.rb +28 -10
- data/spec/version_requirement_spec.rb +25 -11
- metadata +149 -133
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala +0 -35
- data/rakelib/stage.rake~ +0 -213
data/spec/scala/tests_spec.rb
CHANGED
@@ -15,7 +15,6 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
require File.join(File.dirname(__FILE__), '../spec_helpers')
|
18
|
-
require 'buildr/scala'
|
19
18
|
|
20
19
|
# TODO's
|
21
20
|
# -test passing System props
|
@@ -26,6 +25,12 @@ require 'buildr/scala'
|
|
26
25
|
|
27
26
|
|
28
27
|
describe Buildr::Scala::ScalaTest do
|
28
|
+
|
29
|
+
before(:each) do
|
30
|
+
# Force Scala 2.7.7 for specs; don't want to rely on SCALA_HOME
|
31
|
+
Buildr.settings.build['scala.version'] = "2.7.7"
|
32
|
+
end
|
33
|
+
|
29
34
|
it 'should be the default test framework when test cases are in Scala' do
|
30
35
|
write 'src/test/scala/com/example/MySuite.scala', <<-SCALA
|
31
36
|
package com.example
|
@@ -113,7 +118,7 @@ describe Buildr::Scala::ScalaTest do
|
|
113
118
|
val sum = 1 + 1
|
114
119
|
assert(sum === 2)
|
115
120
|
}
|
116
|
-
|
121
|
+
|
117
122
|
class InnerSuite extends FunSuite {
|
118
123
|
test("addition") {
|
119
124
|
val sum = 1 + 1
|
@@ -161,6 +166,21 @@ describe Buildr::Scala::ScalaTest do
|
|
161
166
|
project('foo').test.failed_tests.should include('FailingSuite')
|
162
167
|
end
|
163
168
|
|
169
|
+
it 'should report to reports/scalatest/TEST-TestSuiteName.xml' do
|
170
|
+
write 'src/test/scala/PassingSuite.scala', <<-SCALA
|
171
|
+
class PassingSuite extends org.scalatest.FunSuite {
|
172
|
+
test("passing") {
|
173
|
+
assert(true)
|
174
|
+
}
|
175
|
+
}
|
176
|
+
SCALA
|
177
|
+
define 'foo' do
|
178
|
+
test.report_to.should be(file('reports/scalatest'))
|
179
|
+
end
|
180
|
+
project('foo').test.invoke
|
181
|
+
project('foo').file('reports/scalatest/TEST-PassingSuite.xml').should exist
|
182
|
+
end
|
183
|
+
|
164
184
|
it 'should report to reports/scalatest/TEST-TestSuiteName.txt' do
|
165
185
|
write 'src/test/scala/PassingSuite.scala', <<-SCALA
|
166
186
|
class PassingSuite extends org.scalatest.FunSuite {
|
@@ -180,15 +200,16 @@ describe Buildr::Scala::ScalaTest do
|
|
180
200
|
write 'src/test/scala/PropertyTestSuite.scala', <<-SCALA
|
181
201
|
import org.scalatest._
|
182
202
|
class PropertyTestSuite extends FunSuite {
|
183
|
-
var
|
203
|
+
var configMap = Map[String, Any]()
|
184
204
|
test("testProperty") {
|
185
|
-
assert(
|
205
|
+
assert(configMap("name") === "value")
|
186
206
|
}
|
187
|
-
|
207
|
+
|
188
208
|
protected override def runTests(testName: Option[String], reporter: Reporter, stopper: Stopper,
|
189
|
-
|
190
|
-
|
191
|
-
|
209
|
+
filter: Filter, configMap: Map[String, Any],
|
210
|
+
distributor: Option[Distributor], tracker: Tracker) {
|
211
|
+
this.configMap = configMap
|
212
|
+
super.runTests(testName, reporter, stopper, filter, configMap, distributor, tracker)
|
192
213
|
}
|
193
214
|
}
|
194
215
|
SCALA
|
@@ -198,54 +219,55 @@ describe Buildr::Scala::ScalaTest do
|
|
198
219
|
|
199
220
|
it 'should run with ScalaCheck automatic test case generation' do
|
200
221
|
write 'src/test/scala/MySuite.scala', <<-SCALA
|
201
|
-
import org.scalatest.
|
222
|
+
import org.scalatest.FunSuite
|
223
|
+
import org.scalatest.prop.Checkers
|
202
224
|
import org.scalacheck.Arbitrary._
|
203
225
|
import org.scalacheck.Prop._
|
204
|
-
|
205
|
-
class MySuite extends
|
206
|
-
|
226
|
+
|
227
|
+
class MySuite extends FunSuite with Checkers {
|
228
|
+
|
207
229
|
test("list concatenation") {
|
208
230
|
val x = List(1, 2, 3)
|
209
231
|
val y = List(4, 5, 6)
|
210
232
|
assert(x ::: y === List(1, 2, 3, 4, 5, 6))
|
211
233
|
check((a: List[Int], b: List[Int]) => a.size + b.size == (a ::: b).size)
|
212
234
|
}
|
213
|
-
|
214
|
-
test(
|
215
|
-
|
216
|
-
|
217
|
-
)
|
235
|
+
|
236
|
+
test("list concatenation using a test method") {
|
237
|
+
check((a: List[Int], b: List[Int]) => a.size + b.size == (a ::: b).size)
|
238
|
+
}
|
218
239
|
}
|
219
240
|
SCALA
|
220
241
|
define('foo')
|
221
242
|
project('foo').test.invoke
|
222
243
|
project('foo').test.passed_tests.should include('MySuite')
|
223
244
|
end
|
224
|
-
|
245
|
+
|
225
246
|
it 'should fail if ScalaCheck test case fails' do
|
226
247
|
write 'src/test/scala/StringSuite.scala', <<-SCALA
|
227
|
-
import org.scalatest.
|
248
|
+
import org.scalatest.FunSuite
|
249
|
+
import org.scalatest.prop.Checkers
|
228
250
|
import org.scalacheck.Arbitrary._
|
229
251
|
import org.scalacheck.Prop._
|
230
252
|
|
231
|
-
class StringSuite extends
|
253
|
+
class StringSuite extends FunSuite with Checkers {
|
232
254
|
test("startsWith") {
|
233
255
|
check( (a: String, b: String) => (a+b).startsWith(a) )
|
234
256
|
}
|
235
|
-
|
257
|
+
|
236
258
|
test("endsWith") {
|
237
259
|
check( (a: String, b: String) => (a+b).endsWith(b) )
|
238
260
|
}
|
239
|
-
|
261
|
+
|
240
262
|
// Is this really always true?
|
241
263
|
test("concat") {
|
242
264
|
check( (a: String, b: String) => (a+b).length > a.length && (a+b).length > b.length )
|
243
265
|
}
|
244
|
-
|
266
|
+
|
245
267
|
test("substring2") {
|
246
268
|
check( (a: String, b: String) => (a+b).substring(a.length) == b )
|
247
269
|
}
|
248
|
-
|
270
|
+
|
249
271
|
test("substring3") {
|
250
272
|
check( (a: String, b: String, c: String) =>
|
251
273
|
(a+b+c).substring(a.length, a.length+b.length) == b )
|
data/spec/spec_helpers.rb
CHANGED
@@ -22,8 +22,9 @@ unless defined?(SpecHelpers)
|
|
22
22
|
|
23
23
|
# For testing we use the gem requirements specified on the buildr.gemspec
|
24
24
|
spec = Gem::Specification.load(File.expand_path('../buildr.gemspec', File.dirname(__FILE__)))
|
25
|
-
|
26
|
-
|
25
|
+
# Dependency.version_requirements deprecated in rubygems 1.3.6
|
26
|
+
spec.dependencies.each { |dep| gem dep.name, (dep.respond_to?(:requirement) ? dep.requirement.to_s : dep.version_requirements.to_s) }
|
27
|
+
|
27
28
|
# Make sure to load from these paths first, we don't want to load any
|
28
29
|
# code from Gem library.
|
29
30
|
$LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__)),
|
@@ -40,7 +41,7 @@ unless defined?(SpecHelpers)
|
|
40
41
|
|
41
42
|
# Give a chance for plugins to do a few things before requiring the sandbox.
|
42
43
|
include SandboxHook if defined?(SandboxHook)
|
43
|
-
|
44
|
+
|
44
45
|
require File.expand_path('sandbox', File.dirname(__FILE__))
|
45
46
|
|
46
47
|
module SpecHelpers
|
@@ -56,7 +57,7 @@ unless defined?(SpecHelpers)
|
|
56
57
|
end
|
57
58
|
end
|
58
59
|
end
|
59
|
-
|
60
|
+
|
60
61
|
class << Buildr.application
|
61
62
|
alias :deprecated_without_capture :deprecated
|
62
63
|
def deprecated(message)
|
@@ -118,6 +119,23 @@ unless defined?(SpecHelpers)
|
|
118
119
|
MessageWithSeverityMatcher.new :puts, message
|
119
120
|
end
|
120
121
|
|
122
|
+
# Yields a block that should try exiting the application.
|
123
|
+
# Accepts
|
124
|
+
#
|
125
|
+
# For example:
|
126
|
+
# test_exit(1) { puts "Hello" ; exit(1) }.should show("Hello")
|
127
|
+
#
|
128
|
+
def test_exit(status = nil)
|
129
|
+
return lambda {
|
130
|
+
begin
|
131
|
+
yield
|
132
|
+
raise "Exit was not called!"
|
133
|
+
rescue SystemExit => e
|
134
|
+
raise "Exit status incorrect! Expected: #{status}, got #{e.status}" if status && (e.status != status)
|
135
|
+
end
|
136
|
+
}
|
137
|
+
end
|
138
|
+
|
121
139
|
class ::Rake::Task
|
122
140
|
alias :execute_without_a_record :execute
|
123
141
|
def execute(args)
|
@@ -151,7 +169,7 @@ unless defined?(SpecHelpers)
|
|
151
169
|
"Expected the tasks #{expected} to not run, but they all ran."
|
152
170
|
else
|
153
171
|
"Expected the tasks #{expected} to not run, and all but #{remaining} ran."
|
154
|
-
end
|
172
|
+
end
|
155
173
|
end
|
156
174
|
|
157
175
|
def but_not(*tasks)
|
@@ -226,7 +244,7 @@ unless defined?(SpecHelpers)
|
|
226
244
|
"URI with path matching #{@expression}"
|
227
245
|
end
|
228
246
|
end
|
229
|
-
|
247
|
+
|
230
248
|
# Matches a parsed URI's path against the given regular expression
|
231
249
|
def uri(re)
|
232
250
|
UriPathMatcher.new(re)
|
@@ -256,16 +274,16 @@ unless defined?(SpecHelpers)
|
|
256
274
|
AbsolutePathMatcher.new(path)
|
257
275
|
end
|
258
276
|
|
259
|
-
|
277
|
+
|
260
278
|
# Value covered by range. For example:
|
261
279
|
# (1..5).should cover(3)
|
262
280
|
def cover(value)
|
263
281
|
simple_matcher :cover do |given|
|
264
|
-
value >= given.min && value <= given.max
|
282
|
+
value >= given.min && value <= given.max
|
265
283
|
end
|
266
284
|
end
|
267
285
|
|
268
|
-
|
286
|
+
|
269
287
|
def suppress_stdout
|
270
288
|
stdout = $stdout
|
271
289
|
$stdout = StringIO.new
|
@@ -308,7 +326,7 @@ unless defined?(SpecHelpers)
|
|
308
326
|
yield
|
309
327
|
ensure
|
310
328
|
Buildr.application.instance_eval { @original_dir = original_dir }
|
311
|
-
end
|
329
|
+
end
|
312
330
|
end
|
313
331
|
|
314
332
|
|
@@ -20,8 +20,8 @@ describe Buildr::VersionRequirement, '.create' do
|
|
20
20
|
def create(str)
|
21
21
|
Buildr::VersionRequirement.create(str)
|
22
22
|
end
|
23
|
-
|
24
|
-
it 'should complain on invalid input' do
|
23
|
+
|
24
|
+
it 'should complain on invalid input' do
|
25
25
|
lambda { create }.should raise_error(Exception)
|
26
26
|
lambda { create('%') }.should raise_error(Exception, /invalid character/)
|
27
27
|
lambda { create('1#{0}') }.should raise_error(Exception, /invalid character/)
|
@@ -30,16 +30,16 @@ describe Buildr::VersionRequirement, '.create' do
|
|
30
30
|
lambda { create('1.0') }.should_not raise_error(Exception)
|
31
31
|
lambda { create('1.0rc3') }.should_not raise_error(Exception)
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
it 'should allow versions using hyphen' do
|
35
35
|
lambda { create('1.0-rc3') }.should_not raise_error(Exception)
|
36
36
|
end
|
37
37
|
|
38
|
-
it 'should create a single version requirement' do
|
38
|
+
it 'should create a single version requirement' do
|
39
39
|
create('1.0').should_not be_composed
|
40
40
|
end
|
41
41
|
|
42
|
-
it 'should create a composed version requirement' do
|
42
|
+
it 'should create a composed version requirement' do
|
43
43
|
create('1.0 | 2.1').should be_composed
|
44
44
|
end
|
45
45
|
end
|
@@ -61,13 +61,13 @@ describe Buildr::VersionRequirement, '#satisfied_by?' do
|
|
61
61
|
should_satisfy '=1.0', %w(1 1.0), %w(1.1 0.1)
|
62
62
|
should_satisfy '= 1.0', %w(1 1.0), %w(1.1 0.1)
|
63
63
|
should_satisfy '!= 1.0', %w(0.9 1.1 2), %w(1 1.0 1.0.0)
|
64
|
-
|
64
|
+
|
65
65
|
should_satisfy '>1.0', %w(1.0.1), %w(1 1.0 0.1)
|
66
66
|
should_satisfy '>=1.0', %w(1.0.1 1 1.0), %w(0.9)
|
67
67
|
|
68
68
|
should_satisfy '<1.0', %w(0.9 0.9.9), %w(1 1.0 1.1 2)
|
69
69
|
should_satisfy '<=1.0', %w(0.9 0.9.9 1 1.0), %w(1.1 2)
|
70
|
-
|
70
|
+
|
71
71
|
should_satisfy '~> 1.2.3', %w(1.2.3 1.2.3.4 1.2.4), %w(1.2.1 0.9 1.4 2)
|
72
72
|
end
|
73
73
|
|
@@ -91,7 +91,7 @@ describe Buildr::VersionRequirement, '#satisfied_by?' do
|
|
91
91
|
it 'should assume logic and if missing operator between expressions' do
|
92
92
|
should_satisfy '>1.5 <2.0', %w(1.6 1.9), %w(1.5 2 2.0)
|
93
93
|
end
|
94
|
-
|
94
|
+
|
95
95
|
it 'should allow combining logic operators' do
|
96
96
|
should_satisfy '>1.0 | <2.0 | =3.0', %w(1.5 3.0 1 2 4)
|
97
97
|
should_satisfy '>1.0 & <2.0 | =3.0', %w(1.3 3.0), %w(1 2)
|
@@ -99,7 +99,7 @@ describe Buildr::VersionRequirement, '#satisfied_by?' do
|
|
99
99
|
should_satisfy '~>1.1 | ~>1.3 | ~>1.5 | 2.0', %w(2 1.5.6 1.1.2 1.1.3), %w(1.0.9 0.5 2.2.1)
|
100
100
|
should_satisfy 'not(2) | 1', %w(1 3), %w(2)
|
101
101
|
end
|
102
|
-
|
102
|
+
|
103
103
|
it 'should allow using parens to group logic expressions' do
|
104
104
|
should_satisfy '(1.0)', %w(1 1.0), %w(0.9 1.1)
|
105
105
|
should_satisfy '!( !(1.0) )', %w(1 1.0), %w(0.9 1.1)
|
@@ -110,13 +110,13 @@ end
|
|
110
110
|
=end
|
111
111
|
|
112
112
|
describe Buildr::VersionRequirement, '#default' do
|
113
|
-
it 'should return nil if missing default requirement' do
|
113
|
+
it 'should return nil if missing default requirement' do
|
114
114
|
Buildr::VersionRequirement.create('>1').default.should be_nil
|
115
115
|
Buildr::VersionRequirement.create('<1').default.should be_nil
|
116
116
|
Buildr::VersionRequirement.create('!1').default.should be_nil
|
117
117
|
Buildr::VersionRequirement.create('!<=1').default.should be_nil
|
118
118
|
end
|
119
|
-
|
119
|
+
|
120
120
|
it 'should return the last version with a = requirement' do
|
121
121
|
Buildr::VersionRequirement.create('1').default.should == '1'
|
122
122
|
Buildr::VersionRequirement.create('=1').default.should == '1'
|
@@ -127,3 +127,17 @@ describe Buildr::VersionRequirement, '#default' do
|
|
127
127
|
Buildr::VersionRequirement.create('1 & 2 | 3').default.should == '3'
|
128
128
|
end
|
129
129
|
end
|
130
|
+
|
131
|
+
describe Buildr::VersionRequirement, '#version?' do
|
132
|
+
it 'should identify valid versions' do
|
133
|
+
Buildr::VersionRequirement.version?('1').should be_true
|
134
|
+
Buildr::VersionRequirement.version?('1a').should be_true
|
135
|
+
Buildr::VersionRequirement.version?('1.0').should be_true
|
136
|
+
Buildr::VersionRequirement.version?('11.0').should be_true
|
137
|
+
Buildr::VersionRequirement.version?(' 11.0 ').should be_true
|
138
|
+
Buildr::VersionRequirement.version?('11.0-alpha').should be_true
|
139
|
+
|
140
|
+
Buildr::VersionRequirement.version?('a').should be_false
|
141
|
+
Buildr::VersionRequirement.version?('a1').should be_false
|
142
|
+
end
|
143
|
+
end
|