baretest 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/LICENSE.txt +4 -4
  2. data/MANIFEST.txt +4 -2
  3. data/README.rdoc +3 -2
  4. data/bin/baretest +7 -17
  5. data/doc/quickref.rdoc +1 -1
  6. data/doc/whats_going_on.rdoc +35 -0
  7. data/examples/test.rake +4 -4
  8. data/examples/tests/irb_mode/failures.rb +1 -1
  9. data/lib/baretest/assertion/context.rb +1 -1
  10. data/lib/baretest/assertion/failure.rb +1 -1
  11. data/lib/baretest/assertion/skip.rb +1 -1
  12. data/lib/baretest/assertion/support.rb +10 -10
  13. data/lib/baretest/assertion.rb +1 -1
  14. data/lib/baretest/irb_mode.rb +7 -7
  15. data/lib/baretest/layout.rb +1 -1
  16. data/lib/baretest/rr.rb +16 -0
  17. data/lib/baretest/run/cli.rb +1 -1
  18. data/lib/baretest/run/errors.rb +20 -18
  19. data/lib/baretest/run/minimal.rb +1 -1
  20. data/lib/baretest/run/profile.rb +1 -1
  21. data/lib/baretest/run/spec.rb +1 -1
  22. data/lib/baretest/run/tap.rb +1 -1
  23. data/lib/baretest/run/xml.rb +1 -1
  24. data/lib/baretest/run.rb +1 -1
  25. data/lib/baretest/setup.rb +1 -1
  26. data/lib/baretest/skipped/assertion.rb +1 -1
  27. data/lib/baretest/skipped/suite.rb +1 -1
  28. data/lib/baretest/skipped.rb +1 -1
  29. data/lib/baretest/suite.rb +4 -2
  30. data/lib/baretest/version.rb +2 -2
  31. data/lib/baretest.rb +13 -9
  32. data/lib/{baretest/utilities.rb → ruby/kernel.rb} +2 -2
  33. data/test/suite/lib/baretest/assertion/support.rb +2 -2
  34. data/test/suite/lib/baretest/assertion.rb +1 -1
  35. data/test/suite/lib/baretest/irb_mode.rb +1 -1
  36. data/test/suite/lib/baretest/run/cli.rb +1 -1
  37. data/test/suite/lib/baretest/run/errors.rb +1 -1
  38. data/test/suite/lib/baretest/run/interactive.rb +1 -1
  39. data/test/suite/lib/baretest/run/spec.rb +1 -1
  40. data/test/suite/lib/baretest/run/tap.rb +1 -1
  41. data/test/suite/lib/baretest/run/xml.rb +1 -1
  42. data/test/suite/lib/baretest/run.rb +1 -1
  43. data/test/suite/lib/baretest/suite.rb +1 -1
  44. data/test/suite/lib/baretest.rb +1 -1
  45. metadata +7 -5
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  The BareTest library is copyrighted free software by Stefan Rusterholz.
2
- You can redistribute it and/or modify it under the terms o the conditions
2
+ You can redistribute it and/or modify it under the terms of the conditions
3
3
  below (also known as the 'Ruby License'):
4
4
 
5
5
  1. You may make and give away verbatim copies of the source form of the
@@ -38,11 +38,11 @@ below (also known as the 'Ruby License'):
38
38
  d) make other distribution arrangements with the author.
39
39
 
40
40
  4. You may modify and include the part of the software into any other
41
- software (possibly commercial).
41
+ software (possibly commercial).
42
42
 
43
- 5. The scripts and library files supplied as input to or produced as
43
+ 5. The scripts and library files supplied as input to or produced as
44
44
  output from the software do not automatically fall under the
45
- copyright of the software, but belong to whomever generated them,
45
+ copyright of the software, but belong to whomever generated them,
46
46
  and may be sold commercially, and may be aggregated with this
47
47
  software.
48
48
 
data/MANIFEST.txt CHANGED
@@ -5,7 +5,9 @@ bin/baretest
5
5
  doc/baretest.rdoc
