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
@@ -62,8 +62,8 @@ module ActiveLdap
62
62
  end
63
63
  end
64
64
 
65
- def search(options={}, &block)
66
- super(options) do |base, scope, filter, attrs, limit, callback|
65
+ def search(options={})
66
+ super(options) do |base, scope, filter, attrs, limit|
67
67
  args = {
68
68
  :base => base,
69
69
  :scope => scope,
@@ -78,9 +78,10 @@ module ActiveLdap
78
78
  execute(:search, info, args) do |entry|
79
79
  attributes = {}
80
80
  entry.original_attribute_names.each do |name|
81
- attributes[name] = entry[name]
81
+ value = entry[name]
82
+ attributes[name] = value if value
82
83
  end
83
- callback.call([entry.dn, attributes], block)
84
+ yield([entry.dn, attributes])
84
85
  end
85
86
  end
86
87
  end
@@ -274,7 +274,7 @@ module ActiveLdap
274
274
  # by extension classes.
275
275
  class Base
276
276
  include GetTextSupport
277
- public :gettext
277
+ public :_
278
278
 
279
279
  if Object.const_defined?(:Reloadable)
280
280
  if Reloadable.const_defined?(:Deprecated)
@@ -1,5 +1,5 @@
1
- if Object.const_defined?(:GetText)
2
- ActiveLdap.const_set("GetText", GetText)
1
+ if Object.const_defined?(:FastGettext)
2
+ ActiveLdap.const_set("GetText", FastGettext)
3
3
  end
4
4
 
5
5
  unless ActiveLdap.const_defined?(:GetText)
@@ -1,52 +1,59 @@
1
1
  module ActiveLdap
2
2
  module GetTextFallback
3
- class << self
4
- def included(base)
5
- base.extend(self)
6
- end
3
+ module_function
4
+ def add_text_domain(name, options)
7
5
  end
8
6
 
9
7
  module_function
10
- def bindtextdomain(domain_name, *args)
8
+ def default_available_locales=(name)
11
9
  end
12
10
 
13
- def gettext(msg_id)
14
- msg_id
11
+ module_function
12
+ def default_text_domain=(name)
15
13
  end
16
14
 
17
- def ngettext(arg1, arg2, arg3=nil)
18
- if arg1.kind_of?(Array)
19
- msg_id = arg1[0]
20
- msg_id_plural = arg1[1]
21
- n = arg2
22
- else
23
- msg_id = arg1
24
- msg_id_plural = arg2
25
- n = arg3
15
+ module Translation
16
+ class << self
17
+ def included(base)
18
+ base.extend(self)
19
+ end
26
20
  end
27
- n == 1 ? msg_id : msg_id_plural
28
- end
29
21
 
30
- def N_(msg_id)
31
- msg_id
32
- end
22
+ def _(msg_id)
23
+ msg_id
24
+ end
33
25
 
34
- def Nn_(msg_id, msg_id_plural)
35
- [msg_id, msg_id_plural]
36
- end
26
+ def n_(arg1, arg2, arg3=nil)
27
+ if arg1.kind_of?(Array)
28
+ msg_id = arg1[0]
29
+ msg_id_plural = arg1[1]
30
+ n = arg2
31
+ else
32
+ msg_id = arg1
33
+ msg_id_plural = arg2
34
+ n = arg3
35
+ end
36
+ n == 1 ? msg_id : msg_id_plural
37
+ end
37
38
 
38
- def sgettext(msg_id, div='|')
39
- index = msg_id.rindex(div)
40
- if index
41
- msg_id[(index + 1)..-1]
42
- else
39
+ def N_(msg_id)
43
40
  msg_id
44
41
  end
42
+
43
+ def Nn_(msg_id, msg_id_plural)
44
+ [msg_id, msg_id_plural]
45
+ end
46
+
47
+ def s_(msg_id, div='|')
48
+ index = msg_id.rindex(div)
49
+ if index
50
+ msg_id[(index + 1)..-1]
51
+ else
52
+ msg_id
53
+ end
54
+ end
45
55
  end
46
56
 
47
- alias_method(:_, :gettext)
48
- alias_method(:n_, :ngettext)
49
- alias_method(:s_, :sgettext)
50
57
  end
51
58
 
52
59
  GetText = GetTextFallback
@@ -9,8 +9,10 @@ module ActiveLdap
9
9
  class << self
10
10
  def included(base)
11
11
  base.class_eval do
12
- include(GetText)
13
- bindtextdomain("active-ldap")
12
+ include(GetText::Translation)
13
+ GetText.add_text_domain('active-ldap',:path=>'po', :type=>:po)
14
+ GetText.default_available_locales = ['en', 'jp']
15
+ GetText.default_text_domain = "active-ldap"
14
16
  end
15
17
  end
16
18
  end
@@ -62,7 +62,8 @@ module ActiveLdap
62
62
  }
