test-unit 3.2.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bd5a2e8e6372713e4ae42dc006acfb16de09a67a
4
- data.tar.gz: c747a09eee2677c68409c1624c76960457b132c7
3
+ metadata.gz: d5ef9797f0e6bb2164df6210b3fc09ea7be531c7
4
+ data.tar.gz: 97e0722669d6218da248bbc5ce936ed729a27b51
5
5
  SHA512:
6
- metadata.gz: 7999814cc3207edb8859e365c2b7f9e16809c3981c08cb538c0bae723543398b7fec62c97b412dbc00bf853c165075f0347e1c13d4c02cf60221215eff5f810f
7
- data.tar.gz: 056ce1b04bdd3255d2330ef089fc68ee6712f0fbd24fd192b57fb7f19ea289333dd57cfd602f7517e2156e2e6f1799fbc8a83373925913c2789b6f18c59415fe
6
+ metadata.gz: 030a52bcad8c962ee1779c32218ac206e4f788245b18588e596d59df860b63268e1fff0435ae8ff7d5f59481ed417a3a0162057dacb024b36df99d11aa689731
7
+ data.tar.gz: b8bd4af19c8b334a46926871918531472dab173ddb69f5e631f602e27c600d23d2639d1f7a3b36a87fc5b705627e73d0dfe8874c3369122aab986eeebde79921
data/README.md CHANGED
@@ -10,26 +10,26 @@
10
10
 
11
11
  An xUnit family unit testing framework for Ruby.
12
12
 
13
- Test::Unit (test-unit) is unit testing framework for Ruby, based on xUnit
13
+ test-unit (Test::Unit) is unit testing framework for Ruby, based on xUnit
14
14
  principles. These were originally designed by Kent Beck, creator of extreme
15
15
  programming software development methodology, for Smalltalk's SUnit. It allows
16
16
  writing tests, checking results and automated testing in Ruby.
17
17
 
18
18
  ## Features
19
19
 
20
- * Test::Unit 1.2.3 is the original Test::Unit, taken
20
+ * test-unit 1.2.3 is the original test-unit, taken
21
21
  straight from the ruby distribution. It is being
22
22
  distributed as a gem to allow tool builders to use it as a
23
23
  stand-alone package. (The test framework in ruby is going
24
24
  to radically change very soon).
25
25
 
26
26
  * test-unit will be improved actively and may break
