activeldap 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. data/CHANGES +34 -0
  2. data/README +13 -0
  3. data/Rakefile +2 -1
  4. data/TODO +6 -0
  5. data/benchmark/bench-al.rb +68 -17
  6. data/examples/al-admin/app/helpers/application_helper.rb +3 -5
  7. data/examples/al-admin/app/views/layouts/_footer.html.erb +2 -0
  8. data/examples/al-admin/config/boot.rb +7 -7
  9. data/examples/al-admin/config/environment.rb +27 -12
  10. data/examples/al-admin/config/environments/development.rb +0 -1
  11. data/examples/al-admin/config/environments/production.rb +6 -1
  12. data/examples/al-admin/config/environments/test.rb +1 -1
  13. data/examples/al-admin/config/initializers/gettext.rb +15 -1
  14. data/examples/al-admin/po/en/al-admin.po +1 -1
  15. data/examples/al-admin/po/ja/al-admin.po +1 -1
  16. data/examples/al-admin/po/nl/al-admin.po +1 -1
  17. data/examples/al-admin/public/dispatch.cgi +0 -0
  18. data/examples/al-admin/public/dispatch.fcgi +0 -0
  19. data/examples/al-admin/public/dispatch.rb +0 -0
  20. data/examples/al-admin/public/javascripts/controls.js +73 -73
  21. data/examples/al-admin/public/javascripts/dragdrop.js +166 -165
  22. data/examples/al-admin/public/javascripts/effects.js +174 -166
  23. data/examples/al-admin/public/javascripts/prototype.js +362 -267
  24. data/examples/al-admin/script/about +0 -0
  25. data/examples/al-admin/script/console +0 -0
  26. data/examples/al-admin/script/dbconsole +3 -0
  27. data/examples/al-admin/script/destroy +0 -0
  28. data/examples/al-admin/script/generate +0 -0
  29. data/examples/al-admin/script/performance/benchmarker +0 -0
  30. data/examples/al-admin/script/performance/profiler +0 -0
  31. data/examples/al-admin/script/performance/request +0 -0
  32. data/examples/al-admin/script/plugin +0 -0
  33. data/examples/al-admin/script/process/inspector +0 -0
  34. data/examples/al-admin/script/process/reaper +0 -0
  35. data/examples/al-admin/script/process/spawner +0 -0
  36. data/examples/al-admin/script/runner +0 -0
  37. data/examples/al-admin/script/server +0 -0
  38. data/examples/al-admin/test/run-test.sh +0 -0
  39. data/examples/groupadd +0 -0
  40. data/examples/groupdel +0 -0
  41. data/examples/groupls +0 -0
  42. data/examples/groupmod +0 -0
  43. data/examples/lpasswd +0 -0
  44. data/examples/ouadd +0 -0
  45. data/examples/useradd +0 -0
  46. data/examples/useradd-binary +0 -0
  47. data/examples/userdel +0 -0
  48. data/examples/userls +0 -0
  49. data/examples/usermod +0 -0
  50. data/examples/usermod-binary-add +0 -0
  51. data/examples/usermod-binary-add-time +0 -0
  52. data/examples/usermod-binary-del +0 -0
  53. data/examples/usermod-lang-add +0 -0
  54. data/lib/active_ldap.rb +10 -4
  55. data/lib/active_ldap/action_controller/ldap_benchmarking.rb +28 -9
  56. data/lib/active_ldap/adapter/base.rb +30 -17
  57. data/lib/active_ldap/adapter/jndi.rb +5 -1
  58. data/lib/active_ldap/adapter/ldap.rb +5 -1
  59. data/lib/active_ldap/association/has_many_utils.rb +7 -1
  60. data/lib/active_ldap/associations.rb +10 -5
  61. data/lib/active_ldap/attributes.rb +6 -1
  62. data/lib/active_ldap/base.rb +154 -52
  63. data/lib/active_ldap/configuration.rb +1 -1
  64. data/lib/active_ldap/connection.rb +7 -4
  65. data/lib/active_ldap/get_text.rb +11 -3
  66. data/lib/active_ldap/ldif.rb +16 -4
  67. data/lib/active_ldap/operations.rb +13 -5
  68. data/lib/active_ldap/schema.rb +6 -2
  69. data/lib/active_ldap/schema/syntaxes.rb +15 -3
  70. data/lib/active_ldap/user_password.rb +4 -4
  71. data/lib/active_ldap/validations.rb +32 -44
  72. data/lib/active_ldap/xml.rb +125 -0
  73. data/po/en/active-ldap.po +740 -85
  74. data/po/ja/active-ldap.po +748 -547
  75. data/rails/README +54 -0
  76. data/rails/init.rb +33 -0
  77. data/rails/plugin/active_ldap/generators/README +2 -0
  78. data/rails/plugin/active_ldap/generators/model_active_ldap/model_active_ldap_generator.rb +1 -1
  79. data/rails/plugin/active_ldap/init.rb +3 -0
  80. data/rails_generators/model_active_ldap/USAGE +17 -0
  81. data/rails_generators/model_active_ldap/model_active_ldap_generator.rb +69 -0
  82. data/rails_generators/model_active_ldap/templates/model_active_ldap.rb +3 -0
  83. data/rails_generators/model_active_ldap/templates/unit_test.rb +8 -0
  84. data/rails_generators/scaffold_active_ldap/scaffold_active_ldap_generator.rb +7 -0
  85. data/rails_generators/scaffold_active_ldap/templates/ldap.yml +18 -0
  86. data/rails_generators/scaffold_al/scaffold_al_generator.rb +20 -0
  87. data/test-unit/History.txt +50 -1
  88. data/test-unit/Manifest.txt +22 -12
  89. data/test-unit/README.txt +31 -12
  90. data/test-unit/Rakefile +14 -1
  91. data/test-unit/TODO +5 -0
  92. data/test-unit/bin/testrb +0 -0
  93. data/test-unit/lib/test/unit.rb +62 -0
  94. data/test-unit/lib/test/unit/assertions.rb +419 -75
  95. data/test-unit/lib/test/unit/autorunner.rb +70 -13
  96. data/test-unit/lib/test/unit/collector.rb +1 -1
  97. data/test-unit/lib/test/unit/collector/load.rb +1 -1
  98. data/test-unit/lib/test/unit/color-scheme.rb +86 -0
  99. data/test-unit/lib/test/unit/color.rb +40 -5
  100. data/test-unit/lib/test/unit/diff.rb +14 -0
  101. data/test-unit/lib/test/unit/fixture.rb +7 -16
  102. data/test-unit/lib/test/unit/notification.rb +9 -0
  103. data/test-unit/lib/test/unit/omission.rb +14 -0
  104. data/test-unit/lib/test/unit/pending.rb +16 -0
  105. data/test-unit/lib/test/unit/priority.rb +17 -2
  106. data/test-unit/lib/test/unit/runner/console.rb +8 -2
  107. data/test-unit/lib/test/unit/testcase.rb +188 -2
  108. data/test-unit/lib/test/unit/ui/console/testrunner.rb +51 -26
  109. data/test-unit/lib/test/unit/util/method-owner-finder.rb +28 -0
  110. data/test-unit/lib/test/unit/version.rb +1 -1
  111. data/test-unit/sample/test_user.rb +22 -0
  112. data/test-unit/test/collector/{test_descendant.rb → test-descendant.rb} +0 -0
  113. data/test-unit/test/collector/{test_load.rb → test-load.rb} +1 -1
  114. data/test-unit/test/run-test.rb +0 -0
  115. data/test-unit/test/{test_attribute.rb → test-attribute.rb} +0 -0
  116. data/test-unit/test/test-color-scheme.rb +56 -0
  117. data/test-unit/test/{test_color.rb → test-color.rb} +10 -0
  118. data/test-unit/test/{test_diff.rb → test-diff.rb} +0 -0
  119. data/test-unit/test/{test_emacs_runner.rb → test-emacs-runner.rb} +0 -0
  120. data/test-unit/test/test-fixture.rb +287 -0
  121. data/test-unit/test/{test_notification.rb → test-notification.rb} +4 -4
  122. data/test-unit/test/{test_omission.rb → test-omission.rb} +6 -6
  123. data/test-unit/test/{test_pending.rb → test-pending.rb} +12 -6
  124. data/test-unit/test/{test_priority.rb → test-priority.rb} +30 -0
  125. data/test-unit/test/test_assertions.rb +411 -69
  126. data/test-unit/test/test_testcase.rb +70 -3
  127. data/test-unit/test/{testunit_test_util.rb → testunit-test-util.rb} +4 -2
  128. data/test-unit/test/ui/test_testrunmediator.rb +1 -1
  129. data/test-unit/test/util/test-method-owner-finder.rb +38 -0
  130. data/test/run-test.rb +0 -0
  131. data/test/test_adapter.rb +3 -0
  132. data/test/test_associations.rb +50 -7
  133. data/test/test_base.rb +193 -11
  134. data/test/test_connection_per_dn.rb +1 -1
  135. data/test/test_ldif.rb +86 -0
  136. data/test/test_load.rb +7 -0
  137. data/test/test_schema.rb +31 -1
  138. data/test/test_syntax.rb +20 -0
  139. data/test/test_user_password.rb +22 -14
  140. data/test/test_validation.rb +70 -29
  141. metadata +99 -77
  142. data/data/locale/en/LC_MESSAGES/active-ldap.mo +0 -0
  143. data/data/locale/ja/LC_MESSAGES/active-ldap.mo +0 -0
  144. data/examples/al-admin/config/initializers/ralative_url_support.rb +0 -1
  145. data/examples/al-admin/lib/accept_http_rails_relative_url_root.rb +0 -9
  146. data/test-unit-ext/misc/rd2html.rb +0 -42
  147. data/test-unit/test/test_fixture.rb +0 -275