6
6
  doc/mocking_stubbing_test_doubles.rdoc
7
7
  doc/quickref.rdoc
8
+ doc/whats_going_on.rdoc
8
9
  doc/writing_tests.rdoc
10
+ examples/test.rake
9
11
  examples/tests/irb_mode/failures.rb
10
12
  examples/tests/mock_developer/test/helper/mocks.rb
11
13
  examples/tests/mock_developer/test/setup.rb
@@ -14,7 +16,6 @@ examples/tests/overview/test.rb
14
16
  examples/tests/variations/variations_01.rb
15
17
  examples/tests/variations/variations_02.rb
16
18
  examples/tests/variations/variations_03.rb
17
- examples/test.rake
18
19
  lib/baretest.rb
19
20
  lib/baretest/assertion.rb
20
21
  lib/baretest/assertion/context.rb
@@ -24,6 +25,7 @@ lib/baretest/assertion/support.rb
24
25
  lib/baretest/irb_mode.rb
25
26
  lib/baretest/layout.rb
26
27
  lib/baretest/mocha.rb
28
+ lib/baretest/rr.rb
27
29
  lib/baretest/run.rb
28
30
  lib/baretest/run/cli.rb
29
31
  lib/baretest/run/errors.rb
@@ -37,8 +39,8 @@ lib/baretest/skipped.rb
37
39
  lib/baretest/skipped/assertion.rb
38
40
  lib/baretest/skipped/suite.rb
39
41
  lib/baretest/suite.rb
40
- lib/baretest/utilities.rb
41
42
  lib/baretest/version.rb
43
+ lib/ruby/kernel.rb
42
44
  test/external/bootstraptest.rb
43
45
  test/external/bootstrapwrap.rb
44
46
  test/helper/mocks.rb
data/README.rdoc CHANGED
@@ -246,8 +246,9 @@ From examples/test.rb:
246
246
  * showing me every dirty little bit I did wrong
247
247
  * fixes
248
248
  * added line number on failures
249
-
250
-
249
+ * Tass
250
+ * adding rr integration
251
+ * reporting bugs
251
252
 
252
253
  == Known bugs
253
254
 
data/bin/baretest CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  #--
4
- # Copyright 2009 by Stefan Rusterholz.
4
+ # Copyright 2009-2010 by Stefan Rusterholz.
5
5
  # All rights reserved.
6
6
  # See LICENSE.txt for permissions.
7
7
  #++
@@ -132,22 +132,12 @@ end
132
132
 
133
133
 
134
134
  # Load the setup file, all helper files and all test files
135
- if ARGV.empty? then
136
- BareTest.load_standard_test_files(
137
- :verbose => $VERBOSE,
138
- :setup_path => setup_path,
139
- :chdir => '.'
140
- )
141
- else
142
- load(setup_path) if setup_path && File.exist?(setup_path)
143
- ARGV.each { |path|
144
- if File.directory?(path) then
145
- Dir.glob("#{path}/**/*.rb") { load(path) }
146
- else
147
- Dir.glob(path) { load(path) }
148
- end
149
- }
150
- end
135
+ BareTest.load_standard_test_files(
136
+ :verbose => $VERBOSE,
137
+ :setup_path => setup_path,
138
+ :files => (ARGV.empty? ? nil : ARGV),
139
+ :chdir => '.'
140
+ )
151
141
 
152
142
 
153
143
 
data/doc/quickref.rdoc CHANGED
@@ -161,7 +161,7 @@ can alternatively be used with named arguments:
161
161
  Failure: case_equal(String, 1)
162
162
 
163
163
  * equal_unordered(expected, actual, message=nil)
164
- Description: Compares unordered enumerables, on the enumerable it uses each,
164
+ Description: Compares unordered enumerables, on the enumerable it uses each,
165
165
  on the items it uses hash and eql?
166
166
  Success: equal_unordered([1,2], [2,1])