27
- compatiblity with Test::Unit 1.2.3. (We will not hope it
27
+ compatiblity with test-unit 1.2.3. (We will not hope it
28
28
  if it isn't needed.)
29
29
 
30
30
  * Some features exist as separated gems like GUI test
31
31
  runner. (Tk, GTK+ and Fox) test-unit-full gem package
32
- provides for installing all Test::Unit related gems
32
+ provides for installing all test-unit related gems
33
33
  easily.
34
34
 
35
35
  ## How To
@@ -43,7 +43,7 @@ writing tests, checking results and automated testing in Ruby.
43
43
  % sudo gem install test-unit
44
44
  </pre>
45
45
 
46
- If you want to use full Test::Unit features:
46
+ If you want to use full test-unit features:
47
47
 
48
48
  <pre>
49
49
  % sudo gem install test-unit-full
@@ -1,5 +1,44 @@
1
1
  # News
2
2
 
3
+ ## 3.2.3 - 2016-11-02 {#version-3-2-2}
4
+
5
+ ### Improvements
6
+
7
+ * Improved Travis CI configuration.
8
+ [GitHub#123][Patch by Ryunosuke SEATO]
9
+
10
+ * Supported Java native exception.
11
+ [GitHub#126][Reported by Bob Saveland]
12
+
13
+ ### Fixes
14
+
15
+ * doc: Fixed markup. [GitHub#127][Patch by Tomohiro Hashidate]
16
+
17
+ * Fixed a bug that `--location=LINE` may not detect a test when
18
+ fixtures are defined before any tests:
19
+
20
+ 1 class MyTestCase < Test::Unit::TestCase
21
+ 2 setup do
22
+ 3 end
23
+ 4
24
+ 5 test "xxx" do
25
+ 6 end
26
+ 7 end
27
+
28
+ `--location=5` couldn't find the `xxx` test.
29
+
30
+ [Reported by Ryota Sasabe]
31
+
32
+ ### Thanks
33
+
34
+ * Ryunosuke Sato
35
+
36
+ * Tomohiro Hashidate
37
+
38
+ * Bob Saveland
39
+
40
+ * Ryota Sasabe
41
+
3
42
  ## 3.2.1 - 2016-07-19 {#version-3-2-1}
4
43
 
5
44
  ### Improvements
@@ -2169,19 +2169,45 @@ EOT
2169
2169
  expected_exceptions.each do |exception_type|
2170
2170
  if exception_type.instance_of?(Module)
2171
2171
  exception_modules << exception_type
2172
- elsif exception_type.is_a?(Exception)
2172
+ elsif exception_object?(exception_type)
2173
2173
  exception_objects << exception_type
2174
- else
2175
- @test_case.__send__(:assert,
2176
- Exception >= exception_type,
2177
- "Should expect a class of exception, " +
2178
- "#{exception_type}")
2174
+ elsif exception_class?(exception_type)
2179
2175
  exception_classes << exception_type
2176
+ else
2177
+ full_message =
2178
+ @test_case.__send__(:build_message,
2179
+ nil,
2180
+ "<?> must be " +
2181
+ "a subclass of Exception, " +
2182
+ "an object of Exception subclasses " +
2183
+ "or a Module",
2184
+ exception_type)
2185
+ @test_case.flunk(full_message)
2180
2186
  end
2181
2187
  end
2182
2188
  [exception_classes, exception_modules, exception_objects]
2183
2189
  end
2184
2190
 
2191
+ def exception_object?(exception_type)
2192
+ return true if exception_type.is_a?(Exception)
2193
+
2194
+ if Object.const_defined?(:Java)
2195
+ return true if exception_type.is_a?(Java::JavaLang::Throwable)
2196
+ end
2197
+
2198
+ false
2199
+ end
2200
+
2201
+ def exception_class?(exception_type)
2202
+ return true if exception_type <= Exception
2203
+
2204
+ if Object.const_defined?(:Java)
2205
+ return true if exception_type <= Java::JavaLang::Throwable
2206
+ end
2207
+
2208
+ false
2209
+ end
2210
+
2185
2211
  def expected_class?(actual_exception, equality)
2186
2212
  @expected_classes.any? do |expected_class|
2187
2213
  actual_exception.__send__(equality, expected_class)
@@ -127,6 +127,9 @@ module Test
127
127
  if method_name_or_callback.respond_to?(:call)
128
128
  callback = method_name_or_callback
129
129
  method_name = callback_method_name(callback)
130
+ @test_case.attribute(:source_location,
131
+ callback.source_location,
132
+ method_name)
130
133
  @test_case.__send__(:define_method, method_name, &callback)
131
134
  else
132
135
  method_name = method_name_or_callback
@@ -37,49 +37,51 @@ module Test
37
37
  # You can run two hooks before/after a TestCase run.
38
38
  #
39
39
  # Example:
40
- # class TestMyClass < Test::Unit::TestCase
41
- # class << self
42
- # def startup
43
- # ...
40
+ #
41
+ # class TestMyClass < Test::Unit::TestCase
42
+ # class << self
43
+ # def startup
44
+ # ...
45
+ # end
46
+ #
47
+ # def shutdown
48
+ # ...
49
+ # end
44
50
  # end
45
51
  #
46
- # def shutdown
52
+ # def setup
47
53
  # ...
48
54
  # end
49
- # end
50
55
  #
51
- # def setup
52
- # ...
53
- # end
54
- #
55
- # def cleanup
56
- # ...
57
- # end
56
+ # def cleanup
57
+ # ...
58
+ # end
58
59
  #
59
- # def teardown
60
- # ...
61
- # end
60
+ # def teardown
61
+ # ...
62
+ # end
62
63
  #
63
- # def test_my_method1
64
- # ...
65
- # end
64
+ # def test_my_method1
65
+ # ...
66
+ # end
66
67
  #
67
- # def test_my_method2
68
- # ...
68
+ # def test_my_method2
69
+ # ...
70
+ # end
69
71
  # end
70
- # end
71
72
  #
72
73
  # Here is a call order:
73
- # * startup
74
- # * setup
75
- # * test_my_method1
76
- # * cleanup
77
- # * teardown
78
- # * setup
79
- # * test_my_method2
80
- # * cleanup
81
- # * teardown
82
- # * shutdown
74
+ #
75
+ # 1. startup
76
+ # 1. setup
77
+ # 1. test_my_method1
78
+ # 1. cleanup
79
+ # 1. teardown
80
+ # 1. setup
81
+ # 1. test_my_method2
82
+ # 1. cleanup
83
+ # 1. teardown
84
+ # 1. shutdown
83
85
  class TestCase
84
86
  include Attribute
85
87
  include Fixture
@@ -1,5 +1,5 @@
1
1
  module Test
2
2
  module Unit
3
- VERSION = '3.2.1'
3
+ VERSION = '3.2.2'
4
4
  end
5
5
  end
@@ -513,8 +513,7 @@ EOM
513
513
  end
514
514
 
515
515
  message = <<-EOM
516
- Should expect a class of exception, Object.
517
- <false> is not true.
516
+ <Object> must be a subclass of Exception, an object of Exception subclasses or a Module.
518
517
  EOM
519
518
  check_fail(message.chomp) do
520
519
  assert_nothing_raised(Object) do
@@ -639,6 +638,21 @@ EOM
639
638
  end
640
639
  end
641
640
 
641
+ def test_assert_raise_jruby
642
+ omit("For JRuby") unless Object.const_defined?(:Java)
643
+
644
+ exception = Java::JavaLang::StringIndexOutOfBoundsException
645
+
646
+ return_value = nil
647
+ check_nothing_fails(true) do
648
+ return_value = assert_raise(exception) do
649
+ Java::JavaLang::String.new("abc").char_at(4)
650
+ end
651
+ end
652
+ check(return_value.instance_of?(exception),
653
+ "Should have returned #{exception} but was #{return_value.class}")
654
+ end
655
+
642
656
  def test_assert_instance_of
643
657
  check_nothing_fails {
644
658
  assert_instance_of(String, "string")
@@ -838,7 +852,10 @@ EOM
838
852
  rescue ZeroDivisionError
839
853
  end
840
854
  }
841
- check_fail("Should expect a class of exception, Object.\n<false> is not true.") {
855
+ expected_message =
856
+ "<Object> must be a subclass of Exception, " +
857
+ "an object of Exception subclasses or a Module."
858
+ check_fail(expected_message) {
842
859
  assert_nothing_raised(Object) {
843
860
  1 + 1
844
861
  }
@@ -752,6 +752,21 @@ module Test
752
752
  child_test_case.test_defined?(:line => line_child),
753
753
  ])
754
754
  end
755
+
756
+ def test_with_setup
757
+ line = nil
758
+ test_case = Class.new(TestCase) do
759
+ setup do
760
+ end
761
+
762
+ line = __LINE__; test "with setup" do
763
+ end
764
+ end
765
+ assert do
766
+ test_case.test_defined?(:line => line,
767
+ :method_name => "test: with setup")
768
+ end
769
+ end
755
770
  end
756
771
  end
757
772
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-unit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1
4
+ version: 3.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-07-19 00:00:00.000000000 Z
12
+ date: 2016-11-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: power_assert
@@ -96,7 +96,7 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  description: |
99
- Test::Unit (test-unit) is unit testing framework for Ruby, based on xUnit
99
+ test-unit (Test::Unit) is unit testing framework for Ruby, based on xUnit
100
100
  principles. These were originally designed by Kent Beck, creator of extreme
101
101
  programming software development methodology, for Smalltalk's SUnit. It allows
102
102
  writing tests, checking results and automated testing in Ruby.
@@ -274,4 +274,3 @@ test_files:
274
274
  - test/test-notification.rb
275
275
  - test/test-omission.rb
276
276
  - test/test-test-case.rb
277
- has_rdoc: