activeldap 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. data/CHANGES +24 -0
  2. data/README +9 -3
  3. data/Rakefile +24 -50
  4. data/examples/al-admin/Rakefile +6 -0
  5. data/examples/al-admin/app/controllers/application_controller.rb +9 -2
  6. data/examples/al-admin/config/environment.rb +9 -3
  7. data/examples/al-admin/config/initializers/fast_gettext.rb +3 -0
  8. data/examples/al-admin/config/session_secret.txt +1 -1
  9. data/lib/active_ldap.rb +6 -19
  10. data/lib/active_ldap/adapter/base.rb +22 -20
  11. data/lib/active_ldap/adapter/jndi.rb +2 -3
  12. data/lib/active_ldap/adapter/jndi_connection.rb +2 -2
  13. data/lib/active_ldap/adapter/ldap.rb +9 -4
  14. data/lib/active_ldap/adapter/net_ldap.rb +5 -4
  15. data/lib/active_ldap/base.rb +1 -1
  16. data/lib/active_ldap/get_text.rb +2 -2
  17. data/lib/active_ldap/get_text_fallback.rb +39 -32
  18. data/lib/active_ldap/get_text_support.rb +4 -2
  19. data/lib/active_ldap/operations.rb +3 -2
  20. data/lib/active_ldap/validations.rb +11 -21
  21. data/po/en/active-ldap.po +9 -9
  22. data/po/ja/active-ldap.po +18 -18
  23. data/test/run-test.rb +7 -1
  24. data/test/test_adapter.rb +1 -0
  25. data/test/test_base.rb +8 -1
  26. data/test/test_load.rb +2 -1
  27. data/test/test_user.rb +3 -4
  28. data/test/test_validation.rb +20 -23
  29. metadata +34 -228
  30. data/data/locale/en/LC_MESSAGES/active-ldap.mo +0 -0
  31. data/data/locale/ja/LC_MESSAGES/active-ldap.mo +0 -0
  32. data/examples/al-admin/config/initializers/gettext.rb +0 -1
  33. data/examples/al-admin/lib/tasks/gettext.rake +0 -36
  34. data/examples/al-admin/locale/en/LC_MESSAGES/al-admin.mo +0 -0
  35. data/examples/al-admin/locale/ja/LC_MESSAGES/al-admin.mo +0 -0
  36. data/examples/al-admin/locale/nl/LC_MESSAGES/al-admin.mo +0 -0
  37. data/examples/al-admin/po/al-admin.pot +0 -344
  38. data/examples/al-admin/public/images/active-ldap.png +0 -0
  39. data/examples/al-admin/vendor/locale_rails/.gitignore +0 -6
  40. data/examples/al-admin/vendor/locale_rails/COPYING +0 -56
  41. data/examples/al-admin/vendor/locale_rails/ChangeLog +0 -35
  42. data/examples/al-admin/vendor/locale_rails/README.rdoc +0 -62
  43. data/examples/al-admin/vendor/locale_rails/Rakefile +0 -73
  44. data/examples/al-admin/vendor/locale_rails/lib/locale_rails.rb +0 -18
  45. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_controller.rb +0 -15
  46. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_controller/base.rb +0 -82
  47. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_controller/caching.rb +0 -51
  48. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_controller/test_process.rb +0 -44
  49. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/action_view.rb +0 -53
  50. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/i18n.rb +0 -67
  51. data/examples/al-admin/vendor/locale_rails/lib/locale_rails/version.rb +0 -4
  52. data/examples/al-admin/vendor/locale_rails/sample/README +0 -22
  53. data/examples/al-admin/vendor/locale_rails/sample/Rakefile +0 -10
  54. data/examples/al-admin/vendor/locale_rails/sample/app/controllers/application.rb +0 -42
  55. data/examples/al-admin/vendor/locale_rails/sample/app/controllers/samples_controller.rb +0 -30
  56. data/examples/al-admin/vendor/locale_rails/sample/app/helpers/application_helper.rb +0 -3
  57. data/examples/al-admin/vendor/locale_rails/sample/app/views/layouts/samples.html.erb +0 -20
  58. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/_part.html.erb +0 -68
  59. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/_part_nl.html.erb +0 -2
  60. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/cached_action.html.erb +0 -6
  61. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/index.html.erb +0 -33
  62. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/index.pt.html.erb +0 -16
  63. data/examples/al-admin/vendor/locale_rails/sample/app/views/samples/index_uz_UZ.html.erb +0 -16
  64. data/examples/al-admin/vendor/locale_rails/sample/config/boot.rb +0 -109
  65. data/examples/al-admin/vendor/locale_rails/sample/config/environment.rb +0 -25
  66. data/examples/al-admin/vendor/locale_rails/sample/config/environments/development.rb +0 -17
  67. data/examples/al-admin/vendor/locale_rails/sample/config/environments/production.rb +0 -24
  68. data/examples/al-admin/vendor/locale_rails/sample/config/environments/test.rb +0 -22
  69. data/examples/al-admin/vendor/locale_rails/sample/config/initializers/inflections.rb +0 -10
  70. data/examples/al-admin/vendor/locale_rails/sample/config/initializers/mime_types.rb +0 -5
  71. data/examples/al-admin/vendor/locale_rails/sample/config/initializers/new_rails_defaults.rb +0 -17
  72. data/examples/al-admin/vendor/locale_rails/sample/config/locales/en.yml +0 -2
  73. data/examples/al-admin/vendor/locale_rails/sample/config/locales/ja.yml +0 -2
  74. data/examples/al-admin/vendor/locale_rails/sample/config/routes.rb +0 -13
  75. data/examples/al-admin/vendor/locale_rails/sample/db/schema.rb +0 -10
  76. data/examples/al-admin/vendor/locale_rails/sample/public/404.html +0 -30
  77. data/examples/al-admin/vendor/locale_rails/sample/public/422.html +0 -30
  78. data/examples/al-admin/vendor/locale_rails/sample/public/500.html +0 -33
  79. data/examples/al-admin/vendor/locale_rails/sample/public/dispatch.cgi +0 -10
  80. data/examples/al-admin/vendor/locale_rails/sample/public/dispatch.fcgi +0 -24
  81. data/examples/al-admin/vendor/locale_rails/sample/public/dispatch.rb +0 -10
  82. data/examples/al-admin/vendor/locale_rails/sample/public/favicon.ico +0 -0
  83. data/examples/al-admin/vendor/locale_rails/sample/public/images/rails.png +0 -0
  84. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/application.js +0 -2
  85. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/controls.js +0 -963
  86. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/dragdrop.js +0 -972
  87. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/effects.js +0 -1120
  88. data/examples/al-admin/vendor/locale_rails/sample/public/javascripts/prototype.js +0 -4221
  89. data/examples/al-admin/vendor/locale_rails/sample/public/robots.txt +0 -5
  90. data/examples/al-admin/vendor/locale_rails/sample/public/stylesheets/locale.css +0 -81
  91. data/examples/al-admin/vendor/locale_rails/sample/public/stylesheets/scaffold.css +0 -74
  92. data/examples/al-admin/vendor/locale_rails/sample/script/about +0 -4
  93. data/examples/al-admin/vendor/locale_rails/sample/script/console +0 -3
  94. data/examples/al-admin/vendor/locale_rails/sample/script/dbconsole +0 -3
  95. data/examples/al-admin/vendor/locale_rails/sample/script/destroy +0 -3
  96. data/examples/al-admin/vendor/locale_rails/sample/script/generate +0 -3
  97. data/examples/al-admin/vendor/locale_rails/sample/script/performance/benchmarker +0 -3
  98. data/examples/al-admin/vendor/locale_rails/sample/script/performance/profiler +0 -3
  99. data/examples/al-admin/vendor/locale_rails/sample/script/performance/request +0 -3
  100. data/examples/al-admin/vendor/locale_rails/sample/script/plugin +0 -3
  101. data/examples/al-admin/vendor/locale_rails/sample/script/process/inspector +0 -3
  102. data/examples/al-admin/vendor/locale_rails/sample/script/process/reaper +0 -3
  103. data/examples/al-admin/vendor/locale_rails/sample/script/process/spawner +0 -3
  104. data/examples/al-admin/vendor/locale_rails/sample/script/runner +0 -3
  105. data/examples/al-admin/vendor/locale_rails/sample/script/server +0 -3
  106. data/examples/al-admin/vendor/locale_rails/sample/test/performance/browsing_test.rb +0 -9
  107. data/examples/al-admin/vendor/locale_rails/sample/test/test_helper.rb +0 -38
  108. data/examples/al-admin/vendor/locale_rails/test/README +0 -243
  109. data/examples/al-admin/vendor/locale_rails/test/Rakefile +0 -10
  110. data/examples/al-admin/vendor/locale_rails/test/app/controllers/application_controller.rb +0 -10
  111. data/examples/al-admin/vendor/locale_rails/test/app/controllers/articles_controller.rb +0 -17
  112. data/examples/al-admin/vendor/locale_rails/test/app/helpers/application_helper.rb +0 -3
  113. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/index.html.erb +0 -1
  114. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/index_de.html.erb +0 -1
  115. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/index_fr_FR.html.erb +0 -1
  116. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/index_ja.html.erb +0 -1
  117. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/list.html.erb +0 -1
  118. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/show.html.erb +0 -0
  119. data/examples/al-admin/vendor/locale_rails/test/app/views/articles/show.js.rjs +0 -0
  120. data/examples/al-admin/vendor/locale_rails/test/config/boot.rb +0 -110
  121. data/examples/al-admin/vendor/locale_rails/test/config/environment.rb +0 -42
  122. data/examples/al-admin/vendor/locale_rails/test/config/environments/development.rb +0 -17
  123. data/examples/al-admin/vendor/locale_rails/test/config/environments/production.rb +0 -28
  124. data/examples/al-admin/vendor/locale_rails/test/config/environments/test.rb +0 -35
  125. data/examples/al-admin/vendor/locale_rails/test/config/initializers/backtrace_silencers.rb +0 -7
  126. data/examples/al-admin/vendor/locale_rails/test/config/initializers/inflections.rb +0 -10
  127. data/examples/al-admin/vendor/locale_rails/test/config/initializers/mime_types.rb +0 -5
  128. data/examples/al-admin/vendor/locale_rails/test/config/initializers/new_rails_defaults.rb +0 -19
  129. data/examples/al-admin/vendor/locale_rails/test/config/initializers/session_store.rb +0 -15
  130. data/examples/al-admin/vendor/locale_rails/test/config/locales/en.yml +0 -5
  131. data/examples/al-admin/vendor/locale_rails/test/config/routes.rb +0 -46
  132. data/examples/al-admin/vendor/locale_rails/test/db/schema.rb +0 -0
  133. data/examples/al-admin/vendor/locale_rails/test/public/404.html +0 -30
  134. data/examples/al-admin/vendor/locale_rails/test/public/422.html +0 -30
  135. data/examples/al-admin/vendor/locale_rails/test/public/500.html +0 -30
  136. data/examples/al-admin/vendor/locale_rails/test/public/favicon.ico +0 -0
  137. data/examples/al-admin/vendor/locale_rails/test/public/images/rails.png +0 -0
  138. data/examples/al-admin/vendor/locale_rails/test/public/index.html +0 -275
  139. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/application.js +0 -2
  140. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/controls.js +0 -963
  141. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/dragdrop.js +0 -973
  142. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/effects.js +0 -1128
  143. data/examples/al-admin/vendor/locale_rails/test/public/javascripts/prototype.js +0 -4320
  144. data/examples/al-admin/vendor/locale_rails/test/public/robots.txt +0 -5
  145. data/examples/al-admin/vendor/locale_rails/test/script/about +0 -4
  146. data/examples/al-admin/vendor/locale_rails/test/script/console +0 -3
  147. data/examples/al-admin/vendor/locale_rails/test/script/dbconsole +0 -3
  148. data/examples/al-admin/vendor/locale_rails/test/script/destroy +0 -3
  149. data/examples/al-admin/vendor/locale_rails/test/script/generate +0 -3
  150. data/examples/al-admin/vendor/locale_rails/test/script/performance/benchmarker +0 -3
  151. data/examples/al-admin/vendor/locale_rails/test/script/performance/profiler +0 -3
  152. data/examples/al-admin/vendor/locale_rails/test/script/plugin +0 -3
  153. data/examples/al-admin/vendor/locale_rails/test/script/runner +0 -3
  154. data/examples/al-admin/vendor/locale_rails/test/script/server +0 -3
  155. data/examples/al-admin/vendor/locale_rails/test/test/functional/articles_controller_test.rb +0 -161
  156. data/examples/al-admin/vendor/locale_rails/test/test/performance/browsing_test.rb +0 -9
  157. data/examples/al-admin/vendor/locale_rails/test/test/test_helper.rb +0 -38
  158. data/po/active-ldap.pot +0 -4010
  159. data/test-unit/COPYING +0 -56
  160. data/test-unit/GPL +0 -340
  161. data/test-unit/History.txt +0 -223
  162. data/test-unit/Manifest.txt +0 -87
  163. data/test-unit/PSFL +0 -271
  164. data/test-unit/README.txt +0 -60
  165. data/test-unit/Rakefile +0 -40
  166. data/test-unit/TODO +0 -5
  167. data/test-unit/bin/testrb +0 -5
  168. data/test-unit/images/color-diff.png +0 -0
  169. data/test-unit/lib/test/unit.rb +0 -328
  170. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  171. data/test-unit/lib/test/unit/assertions.rb +0 -1334
  172. data/test-unit/lib/test/unit/attribute.rb +0 -125
  173. data/test-unit/lib/test/unit/autorunner.rb +0 -360
  174. data/test-unit/lib/test/unit/collector.rb +0 -36
  175. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  176. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  177. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  178. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  179. data/test-unit/lib/test/unit/color-scheme.rb +0 -106
  180. data/test-unit/lib/test/unit/color.rb +0 -96
  181. data/test-unit/lib/test/unit/diff.rb +0 -740
  182. data/test-unit/lib/test/unit/error.rb +0 -130
  183. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  184. data/test-unit/lib/test/unit/failure.rb +0 -136
  185. data/test-unit/lib/test/unit/fixture.rb +0 -176
  186. data/test-unit/lib/test/unit/notification.rb +0 -129
  187. data/test-unit/lib/test/unit/omission.rb +0 -191
  188. data/test-unit/lib/test/unit/pending.rb +0 -150
  189. data/test-unit/lib/test/unit/priority.rb +0 -180
  190. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  191. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  192. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  193. data/test-unit/lib/test/unit/testcase.rb +0 -478
  194. data/test-unit/lib/test/unit/testresult.rb +0 -89
  195. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  196. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  197. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -466
  198. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  199. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  200. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -28
  201. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  202. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  203. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -42
  204. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  205. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  206. data/test-unit/lib/test/unit/util/output.rb +0 -31
  207. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  208. data/test-unit/lib/test/unit/version.rb +0 -7
  209. data/test-unit/sample/adder.rb +0 -13
  210. data/test-unit/sample/subtracter.rb +0 -12
  211. data/test-unit/sample/test_adder.rb +0 -20
  212. data/test-unit/sample/test_subtracter.rb +0 -20
  213. data/test-unit/sample/test_user.rb +0 -23
  214. data/test-unit/test/collector/test-descendant.rb +0 -133
  215. data/test-unit/test/collector/test-load.rb +0 -442
  216. data/test-unit/test/collector/test_dir.rb +0 -406
  217. data/test-unit/test/collector/test_objectspace.rb +0 -100
  218. data/test-unit/test/run-test.rb +0 -15
  219. data/test-unit/test/test-attribute.rb +0 -86
  220. data/test-unit/test/test-color-scheme.rb +0 -69
  221. data/test-unit/test/test-color.rb +0 -47
  222. data/test-unit/test/test-diff.rb +0 -518
  223. data/test-unit/test/test-emacs-runner.rb +0 -60
  224. data/test-unit/test/test-fixture.rb +0 -287
  225. data/test-unit/test/test-notification.rb +0 -33
  226. data/test-unit/test/test-omission.rb +0 -81
  227. data/test-unit/test/test-pending.rb +0 -70
  228. data/test-unit/test/test-priority.rb +0 -119
  229. data/test-unit/test/test-testcase.rb +0 -544
  230. data/test-unit/test/test_assertions.rb +0 -1197
  231. data/test-unit/test/test_error.rb +0 -26
  232. data/test-unit/test/test_failure.rb +0 -33
  233. data/test-unit/test/test_testresult.rb +0 -113
  234. data/test-unit/test/test_testsuite.rb +0 -129
  235. data/test-unit/test/testunit-test-util.rb +0 -14
  236. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  237. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  238. data/test-unit/test/util/test-output.rb +0 -11
  239. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  240. data/test-unit/test/util/test_observable.rb +0 -102
  241. data/test-unit/test/util/test_procwrapper.rb +0 -36