167
167
  Failure: equal_unordered([1,2], [2,1,2])
@@ -0,0 +1,35 @@
1
+ With the following test definition:
2
+ BareTest.suite "A"
3
+ setup do
4
+ @x = 1
5
+ end
6
+
7
+ suite "B" do
8
+ setup do
9
+ @y = 2
10
+ end
11
+
12
+ assert "Foo" do
13
+ @x == foo(@y)
14
+ end
15
+ end
16
+ end
17
+
18
+ Is this approximately as if you'd execute following code:
19
+ context = Assertion::Context.new
20
+ context.instance_eval do @x = 1 end # setup of suite A
21
+ context.instance_eval do @y = 1 end # setup of suite B
22
+ # execute assertion
23
+ success = false
24
+ begin
25
+ success = context.instance_eval do @x = foo(@y) end # assertion
26
+ status = success ? :success : :failure
27
+ rescue *PassthroughExceptions
28
+ Kernel.raise # let those exceptions pass unhandled
29
+ rescue Assertion::Failure
30
+ status = :failure
31
+ rescue Assertion::Skip
32
+ status = :skipped
33
+ rescue Exception # catch-all for the rest
34
+ status = :error
35
+ end
data/examples/test.rake CHANGED
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -41,18 +41,18 @@ namespace :test do
41
41
  }.find { |path|
42
42
  File.directory?(path)
43
43
  }
44
-
44
+
45
45
  # Verify that the test directory exists
46
46
  raise "Could not determine test directory, please adapt this rake task to " \
47
47
  "your directory structure first (see rake test:structure)." unless test_dir
48
-
48
+
49
49
  # Load all test definitions
50
50
  BareTest.load_standard_test_files(
51
51
  :verbose => $VERBOSE,
52
52
  :setup_file => 'test/setup.rb',
53
53
  :chdir => File.dirname(test_dir) # must chdir to 1 above the 'test' dir
54
54
  )
55
-
55
+
56
56
  # Run all tests
57
57
  format = ENV["FORMAT"] || 'cli'
58
58
  interactive = ENV["INTERACTIVE"] == 'true'
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -118,7 +118,7 @@ module BareTest
118
118
  else
119
119
  true
120
120
  end
121
- rescue *::BareTest::Assertion::PassthroughExceptions
121
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
122
122
  ::Kernel.raise
123
123
  rescue => exception
124
124
  failure "Expected block to raise #{exception_class}, but it raised #{exception.class}."
@@ -129,7 +129,7 @@ module BareTest
129
129
  # Will raise a Failure if the given block raises.
130
130
  def raises_nothing
131
131
  yield
132
- rescue *::BareTest::Assertion::PassthroughExceptions
132
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
133
133
  ::Kernel.raise
134
134
  rescue Exception => exception
135
135
  failure "Expected block to raise nothing, but it raised #{exception.class}."
@@ -142,7 +142,7 @@ module BareTest
142
142
  # of the possible rounding differences.
143
143
  def within_delta(a, b, delta)
144
144
  (a-b).abs < delta
145
- rescue *::BareTest::Assertion::PassthroughExceptions
145
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
146
146
  ::Kernel.raise
147
147
  rescue Exception => e
148
148
  failure "Could not compare %p with %p due to %s", a, b, e
@@ -209,7 +209,7 @@ module BareTest
209
209
  end
210
210
  true
211
211
 
212
- rescue *::BareTest::Assertion::PassthroughExceptions
212
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
213
213
  ::Kernel.raise
214
214
  rescue Exception => e
215
215
  failure "Could not compare %p with %p due to %s", expected, actual, e
@@ -232,7 +232,7 @@ module BareTest
232
232
  end
233
233
  true
234
234
 
235
- rescue *::BareTest::Assertion::PassthroughExceptions
235
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
236
236
  ::Kernel.raise
237
237
  rescue Exception => e
238
238
  failure "Could not compare %p with %p due to %s", expected, actual, e
@@ -255,7 +255,7 @@ module BareTest
255
255
  end
256
256
  true
257
257
 
258
- rescue *::BareTest::Assertion::PassthroughExceptions
258
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
259
259
  ::Kernel.raise
260
260
  rescue Exception => e
261
261
  failure "Could not compare %p with %p due to %s", expected, actual, e
@@ -278,7 +278,7 @@ module BareTest
278
278
  end
279
279
  true
280
280
 
281
- rescue *::BareTest::Assertion::PassthroughExceptions
281
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
282
282
  ::Kernel.raise
283
283
  rescue Exception => e
284
284
  failure "Could not compare %p with %p due to %s", expected, actual, e
@@ -309,7 +309,7 @@ module BareTest
309
309
  end
310
310
  true
311
311
 
312
- rescue *::BareTest::Assertion::PassthroughExceptions
312
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
313
313
  ::Kernel.raise
314
314
  rescue Exception => e
315
315
  failure "Could not compare %p with %p due to %s", expected, actual, e
@@ -327,7 +327,7 @@ module BareTest
327
327
  end
328
328
  true
329
329
 
330
- rescue *::BareTest::Assertion::PassthroughExceptions
330
+ rescue ::BareTest::Assertion::Failure, *::BareTest::Assertion::PassthroughExceptions
331
331
  ::Kernel.raise
332
332
  rescue Exception => e
333
333
  failure "Could not test whether %p is a child of %p due to %s", actual, expected, e
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -88,9 +88,9 @@ module BareTest
88
88
 
89
89
  # Prints the original assertion's backtrace
90
90
  def bt!(size=nil)
91
- if @__assertion__.exception then
91
+ if @__original__.exception then
92
92
  size ||= caller.size+3
93
- puts @__assertion__.exception.backtrace[0..-size]
93
+ puts @__original__.exception.backtrace[0..-size]
94
94
  else
95
95
  puts "No exception occurred, therefore no backtrace is available"
96
96
  end
@@ -113,19 +113,19 @@ module BareTest
113
113
 
114
114
  # Prints a string of the original assertion's nesting within suites
115
115
  def description
116
- puts @__assertion__.description
116
+ puts @__original__.description
117
117
  end
118
118
 
119
119
  # Prints a string of the original assertion's nesting within suites
120
120
  def nesting
121
- puts @__assertion__.suite.ancestors[0..-2].reverse.map { |s| s.description }.join(' > ')
121
+ puts @__original__.suite.ancestors[0..-2].reverse.map { |s| s.description }.join(' > ')
122
122
  end
123
123
 
124
124
  # Prints the code of the assertion
125
125
  # Be aware that this relies on your code being properly indented.
126
126
  def code!
127
- if code = @__assertion__.code then
128
- puts(insert_line_numbers(code, @__assertion__.line-1))
127
+ if code = @__original__.code then
128
+ puts(insert_line_numbers(code, @__original__.line-1))
129
129
  else
130
130
  puts "Code could not be extracted"
131
131
  end
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -0,0 +1,16 @@
1
+ # Load this file and get integration with the "rr" mocking framework.
2
+
3
+ require 'rr'
4
+
5
+ class BareTest::Assertion::Context
6
+ include RR::Adapters::RRMethods
7
+ end
8
+
9
+ BareTest.toplevel_suite.teardown do
10
+ begin
11
+ RR.verify
12
+ rescue RR::Errors => e
13
+ @reason = e.message
14
+ @status = :failure
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -16,29 +16,31 @@ module BareTest
16
16
  module Errors # :nodoc:
17
17
  def run_all
18
18
  @depth = 0
19
- puts "Running all tests, reporting errors"
20
- super
19
+ puts "Running all tests, reporting only errors and failures"
21
20
  start = Time.now