@@ -0,0 +1,54 @@
1
+ = ActiveLdap plugin for Ruby on Rails
2
+
3
+ == Setup
4
+
5
+ You need to write RAILS_ROOT/config/ldap.yml like the following:
6
+
7
+ development:
8
+ host: 127.0.0.1
9
+ port: 389
10
+ base: dc=devel,dc=local,dc=net
11
+ bind_dn: cn=admin,dc=local,dc=net
12
+ password: secret
13
+
14
+ test:
15
+ host: 127.0.0.1
16
+ port: 389
17
+ base: dc=test,dc=local,dc=net
18
+ bind_dn: cn=admin,dc=local,dc=net
19
+ password: secret
20
+
21
+ production:
22
+ host: 127.0.0.1
23
+ port: 389
24
+ base: dc=production,dc=local,dc=net
25
+ bind_dn: cn=admin,dc=local,dc=net
26
+ password: secret
27
+
28
+ == Model
29
+
30
+ Here is some examples.
31
+
32
+ app/model/member.rb:
33
+ class Member < ActiveLdap::Base
34
+ ldap_mapping :dn_attribute => 'uid',
35
+ :classes => ['person', 'posixAccount']
36
+ belongs_to :primary_group, :class => "Group",
37
+ :foreign_key => "gidNumber", :primary_key => "gidNumber"
38
+ belongs_to :groups, :many => 'memberUid'
39
+ end
40
+
41
+ app/model/group.rb:
42
+ class Group < ActiveLdap::Base
43
+ ldap_mapping :dn_attribute => "cn", :classes => ['posixGroup']
44
+ has_many :members, :wrap => "memberUid"
45
+ has_many :primary_members,
46
+ :foreign_key => 'gidNumber',
47
+ :primary_key => 'gidNumber'
48
+ end
49
+
50
+ app/model/ou.rb:
51
+ class Ou < ActiveLdap::Base
52
+ ldap_mapping :prefix => "",
53
+ :classes => ["top", "organizationalUnit"]
54
+ end
@@ -0,0 +1,33 @@
1
+ require_library_or_gem 'active_ldap'
2
+ ActiveLdap::Base.logger ||= RAILS_DEFAULT_LOGGER
3
+
4
+ required_version = ["1", "0", "0"]
5
+ if (ActiveLdap::VERSION.split(".") <=> required_version) < 0
6
+ ActiveLdap::Base.class_eval do
7
+ format = _("You need ActiveLdap %s or later")
8
+ logger.error(format % required_version.join("."))
9
+ end
10
+ end
11
+
12
+ ldap_configuration_file = File.join(RAILS_ROOT, 'config', 'ldap.yml')
13
+ if File.exist?(ldap_configuration_file)
14
+ configurations = YAML.load(ERB.new(IO.read(ldap_configuration_file)).result)
15
+ ActiveLdap::Base.configurations = configurations
16
+ ActiveLdap::Base.establish_connection
17
+ else
18
+ ActiveLdap::Base.class_eval do
19
+ format = _("You should run 'script/generator scaffold_active_ldap' to make %s.")
20
+ logger.error(format % ldap_configuration_file)
21
+ end
22
+ end
23
+
24
+ class ::ActionView::Base
25
+ include ActiveLdap::Helper
26
+ end
27
+
28
+ require 'active_ldap/action_controller/ldap_benchmarking'
29
+ module ::ActionController
30
+ class Base
31
+ include ActiveLdap::ActionController::LdapBenchmarking
32
+ end
33
+ end
@@ -0,0 +1,2 @@
1
+ This directory is deprecated. Use generators in rails_generators/.
2
+ This directory will be removed after ActiveLdap 1.0.2 is released.
@@ -54,7 +54,7 @@ class ModelActiveLdapGenerator < Rails::Generator::NamedBase
54
54
  end