63
63
 
64
64
  options[:connection] ||= connection
65
- values = options[:connection].search(search_options) do |dn, attrs|
65
+ values = []
66
+ options[:connection].search(search_options) do |dn, attrs|
66
67
  attributes = {}
67
68
  attrs.each do |key, _value|
68
69
  normalized_attr, normalized_value =
@@ -70,7 +71,7 @@ module ActiveLdap
70
71
  attributes[normalized_attr] ||= []
71
72
  attributes[normalized_attr].concat(normalized_value)
72
73
  end
73
- [dn, attributes]
74
+ values << [dn, attributes]
74
75
  end
75
76
  values = values.collect {|_value| yield(_value)} if block_given?
76
77
  values
@@ -88,17 +88,7 @@ module ActiveLdap
88
88
 
89
89
  private
90
90
  def format_validation_message(format, parameters)
91
- if ActiveLdap.get_text_supported?
92
- if /\A(%\{fn\})/ =~ format
93
- place_holder = $1
94
- format = $POSTMATCH
95
- else
96
- place_holder = ""
97
- end
98
- "#{place_holder}#{format % parameters}"
99
- else
100
- format.sub(/\A%\{fn\} ?/, '') % parameters
101
- end
91
+ format % parameters
102
92
  end
103
93
 
104
94
  def validate_duplicated_dn_creation
@@ -109,7 +99,7 @@ module ActiveLdap
109
99
  return
110
100
  end
111
101
  if _dn and exist?
112
- format = _("%{fn} is duplicated: %s")
102
+ format = _("is duplicated: %s")
113
103
  message = format_validation_message(format, _dn)
114
104
  errors.add("distinguishedName", message)
115
105
  end
@@ -129,7 +119,7 @@ module ActiveLdap
129
119
  return
130
120
  end
131
121
  if _dn and exist?
132
- format = _("%{fn} is duplicated: %s")
122
+ format = _("is duplicated: %s")
133
123
  message = format_validation_message(format, _dn)
134
124
  errors.add("distinguishedName", message)
135
125
  end
@@ -138,11 +128,11 @@ module ActiveLdap
138
128
  def validate_dn
139
129
  dn
140
130
  rescue DistinguishedNameInvalid
141
- format = _("%{fn} is invalid: %s")
131
+ format = _("is invalid: %s")
142
132
  message = format_validation_message(format, $!.message)
143
133
  errors.add("distinguishedName", message)
144
134
  rescue DistinguishedNameNotSetError
145
- format = _("%{fn} isn't set: %s")
135
+ format = _("isn't set: %s")
146
136
  message = format_validation_message(format, $!.message)
147
137
  errors.add("distinguishedName", message)
148
138
  end
@@ -167,8 +157,8 @@ module ActiveLdap
167
157
  names = unexpected_classes.collect do |object_class|
168
158
  self.class.human_object_class_name(object_class)
169
159
  end