22
- puts "\nDone, #{@count[:error]} errors encountered."
23
- end
24
-
25
- def run_suite(suite)
26
- return super unless suite.description
27
- puts "#{' '*@depth+suite.description} (#{suite.assertions.size} tests, #{suite.skipped.size} skipped)"
28
- @depth += 1
29
- super # run the suite
30
- @depth -= 1
21
+ super
22
+ stop = Time.now
23
+ printf "\Ran #{@count[:test]} tests (#{@count[:pending]} pending) in %.1fs\n" \
24
+ "#{@count[:failure]} failures and #{@count[:error]} errors encountered.\n",
25
+ (stop-start)
31
26
  end
32
27
 
33
28
  def run_test(assertion, setup)
34
29
  rv = super # run the assertion
35
- puts(' '*@depth+rv.description)
36
- if rv.exception then
37
- size = caller.size+5
38
- puts((['-'*80, rv.exception.message]+rv.exception.backtrace[0..-size]+['-'*80, '']).map { |l|
39
- (' '*(@depth+1))+l
40
- })
30
+ if rv.status == :failure then
31
+ head = "FAILURE in #{rv.description}"
32
+ message = rv.reason || "no failure reason given"
33
+ stack = "#{rv.file}:#{rv.line}"
34
+ elsif rv.exception then
35
+ size = caller.size+5
36
+ head = "ERROR in #{rv.description}"
37
+ message = rv.exception.message || "no exception message given"
38
+ stack = rv.exception.backtrace[0..-size].join("\n ")
39
+ else
40
+ return
41
41
  end
42
+
43
+ puts head, " "+message.gsub(/\n/, "\n "), " "+stack, ""
42
44
  end
43
45
  end
44
46
  end
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  #--
3
- # Copyright 2009 by Stefan Rusterholz.
3
+ # Copyright 2009-2010 by Stefan Rusterholz.
4
4
  # All rights reserved.
5
5
  # See LICENSE.txt for permissions.
6
6
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
data/lib/baretest/run.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -147,7 +147,7 @@ module BareTest
147
147
  @setup[component] ||= []
148
148
 
149
149
  case multiplexed
150
- when String
150
+ when nil, String
151
151
  @setup[component] << ::BareTest::Setup.new(component, multiplexed, nil, block)
152
152
  when Array
153
153
  multiplexed.each do |substitute|
@@ -157,6 +157,8 @@ module BareTest
157
157
  multiplexed.each do |substitute, value|
158
158
  @setup[component] << BareTest::Setup.new(component, substitute, value, block)
159
159
  end
160
+ else
161
+ raise TypeError, "multiplexed must be an instance of NilClass, String, Array or Hash, but #{multiplexed.class} given."
160
162
  end
161
163
  elsif component || multiplexed
162
164
  raise ArgumentError, "With component or multiplexed given, a block must be provided too."
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -18,7 +18,7 @@ module BareTest
18
18
  MINOR = 2
19
19
 
20
20
  # The tiny version number
21
- TINY = 3
21
+ TINY = 4
22
22
 
23
23
  # The version as a string
24
24
  def self.to_s
data/lib/baretest.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -10,8 +10,8 @@ require 'baretest/assertion'
10
10
  require 'baretest/irb_mode'
11
11
  require 'baretest/run'
12
12
  require 'baretest/suite'
13
- require 'baretest/utilities'
14
13
  require 'baretest/version'
14
+ require 'ruby/kernel'
15
15
  # See bottom for more requires
16
16
 
17
17
 
@@ -45,15 +45,19 @@ module BareTest
45
45
  verbose = opts.delete(:verbose)
46
46
  setup_path = opts.delete(:setup_path) || 'test/setup.rb'
47
47
  chdir = opts.delete(:chdir) || '.'
48
+ files = opts.delete(:files) || ['test/{suite,unit,integration,system}/**/*.rb']
48
49
  Dir.chdir(chdir) do
49
50
  load(setup_path) if File.exist?(setup_path)
50
- Dir.glob('test/{suite,unit,integration,system}/**/*.rb') { |path|
51
- helper_path = path.sub(%r{^test/(suite|unit|integration|system)/}, 'test/helper/\1/')
52
- puts(File.exist?(helper_path) ? "Loading helper file #{helper_path}" : "No helper file #{helper_path} to load") if verbose
53
- load(helper_path) if File.exist?(helper_path)
54
- puts "Loading test file #{path}" if verbose
55
- load(path)
56
- }
51
+ files.each do |glob|
52
+ glob = "#{glob}/**/*.rb" if File.directory?(glob)
53
+ Dir.glob(glob) { |path|
54
+ helper_path = path.sub(%r{^test/(suite|unit|integration|system)/}, 'test/helper/\1/')
55
+ puts(File.exist?(helper_path) ? "Loading helper file #{helper_path}" : "No helper file #{helper_path} to load") if verbose
56
+ load(helper_path) if File.exist?(helper_path)
57
+ puts "Loading test file #{path}" if verbose
58
+ load(path)
59
+ }
60
+ end
57
61
  end
58
62
  end
59
63
 
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -40,4 +40,4 @@ module Kernel
40
40
  end
41
41
 
42
42
  module_function :require_path, :expanded_require_path, :load_into
43
- end
43
+ end
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -20,7 +20,7 @@ module BareTest
20
20
  unless failed then
21
21
  failure "Expected the block to fail, but it returned a true value."
22
22
  end
23
-
23
+
24
24
  true
25
25
  end
26
26
  end
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright 2009 by Stefan Rusterholz.
2
+ # Copyright 2009-2010 by Stefan Rusterholz.
3
3
  # All rights reserved.
4
4
  # See LICENSE.txt for permissions.
5
5
  #++
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baretest
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
  - Stefan Rusterholz
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-27 00:00:00 +01:00
12
+ date: 2010-01-14 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -31,7 +31,9 @@ files:
31
31
  - doc/baretest.rdoc
32
32
  - doc/mocking_stubbing_test_doubles.rdoc
33
33
  - doc/quickref.rdoc
34
+ - doc/whats_going_on.rdoc
34
35
  - doc/writing_tests.rdoc
36
+ - examples/test.rake
35
37
  - examples/tests/irb_mode/failures.rb
36
38
  - examples/tests/mock_developer/test/helper/mocks.rb
37
39
  - examples/tests/mock_developer/test/setup.rb
@@ -40,7 +42,6 @@ files:
40
42
  - examples/tests/variations/variations_01.rb
41
43
  - examples/tests/variations/variations_02.rb
42
44
  - examples/tests/variations/variations_03.rb
43
- - examples/test.rake
44
45
  - lib/baretest.rb
45
46
  - lib/baretest/assertion.rb
46
47
  - lib/baretest/assertion/context.rb
@@ -50,6 +51,7 @@ files:
50
51
  - lib/baretest/irb_mode.rb
51
52
  - lib/baretest/layout.rb
52
53
  - lib/baretest/mocha.rb
54
+ - lib/baretest/rr.rb
53
55
  - lib/baretest/run.rb
54
56
  - lib/baretest/run/cli.rb
55
57
  - lib/baretest/run/errors.rb
@@ -63,8 +65,8 @@ files:
63
65
  - lib/baretest/skipped/assertion.rb
64
66
  - lib/baretest/skipped/suite.rb
65
67
  - lib/baretest/suite.rb
66
- - lib/baretest/utilities.rb
67
68
  - lib/baretest/version.rb
69
+ - lib/ruby/kernel.rb
68
70
  - test/external/bootstraptest.rb
69
71
  - test/external/bootstrapwrap.rb
70
72
  - test/helper/mocks.rb
@@ -94,7 +96,7 @@ rdoc_options:
94
96
  - --tab-width
95
97
  - "2"
96
98
  - -t
97
- - baretest-0.2.3 Documentation
99
+ - baretest-0.2.4 Documentation
98
100
  require_paths:
99
101
  - lib
100
102
  required_ruby_version: !ruby/object:Gem::Requirement