@@ -1,130 +0,0 @@
1
- #--
2
- #
3
- # Author:: Nathaniel Talbott.
4
- # Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
5
- # License:: Ruby license.
6
-
7
- require 'test/unit/util/backtracefilter'
8
-
9
- module Test
10
- module Unit
11
-
12
- # Encapsulates an error in a test. Created by
13
- # Test::Unit::TestCase when it rescues an exception thrown
14
- # during the processing of a test.
15
- class Error
16
- include Util::BacktraceFilter
17
-
18
- attr_reader(:test_name, :exception)
19
-
20
- SINGLE_CHARACTER = 'E'
21
- LABEL = "Error"
22
-
23
- # Creates a new Error with the given test_name and
24
- # exception.
25
- def initialize(test_name, exception)
26
- @test_name = test_name
27
- @exception = exception
28
- end
29
-
30
- # Returns a single character representation of an error.
31
- def single_character_display
32
- SINGLE_CHARACTER
33
- end
34
-
35
- def label
36
- LABEL
37
- end
38
-
39
- # Returns the message associated with the error.
40
- def message
41
- "#{@exception.class.name}: #{@exception.message}"
42
- end
43
-
44
- # Returns a brief version of the error description.
45
- def short_display
46
- "#@test_name: #{message.split("\n")[0]}"
47
- end
48
-
49
- # Returns a verbose version of the error description.
50
- def long_display
51
- backtrace_display = backtrace.join("\n ")
52
- "#{label}:\n#@test_name:\n#{message}\n #{backtrace_display}"
53
- end
54
-
55
- def backtrace
56
- filter_backtrace(@exception.backtrace)
57
- end
58
-
59
- # Overridden to return long_display.
60
- def to_s
61
- long_display
62
- end
63
-
64
- def critical?
65
- true
66
- end
67
- end
68
-
69
- module ErrorHandler
70
- class << self
71
- def included(base)
72
- base.exception_handler(:handle_all_exception)
73
- end
74
- end
75
-
76
- NOT_PASS_THROUGH_EXCEPTIONS = []
77
- PASS_THROUGH_EXCEPTIONS = [NoMemoryError, SignalException, Interrupt,
78
- SystemExit]
79
- private
80
- def handle_all_exception(exception)
81
- case exception
82
- when *NOT_PASS_THROUGH_EXCEPTIONS
83
- when *PASS_THROUGH_EXCEPTIONS
84
- return false
85
- end
86
-
87
- problem_occurred
88
- add_error(exception)
89
- true
90
- end
91
-
92
- def add_error(exception)
93
- current_result.add_error(Error.new(name, exception))
94
- end
95
- end
96
-
97
- module TestResultErrorSupport
98
- attr_reader :errors
99
-
100
- # Records a Test::Unit::Error.
101
- def add_error(error)
102
- @errors << error
103
- notify_fault(error)
104
- notify_changed
105
- end
106
-
107
- # Returns the number of errors this TestResult has
108
- # recorded.
109
- def error_count
110
- @errors.size
111
- end
112
-
113
- def error_occurred?
114
- not @errors.empty?
115
- end
116
-
117
- private
118
- def initialize_containers
119
- super
120
- @errors = []
121
- @summary_generators << :error_summary
122
- @problem_checkers << :error_occurred?
123
- end
124
-
125
- def error_summary
126
- "#{error_count} errors"
127
- end
128
- end
129
- end
130
- end
@@ -1,39 +0,0 @@
1
- module Test
2
- module Unit
3
- module ExceptionHandler
4
- @@exception_handlers = []
5
- class << self
6
- def exception_handlers
7
- @@exception_handlers
8
- end
9
-
10
- def included(base)
11
- base.extend(ClassMethods)
12
-
13
- observer = Proc.new do |test_case, _, _, value, method_name|
14
- if value
15
- @@exception_handlers.unshift(method_name)
16
- else
17
- @@exception_handlers -= [method_name]
18
- end
19
- end
20
- base.register_attribute_observer(:exception_handler, &observer)
21
- end
22
- end
23
-
24
- module ClassMethods
25
- def exception_handlers
26
- ExceptionHandler.exception_handlers
27
- end
28
-
29
- def exception_handler(*method_names)
30
- attribute(:exception_handler, true, *method_names)
31
- end
32
-
33
- def unregister_exception_handler(*method_names)
34
- attribute(:exception_handler, false, *method_names)
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,136 +0,0 @@
1
- #--
2
- #
3
- # Author:: Nathaniel Talbott.
4
- # Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
5
- # License:: Ruby license.
6
-
7
- module Test
8
- module Unit
9
-
10
- # Encapsulates a test failure. Created by Test::Unit::TestCase
11
- # when an assertion fails.
12
- class Failure
13
- attr_reader :test_name, :location, :message
14
- attr_reader :expected, :actual, :user_message
15
- attr_reader :inspected_expected, :inspected_actual
16
-
17
- SINGLE_CHARACTER = 'F'
18
- LABEL = "Failure"
19
-
20
- # Creates a new Failure with the given location and
21
- # message.
22
- def initialize(test_name, location, message, options={})
23
- @test_name = test_name
24
- @location = location
25
- @message = message
26
- @expected = options[:expected]
27
- @actual = options[:actual]
28
- @inspected_expected = options[:inspected_expected]
29
- @inspected_actual = options[:inspected_actual]
30
- @user_message = options[:user_message]
31
- end
32
-
33
- # Returns a single character representation of a failure.
34
- def single_character_display
35
- SINGLE_CHARACTER
36
- end
37
-
38
- def label
39
- LABEL
40
- end
41
-
42
- # Returns a brief version of the error description.
43
- def short_display
44
- "#@test_name: #{@message.split("\n")[0]}"
45
- end
46
-
47
- # Returns a verbose version of the error description.
48
- def long_display
49
- if location.size == 1
50
- location_display = location[0].sub(/\A(.+:\d+).*/, ' [\\1]')
51
- else
52
- location_display = "\n [#{location.join("\n ")}]"
53
- end
54
- "#{label}:\n#@test_name#{location_display}:\n#@message"
55
- end
56
-
57
- # Overridden to return long_display.
58
- def to_s
59
- long_display
60
- end
61
-
62
- def critical?
63
- true
64
- end
65
-
66
- def diff
67
- @diff ||= compute_diff
68
- end
69
-
70
- private
71
- def compute_diff
72
- Assertions::AssertionMessage.delayed_diff(@expected, @actual).inspect
73
- end
74
- end
75
-
76
- module FailureHandler
77
- class << self
78
- def included(base)
79
- base.exception_handler(:handle_assertion_failed_error)
80
- end
81
- end
82
-
83
- private
84
- def handle_assertion_failed_error(exception)
85
- return false unless exception.is_a?(AssertionFailedError)
86
- problem_occurred
87
- add_failure(exception.message, exception.backtrace,
88
- :expected => exception.expected,
89
- :actual => exception.actual,
90
- :inspected_expected => exception.inspected_expected,
91
- :inspected_actual => exception.inspected_actual,
92
- :user_message => exception.user_message)
93
- true
94
- end
95
-
96
- def add_failure(message, backtrace, options={})
97
- failure = Failure.new(name, filter_backtrace(backtrace), message,
98
- options)
99
- current_result.add_failure(failure)
100
- end
101
- end
102
-
103
- module TestResultFailureSupport
104
- attr_reader :failures
105
-
106
- # Records a Test::Unit::Failure.
107
- def add_failure(failure)
108
- @failures << failure
109
- notify_fault(failure)
110
- notify_changed
111
- end
112
-
113
- # Returns the number of failures this TestResult has
114
- # recorded.
115
- def failure_count
116
- @failures.size
117
- end
118
-
119
- def failure_occurred?
120
- not @failures.empty?
121
- end
122
-
123
- private
124
- def initialize_containers
125
- super
126
- @failures = []
127
- @summary_generators << :failure_summary
128
- @problem_checkers << :failure_occurred?
129
- end
130
-
131
- def failure_summary
132
- "#{failure_count} failures"
133
- end
134
- end
135
- end
136
- end
@@ -1,176 +0,0 @@
1
- module Test
2
- module Unit
3
- module Fixture
4
- class << self
5
- def included(base)
6
- base.extend(ClassMethods)
7
-
8
- [:setup, :teardown].each do |fixture|
9
- observer = Proc.new do |test_case, _, _, value, method_name|
10
- if value.nil?
11
- test_case.send("unregister_#{fixture}_method", method_name)
12
- else
13
- test_case.send("register_#{fixture}_method", method_name,
14
- value)
15
- end
16
- end
17
- base.register_attribute_observer(fixture, &observer)
18
- end
19
- end
20
- end
21
-
22
- module ClassMethods
23
- def setup(*method_names)
24
- register_fixture(:setup, *method_names)
25
- end
26
-
27
- def unregister_setup(*method_names)
28
- unregister_fixture(:setup, *method_names)
29
- end
30
-
31
- def teardown(*method_names)
32
- register_fixture(:teardown, *method_names)
33
- end
34
-
35
- def unregister_teardown(*method_names)
36
- unregister_fixture(:teardown, *method_names)
37
- end
38
-
39
- def register_setup_method(method_name, options)
40
- register_fixture_method(:setup, method_name, options, :after, :append)
41
- end
42
-
43
- def unregister_setup_method(method_name)
44
- unregister_fixture_method(:setup, method_name)
45
- end
46
-
47
- def register_teardown_method(method_name, options)
48
- register_fixture_method(:teardown, method_name, options,
49
- :before, :prepend)
50
- end
51
-
52
- def unregister_teardown_method(method_name)
53
- unregister_fixture_method(:teardown, method_name)
54
- end
55
-
56
- def before_setup_methods
57
- collect_fixture_methods(:setup, :before)
58
- end
59
-
60
- def after_setup_methods
61
- collect_fixture_methods(:setup, :after)
62
- end
63
-
64
- def before_teardown_methods
65
- collect_fixture_methods(:teardown, :before)
66
- end
67
-
68
- def after_teardown_methods
69
- collect_fixture_methods(:teardown, :after)
70
- end
71
-
72
- private
73
- def register_fixture(fixture, *method_names)
74
- options = {}
75
- options = method_names.pop if method_names.last.is_a?(Hash)
76
- attribute(fixture, options, *method_names)
77
- end
78
-
79
- def unregister_fixture(fixture, *method_names)
80
- attribute(fixture, nil, *method_names)
81
- end
82
-
83
- def valid_register_fixture_options?(options)
84
- return true if options.empty?
85
- return false if options.size > 1
86
-
87
- key = options.keys.first
88
- [:before, :after].include?(key) and
89
- [:prepend, :append].include?(options[key])
90
- end
91
-
92
- def add_fixture_method_name(how, variable_name, method_name)
93
- methods = instance_eval("#{variable_name} ||= []")
94
-
95
- if how == :prepend
96
- methods = [method_name] | methods
97
- else
98
- methods = methods | [method_name]
99
- end
100
- instance_variable_set(variable_name, methods)
101
- end
102
-
103
- def registered_methods_variable_name(fixture, order)
104
- "@#{order}_#{fixture}_methods"
105
- end
106
-
107
- def unregistered_methods_variable_name(fixture)
108
- "@unregistered_#{fixture}_methods"
109
- end
110
-
111
- def register_fixture_method(fixture, method_name, options,
112
- default_order, default_how)
113
- unless valid_register_fixture_options?(options)
114
- message = "must be {:before => :prepend}, " +
115
- "{:before => :append}, {:after => :prepend} or " +
116
- "{:after => :append}: #{options.inspect}"
117
- raise ArgumentError, message
118
- end
119
-
120
- if options.empty?
121
- order, how = default_order, default_how
122
- else
123
- order, how = options.to_a.first
124
- end
125
- variable_name = registered_methods_variable_name(fixture, order)
126
- add_fixture_method_name(how, variable_name, method_name)
127
- end
128
-
129
- def unregister_fixture_method(fixture, method_name)
130
- variable_name = unregistered_methods_variable_name(fixture)
131
- add_fixture_method_name(:append, variable_name, method_name)
132
- end
133
-
134
- def collect_fixture_methods(fixture, order)
135
- methods_variable = registered_methods_variable_name(fixture, order)
136
- unregistered_methods_variable =
137
- unregistered_methods_variable_name(fixture)
138
-
139
- base_index = ancestors.index(Fixture)
140
- interested_ancestors = ancestors[0, base_index].reverse
141
- interested_ancestors.inject([]) do |result, ancestor|
142
- if ancestor.is_a?(Class)
143
- ancestor.class_eval do
144
- methods = instance_eval("#{methods_variable} ||= []")
145
- unregistered_methods =
146
- instance_eval("#{unregistered_methods_variable} ||= []")
147
- (result | methods) - unregistered_methods
148
- end
149
- else
150
- result
151
- end
152
- end
153
- end
154
- end
155
-
156
- private
157
- def run_fixture(fixture)
158
- [
159
- self.class.send("before_#{fixture}_methods"),
160
- fixture,
161
- self.class.send("after_#{fixture}_methods")
162
- ].flatten.each do |method_name|
163
- send(method_name) if respond_to?(method_name, true)
164
- end
165
- end
166
-
167
- def run_setup
168
- run_fixture(:setup)
169
- end
170
-
171
- def run_teardown
172
- run_fixture(:teardown)
173
- end
174
- end
175
- end
176
- end