170
- format = n_("%{fn} has excluded value: %s",
171
- "%{fn} has excluded values: %s",
160
+ format = n_("has excluded value: %s",
161
+ "has excluded values: %s",
172
162
  names.size)
173
163
  message = format_validation_message(format, names.join(", "))
174
164
  errors.add("objectClass", message)
@@ -204,9 +194,9 @@ module ActiveLdap
204
194
  end
205
195
  args = [self.class.human_object_class_name(object_class)]
206
196
  if aliases.empty?
207
- format = _("%{fn} is required attribute by objectClass '%s'")
197
+ format = _("is required attribute by objectClass '%s'")
208
198
  else
209
- format = _("%{fn} is required attribute by objectClass " \
199
+ format = _("is required attribute by objectClass " \
210
200
  "'%s': aliases: %s")
211
201
  args << aliases.join(', ')
212
202
  end
@@ -236,9 +226,9 @@ module ActiveLdap
236
226
  self.class.human_syntax_description(attribute.syntax),
237
227
  failed_reason]
238
228
  if option
239
- format = _("%{fn}(%s) has invalid format: %s: required syntax: %s: %s")
229
+ format = _("(%s) has invalid format: %s: required syntax: %s: %s")
240
230
  else
241
- format = _("%{fn} has invalid format: %s: required syntax: %s: %s")
231
+ format = _("has invalid format: %s: required syntax: %s: %s")
242
232
  end
243
233
  params.unshift(option) if option
244
234
  message = format_validation_message(format, params)
@@ -3710,29 +3710,29 @@ msgid "%s isn't sub DN of %s"
3710
3710
  msgstr ""
3711
3711
 
3712
3712
  #: lib/active_ldap/validations.rb:97
3713
- msgid "%{fn} is duplicated: %s"
3713
+ msgid "is duplicated: %s"
3714
3714
  msgstr ""
3715
3715
 
3716
3716
  #: lib/active_ldap/validations.rb:108
3717
- msgid "%{fn} is invalid: %s"
3717
+ msgid "is invalid: %s"
3718
3718
  msgstr ""
3719
3719
 
3720
3720
  #: lib/active_ldap/validations.rb:112
3721
- msgid "%{fn} isn't set: %s"
3721
+ msgid "isn't set: %s"
3722
3722
  msgstr ""
3723
3723
 
3724
3724
  #: lib/active_ldap/validations.rb:134
3725
- msgid "%{fn} has excluded value: %s"
3726
- msgid_plural "%{fn} has excluded values: %s"
3725
+ msgid "has excluded value: %s"
3726
+ msgid_plural "has excluded values: %s"
3727
3727
  msgstr[0] ""
3728
3728
  msgstr[1] ""
3729
3729
 
3730
3730
  #: lib/active_ldap/validations.rb:169
3731
- msgid "%{fn} is required attribute by objectClass '%s'"
3731
+ msgid "is required attribute by objectClass '%s'"
3732
3732
  msgstr ""
3733
3733
 
3734
3734
  #: lib/active_ldap/validations.rb:171
3735
- msgid "%{fn} is required attribute by objectClass '%s': aliases: %s"
3735
+ msgid "is required attribute by objectClass '%s': aliases: %s"
3736
3736
  msgstr ""
3737
3737
 
3738
3738
  #: lib/active_ldap/validations.rb:195
@@ -3740,11 +3740,11 @@ msgid "<binary-value>"
3740
3740
  msgstr ""
3741
3741
 
3742
3742
  #: lib/active_ldap/validations.rb:203
3743
- msgid "%{fn}(%s) has invalid format: %s: required syntax: %s: %s"
3743
+ msgid "(%s) has invalid format: %s: required syntax: %s: %s"
3744
3744
  msgstr ""
3745
3745
 
3746
3746
  #: lib/active_ldap/validations.rb:205
3747
- msgid "%{fn} has invalid format: %s: required syntax: %s: %s"
3747
+ msgid "has invalid format: %s: required syntax: %s: %s"
3748
3748
  msgstr ""
3749
3749
 
3750
3750
  #: lib/active_ldap/command.rb:16
@@ -3727,42 +3727,42 @@ msgid "%s isn't sub DN of %s"
3727
3727
  msgstr "%sは%sのサブDNではありません"
3728
3728
 
3729
3729
  #: lib/active_ldap/validations.rb:97
3730
- msgid "%{fn} is duplicated: %s"
3731
- msgstr "%{fn}が重複しています: %s"
3730
+ msgid "is duplicated: %s"
3731
+ msgstr "が重複しています: %s"
3732
3732
 
3733
3733
  #: lib/active_ldap/validations.rb:108
3734
- msgid "%{fn} is invalid: %s"
3735
- msgstr "%{fn}が不正です: %s"
3734
+ msgid "is invalid: %s"
3735
+ msgstr "が不正です: %s"
3736
3736
 
3737
3737
  #: lib/active_ldap/validations.rb:112
3738
- msgid "%{fn} isn't set: %s"
3739
- msgstr "%{fn}が設定されていません: %s"
3738
+ msgid "isn't set: %s"
3739
+ msgstr "が設定されていません: %s"
3740
3740
 
3741
3741
  #: lib/active_ldap/validations.rb:134
3742
- msgid "%{fn} has excluded value: %s"
3743
- msgid_plural "%{fn} has excluded values: %s"
3744
- msgstr[0] "%{fn}に除外した値があります: %s"
3745
- msgstr[1] "%{fn}に除外した値があります: %s"
3742
+ msgid "has excluded value: %s"
3743
+ msgid_plural "has excluded values: %s"
3744
+ msgstr[0] "に除外した値があります: %s"
3745
+ msgstr[1] "に除外した値があります: %s"
3746
3746
 
3747
3747
  #: lib/active_ldap/validations.rb:169
3748
- msgid "%{fn} is required attribute by objectClass '%s'"
3749
- msgstr "%{fn}はobjectClass'%s'の必須の属性です"
3748
+ msgid "is required attribute by objectClass '%s'"
3749
+ msgstr "はobjectClass'%s'の必須の属性です"
3750
3750
 
3751
3751
  #: lib/active_ldap/validations.rb:171
3752
- msgid "%{fn} is required attribute by objectClass '%s': aliases: %s"
3753
- msgstr "%{fn}はobjectClass'%s'の必須の属性です: 別名: %s"
3752
+ msgid "is required attribute by objectClass '%s': aliases: %s"
3753
+ msgstr "はobjectClass'%s'の必須の属性です: 別名: %s"
3754
3754
 
3755
3755
  #: lib/active_ldap/validations.rb:195
3756
3756
  msgid "<binary-value>"
3757
3757
  msgstr "<バイナリ値>"
3758
3758
 
3759
3759
  #: lib/active_ldap/validations.rb:203
3760
- msgid "%{fn}(%s) has invalid format: %s: required syntax: %s: %s"
3761
- msgstr "%{fn}(%s)は不正な書式です: %s: 要求されている構文: %s: %s"
3760
+ msgid "(%s) has invalid format: %s: required syntax: %s: %s"
3761
+ msgstr "(%s)は不正な書式です: %s: 要求されている構文: %s: %s"
3762
3762
 
3763
3763
  #: lib/active_ldap/validations.rb:205
3764
- msgid "%{fn} has invalid format: %s: required syntax: %s: %s"
3765
- msgstr "%{fn}は不正な書式です: %s: 要求されている構文: %s: %s"
3764
+ msgid "has invalid format: %s: required syntax: %s: %s"
3765
+ msgstr "は不正な書式です: %s: 要求されている構文: %s: %s"
3766
3766
 
3767
3767
  #: lib/active_ldap/command.rb:16
3768
3768
  msgid "Common options:"
@@ -11,7 +11,13 @@ top_dir = File.expand_path(File.join(base_dir, ".."))
11
11
  $LOAD_PATH.unshift(File.join(top_dir, "lib"))
12
12
  $LOAD_PATH.unshift(File.join(top_dir, "test"))
13
13
 
14
- $LOAD_PATH.unshift(File.join(top_dir, "test-unit", "lib"))
14
+ test_unit_lib_dir = File.join(top_dir, "test-unit", "lib")
15
+ if File.exist?(test_unit_lib_dir)
16
+ $LOAD_PATH.unshift(test_unit_lib_dir)
17
+ else
18
+ require 'rubygems'
19
+ gem "test-unit", "> 2"
20
+ end
15
21
  require "test/unit"
16
22
  ARGV.unshift("--priority-mode")
17
23
 
@@ -37,6 +37,7 @@ class TestAdapter < Test::Unit::TestCase
37
37
  assert_parse_filter("(uid=Alice\\2ABob)", {:uid => "Alice**Bob"})
38
38
  assert_parse_filter("(uid=Alice\\2A*\\5CBob)", {:uid => "Alice***\\Bob"})
39
39
  assert_parse_filter("(uid=Alice\\5C\\2A*Bob)", {:uid => "Alice\\***Bob"})
40
+ assert_parse_filter("(uid=Alice\\3ABob)", {:uid => "Alice:Bob"})
40
41
  end
41
42
 
42
43
  def test_empty_filter
@@ -6,6 +6,14 @@ class TestBase < Test::Unit::TestCase
6
6
  include AlTestUtils
7
7
 
8
8
  priority :must
9
+ def test_search_colon_value
10
+ make_temporary_group(:cn => "temp:group") do |group|
11
+ assert_equal("temp:group", group.cn)
12
+ assert_not_nil(@group_class.find("temp:group"))
13
+ end
14
+ end
15
+
16
+ priority :normal
9
17
  def test_lower_case_object_class
10
18
  fixture_file = fixture("lower_case_object_class_schema.rb")
11
19
  schema_entries = eval(File.read(fixture_file))
@@ -30,7 +38,6 @@ class TestBase < Test::Unit::TestCase
30
38
  assert_equal("1.555.5551234", target.umpn)
31
39
  end
32
40
 
33
- priority :normal
34
41
  def test_set_and_get_false
35
42
  user = @user_class.new
36
43
  user.sn = false
@@ -77,7 +77,8 @@ class TestLoad < Test::Unit::TestCase
77
77
  ldif << record
78
78
  ActiveLdap::Base.load(ldif.to_s)
79
79
  user.reload
80
- assert(original_descriptions + [new_description], user.description(true))
80
+ assert_equal(original_descriptions + [new_description],
81
+ user.description(true))
81
82
  end
82
83
  end
83
84
 
@@ -69,15 +69,14 @@ class TestUser < Test::Unit::TestCase
69
69
  errors = %w(person organizationalPerson
70
70
  inetOrgPerson).collect do |object_class|
71
71
  if ActiveLdap.get_text_supported?
72
- format = _("%{fn} is required attribute by objectClass '%s': " \
72
+ format = _("is required attribute by objectClass '%s': " \
73
73
  "aliases: %s")
74
- format = user.gettext(format)
75
- format = format % {:fn => user.class.human_attribute_name("sn")}
74
+ format = user._(format)
76
75
  format % [user.class.human_object_class_name(object_class),
77
76
  user.class.human_attribute_name("surname")]
78
77
  else
79
78
  format = "is required attribute by objectClass '%s': aliases: %s"
80
- user.gettext(format) % [object_class, "surname"]
79
+ user._(format) % [object_class, "surname"]
81
80
  end
82
81
  end
83
82
  assert_equal(errors.sort, user.errors.on(:sn).sort)
@@ -12,8 +12,8 @@ class TestValidation < Test::Unit::TestCase
12
12
  user1.id = user2.id
13
13
  assert_false(user1.save)
14
14
 
15
- format = _("%{fn} is duplicated: %s")
16
- format = format.sub(/^%\{fn\}/, la_('distinguishedName'))
15
+ format = la_('distinguishedName')
16
+ format << ' ' << _("is duplicated: %s")
17
17
  assert_equal([format % [user2.dn.to_s]],
18
18
  user1.errors.full_messages)
19
19
  end
@@ -27,8 +27,8 @@ class TestValidation < Test::Unit::TestCase
27
27
  user.jpeg_photo = "XXX"
28
28
  assert_not_predicate(user, :save)
29
29
 
30
- format = _("%{fn} has invalid format: %s: required syntax: %s: %s")
31
- format = format.sub(/^%\{fn\}/, la_('jpegPhoto'))
30
+ format = la_('jpegPhoto')
31
+ format << ' ' << _("has invalid format: %s: required syntax: %s: %s")
32
32
  arguments = [_("<binary-value>"),
33
33
  lsd_("1.3.6.1.4.1.1466.115.121.1.28"),
34
34
  _("invalid JPEG format")]
@@ -73,8 +73,8 @@ class TestValidation < Test::Unit::TestCase
73
73
  reason = _("attribute value is missing")
74
74
  invalid_format = _("%s is invalid distinguished name (DN): %s")
75
75
  invalid_message = invalid_format % ["uid==,#{user.class.base}", reason]
76
- format = _("%{fn} is invalid: %s")
77
- format = format.sub(/^%\{fn\}/, la_('distinguishedName'))
76
+ format = la_('distinguishedName')
77
+ format << ' ' << _("is invalid: %s")
78
78
  message = format % invalid_message
79
79
  assert_equal([message],
80
80
  user.errors.full_messages.find_all {|m| /DN/ =~ m})
@@ -87,8 +87,8 @@ class TestValidation < Test::Unit::TestCase
87
87
  reason = _("attribute value is missing")
88
88
  invalid_format = _("%s is invalid distinguished name (DN): %s")
89
89
  invalid_message = invalid_format % ["uid==,#{user.class.base}", reason]
90
- format = _("%{fn} is invalid: %s")
91
- format = format.sub(/^%\{fn\}/, la_('distinguishedName'))
90
+ format = la_('distinguishedName')
91
+ format << ' ' << _("is invalid: %s")
92
92
  message = format % invalid_message
93
93
  assert_equal([message], user.errors.full_messages)
94
94
  end
@@ -99,8 +99,8 @@ class TestValidation < Test::Unit::TestCase
99
99
  assert(user.valid?)
100
100
  user.uid_number = ""
101
101
  assert(!user.valid?)
102
- format = _("%{fn} is required attribute by objectClass '%s'")
103
- format = format.sub(/^%\{fn\}/, la_('uidNumber'))
102
+ format = la_('uidNumber')
103
+ format << ' ' << _("is required attribute by objectClass '%s'")
104
104
  blank_message = format % loc_("posixAccount")
105
105
  assert_equal([blank_message], user.errors.full_messages)
106
106
  end
@@ -111,10 +111,10 @@ class TestValidation < Test::Unit::TestCase
111
111
  assert(user.save)
112
112
  user.class.excluded_classes = ['person']
113
113
  assert(!user.save)
114
- format = n_("%{fn} has excluded value: %s",
115
- "%{fn} has excluded values: %s",
116
- 1)
117
- format = format.sub(/^%\{fn\}/, la_("objectClass"))
114
+ format = la_("objectClass")
115
+ format << ' ' << n_("has excluded value: %s",
116
+ "has excluded values: %s",
117
+ 1)
118
118
  message = format % loc_("person")
119
119
  assert_equal([message], user.errors.full_messages)
120
120
  end
@@ -183,8 +183,8 @@ class TestValidation < Test::Unit::TestCase
183
183
  assert(ou_class.new("YYY").save)
184
184
  ou = ou_class.new("YYY")
185
185
  assert(!ou.save)
186
- format = _("%{fn} is duplicated: %s")
187
- format = format.sub(/^%\{fn\}/, la_("distinguishedName"))
186
+ format = la_("distinguishedName")
187
+ format << ' ' << _("is duplicated: %s")
188
188
  message = format % ou.dn
189
189
  assert_equal([message], ou.errors.full_messages)
190
190
  end
@@ -225,16 +225,13 @@ class TestValidation < Test::Unit::TestCase
225
225
  assert_not_nil(syntax_description)
226
226
  params = [formatted_value, syntax_description, reason]
227
227
  params.unshift(option) if option
228
+ localized_name = la_(name)
229
+ format = localized_name << ' '
228
230
  if option
229
- format = _("%{fn}(%s) has invalid format: %s: required syntax: %s: %s")
231
+ format << _("(%s) has invalid format: %s: required syntax: %s: %s")
230
232
  else
231
- format = _("%{fn} has invalid format: %s: required syntax: %s: %s")
232
- end
233
- localized_name = la_(name)
234
- if option and !ActiveLdap.get_text_supported?
235
- localized_name += ' '
233
+ format << _("has invalid format: %s: required syntax: %s: %s")
236
234
  end
237
- format = format.sub(/^%\{fn\}/, localized_name)
238
235
  message = format % params
239
236
  assert_equal([message], model.errors.full_messages)
240
237
  end