55
55
 
56
56
  def default_prefix
57
- "ou=#{Inflector.pluralize(Inflector.demodulize(name))}"
57
+ "ou=#{name.demodulize.pluralize}"
58
58
  end
59
59
 
60
60
  def ldap_mapping(indent=' ')
@@ -1,3 +1,6 @@
1
+ # deprecated. Use rails/init.rb.
2
+ # This will be removed after ActiveLdap 1.0.2 is released.
3
+
1
4
  require_library_or_gem 'active_ldap'
2
5
  ActiveLdap::Base.logger ||= RAILS_DEFAULT_LOGGER
3
6
 
@@ -0,0 +1,17 @@
1
+ Description:
2
+ The model_active_ldap generator creates stubs for a new model.
3
+
4
+ The generator takes a model name as its argument. The model name may be given in CamelCase or under_score and
5
+ should not be suffixed with 'Model'.
6
+
7
+ The generator creates a model class in app/models, a test suite in test/unit, and test fixtures in
8
+ test/fixtures/singular_name.yml. It will not create a migration.
9
+
10
+ Examples:
11
+ ./script/generate model_active_ldap user
12
+
13
+ This will create a User model:
14
+ Model: app/models/user.rb
15
+ Test: test/unit/user_test.rb
16
+ Fixtures: test/fixtures/users.yml
17
+
@@ -0,0 +1,69 @@
1
+ require 'active_ldap'
2
+
3
+ class ModelActiveLdapGenerator < Rails::Generator::NamedBase
4
+ include ActiveLdap::GetTextSupport
5
+
6
+ default_options :dn_attribute => "cn", :classes => nil
7
+
8
+ def manifest
9
+ record do |m|
10
+ # Check for class naming collisions.
11
+ m.class_collisions class_path, class_name, "#{class_name}Test"
12
+
13
+ # Model and test directories.
14
+ m.directory File.join('app/models', class_path)
15
+ m.directory File.join('test/unit', class_path)
16
+
17
+ # Model class and unit test.
18
+ m.template('model_active_ldap.rb',
19
+ File.join('app/models', class_path, "#{file_name}.rb"),
20
+ :assigns => {:ldap_mapping => ldap_mapping})
21
+ m.template('unit_test.rb',
22
+ File.join('test/unit', class_path, "#{file_name}_test.rb"))
23
+ end
24
+ end
25
+
26
+ private
27
+ def add_options!(opt)
28
+ opt.separator ''
29
+ opt.separator 'Options:'
30
+ opt.on("--dn-attribute=ATTRIBUTE",
31
+ _("Use ATTRIBUTE as default DN attribute for " \
32
+ "instances of this model"),
33
+ _("(default: %s)") % default_options[:dn_attribute]) do |attribute|
34
+ options[:dn_attribute] = attribute
35
+ end
36
+
37
+ opt.on("--prefix=PREFIX",
38
+ _("Use PREFIX as prefix for this model"),
39
+ _("(default: %s)") % "ou=Names") do |prefix|
40
+ options[:prefix] = prefix
41
+ end
42
+
43
+ opt.on("--classes=CLASS,CLASS,...",
44
+ Array,
45
+ "Use CLASSES as required objectClass for instances of this model",
46
+ "(default: %s)" % default_options[:classes]) do |classes|
47
+ options[:classes] = classes
48
+ end
49
+ end
50
+
51
+ def prefix
52
+ options[:prefix] || default_prefix
53
+ end
54
+
55
+ def default_prefix
56
+ "ou=#{name.demodulize.pluralize}"
57
+ end
58
+
59
+ def ldap_mapping(indent=' ')
60
+ mapping = "ldap_mapping "
61
+ mapping_options = [":dn_attribute => #{options[:dn_attribute].dump}"]
62
+ mapping_options << ":prefix => #{prefix.dump}"
63
+ if options[:classes]
64
+ mapping_options << ":classes => #{options[:classes].inspect}"
65
+ end
66
+ mapping_options = mapping_options.join(",\n#{indent}#{' ' * mapping.size}")
67
+ "#{indent}#{mapping}#{mapping_options}"
68
+ end
69
+ end
@@ -0,0 +1,3 @@
1
+ class <%= class_name %> < ActiveLdap::Base
2
+ <%= ldap_mapping %>
3
+ end
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class <%= class_name %>Test < Test::Unit::TestCase
4
+ # Replace this with your real tests.
5
+ def test_truth
6
+ assert true
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ class ScaffoldActiveLdapGenerator < Rails::Generator::Base
2
+ def manifest
3
+ record do |m|
4
+ m.template("ldap.yml", File.join("config", "ldap.yml"))
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,18 @@
1
+ development:
2
+ host: 127.0.0.1
3
+ base: dc=devel,dc=local,dc=net
4
+ bind_dn: cn=admin,dc=local,dc=net
5
+ password: secret
6
+
7
+ test:
8
+ host: 127.0.0.1
9
+ base: dc=test,dc=local,dc=net
10
+ bind_dn: cn=admin,dc=local,dc=net
11
+ password: secret
12
+
13
+ production:
14
+ host: 127.0.0.1
15
+ method: :tls
16
+ base: dc=production,dc=local,dc=net
17
+ bind_dn: cn=admin,dc=local,dc=net
18
+ password: secret
@@ -0,0 +1,20 @@
1
+ class ScaffoldAlGenerator < Rails::Generator::Base
2
+ include ActiveLdap::GetTextSupport
3
+
4
+ def initialize(*args)
5
+ duped_args = args.collect {|arg| arg.dup}
6
+ super
7
+ logger.warning(_("scaffold_al is deprecated. " \
8
+ "Use scaffold_active_ldap instead."))
9
+ generator_class = self.class.lookup("scaffold_active_ldap").klass
10
+ @generator = generator_class.new(duped_args)
11
+ end
12
+
13
+ def manifest
14
+ @generator.manifest
15
+ end
16
+
17
+ def source_path(*args)
18
+ @generator.source_path(*args)
19
+ end
20
+ end
@@ -1,4 +1,53 @@
1
- === 2.0.0 / 2008-06-15
1
+ === 2.0.2 / 2008-12-21
2
+
3
+ * 2 major enhancements
4
+
5
+ * re-support ruby 1.8.5.
6
+ * improve exception object comparison.
7
+
8
+ * 3 bug fixes
9
+
10
+ * [#22723]: collector fails on anonymous classes
11
+ * [#22986]: Test names with '?' blow up on Windows
12
+ * [#22988]: don't create .test-result on non-priority mode.
13
+
14
+ * Thanks
15
+
16
+ * Erik Hollensbe
17
+ * Daniel Berger
18
+ * Bill Lear
19
+
20
+ === 2.0.1 / 2008-11-09
21
+
22
+ * 19 major enhancements
23
+
24
+ * support ruby 1.9.1.
25
+ * add run_test method to be extensible.
26
+ * improve priority-mode auto off.
27
+ * improve startup/shutdown RDoc. [Daniel Berger]
28
+ * add assert_compare. [#20851] [Designing Patterns]
29
+ * add assert_fail_assertion. [#20851] [Designing Patterns]
30
+ * add assert_raise_message. [#20851] [Designing Patterns]
31
+ * support folded diff.
32
+ * add assert_raise_kind_of. [Daniel Berger]
33
+ * ingore inherited test for nested test case.
34
+ * add assert_const_defined.
35
+ * add assert_not_const_defined.
36
+ * support assert_raise with an exception object.
37
+ * support assert_raise with no arguments that asserts any
38
+ exception is raised. [#22602] [Daniel Berger]
39
+ * support folded dot progress.
40
+ * add --progress-row-max option.
41
+ * support color scheme customize.
42
+ * support configuration file. (YAML)
43
+ * recognize test-XXX.rb files as test files not only test_XXX.rb
44
+
45
+ * Thanks
46
+
47
+ * Daniel Berger
48
+ * Designing Patterns
49
+
50
+ === 2.0.0 / 2008-06-18
2
51
 
3
52
  * 15 major enhancements
4
53
 
@@ -2,7 +2,12 @@ History.txt
2
2
  Manifest.txt
3
3
  README.txt
4
4
  Rakefile
5
+ TODO
5
6
  bin/testrb
7
+ html/classic.html
8
+ html/index.html
9
+ html/index.html.ja
10
+ html/test-unit-classic.png
6
11
  lib/test/unit.rb
7
12
  lib/test/unit/assertionfailederror.rb
8
13
  lib/test/unit/assertions.rb
@@ -13,6 +18,7 @@ lib/test/unit/collector/descendant.rb
13
18
  lib/test/unit/collector/dir.rb
14
19
  lib/test/unit/collector/load.rb
15
20
  lib/test/unit/collector/objectspace.rb
21
+ lib/test/unit/color-scheme.rb
16
22
  lib/test/unit/color.rb
17
23
  lib/test/unit/diff.rb
18
24
  lib/test/unit/error.rb
@@ -35,6 +41,7 @@ lib/test/unit/ui/testrunner.rb
35
41
  lib/test/unit/ui/testrunnermediator.rb
36
42
  lib/test/unit/ui/testrunnerutilities.rb
37
43
  lib/test/unit/util/backtracefilter.rb
44
+ lib/test/unit/util/method-owner-finder.rb
38
45
  lib/test/unit/util/observable.rb
39
46
  lib/test/unit/util/procwrapper.rb
40
47
  lib/test/unit/version.rb
@@ -42,29 +49,32 @@ sample/adder.rb
42
49
  sample/subtracter.rb
43
50
  sample/tc_adder.rb
44
51
  sample/tc_subtracter.rb
52
+ sample/test_user.rb
45
53
  sample/ts_examples.rb
46
- test/collector/test_descendant.rb
54
+ test/collector/test-descendant.rb
55
+ test/collector/test-load.rb
47
56
  test/collector/test_dir.rb
48
- test/collector/test_load.rb
49
57
  test/collector/test_objectspace.rb
50
58
  test/run-test.rb
59
+ test/test-attribute.rb
60
+ test/test-color-scheme.rb
61
+ test/test-color.rb
62
+ test/test-diff.rb
63
+ test/test-emacs-runner.rb
64
+ test/test-fixture.rb
65
+ test/test-notification.rb
66
+ test/test-omission.rb
67
+ test/test-pending.rb
68
+ test/test-priority.rb
51
69
  test/test_assertions.rb
52
- test/test_attribute.rb
53
- test/test_color.rb
54
- test/test_diff.rb
55
- test/test_emacs_runner.rb
56
70
  test/test_error.rb
57
71
  test/test_failure.rb
58
- test/test_fixture.rb
59
- test/test_notification.rb
60
- test/test_omission.rb
61
- test/test_pending.rb
62
- test/test_priority.rb
63
72
  test/test_testcase.rb
64
73
  test/test_testresult.rb
65
74
  test/test_testsuite.rb
66
- test/testunit_test_util.rb
75
+ test/testunit-test-util.rb
67
76
  test/ui/test_testrunmediator.rb
77
+ test/util/test-method-owner-finder.rb
68
78
  test/util/test_backtracefilter.rb
69
79
  test/util/test_observable.rb
70
80
  test/util/test_procwrapper.rb
@@ -1,13 +1,17 @@
1
- = Test::Unit (Classic)
1
+ = Test::Unit 2.x
2
2
 
3
3
  * http://rubyforge.org/projects/test-unit/
4
4
 
5
- == DESCRIPTION:
5
+ == DESCRIPTION
6
6
 
7
- Test::Unit (Classic) - Nathaniel Talbott's originial test-unit,
8
- externalized from the ruby project as a gem (for tool developers).
7
+ Test::Unit 2.x - Improved version of Test::Unit bundled in
8
+ Ruby 1.8.x.
9
9
 
10
- == FEATURES/PROBLEMS:
10
+ Ruby 1.9.x bundles miniunit not Test::Unit. Test::Unit
11
+ bundled in Ruby 1.8.x had not been improved but unbundled
12
+ Test::Unit (Test::Unit 2.x) will be improved actively.
13
+
14
+ == FEATURES
11
15
 
12
16
  * Test::Unit 1.2.3 is the original Test::Unit, taken
13
17
  straight from the ruby distribution. It is being
@@ -15,18 +19,33 @@ externalized from the ruby project as a gem (for tool developers).
15
19
  stand-alone package. (The test framework in ruby is going
16
20
  to radically change very soon).
17
21
 
18
- * DO NOT INSTALL THIS GEM unless you're active state or some other
19
- development tool provider! You don't need it.
22
+ * Test::Unit 2.x will be improved actively and may break
23
+ compatiblity with Test::Unit 1.2.3. (We will not hope it
24
+ if it isn't needed.)
25
+
26
+ * Some features exist as separated gems like GUI test
27
+ runner. (Tk, GTK+ and Fox) test-unit-full gem package
28
+ provides for installing all Test::Unit related gems
29
+ easily.
30
+
31
+ == INSTALL
20
32
 
21
- * Test::Unit 2.0.0 or later are extended versions of the
22
- original Test::Unit (== Tset::Unit 1.2.3).
33
+ % sudo gem install test-unit
23
34
 
24
- == INSTALL:
35
+ If you want to use full Test::Unit features:
25
36
 
26
- * sudo gem install test-unit
37
+ % sudo gem install test-unit-full
27
38
 
28
- == LICENSE:
39
+ == LICENSE
29
40
 
30
41
  (The Ruby License)
31
42
 
32
43
  This software is distributed under the same terms as ruby.
44
+
45
+ == Thanks
46
+
47
+ * Daniel Berger: Suggestions and bug reports.
48
+ * Designing Patterns: Suggestions.
49
+ * Erik Hollensbe: Suggestions.
50
+ * Bill Lear: A suggestion.
51
+ * Diego Pettenò: A bug report.