activeldap 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +10 -0
- data/README +3 -2
- data/data/locale/en/LC_MESSAGES/active-ldap.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/active-ldap.mo +0 -0
- data/examples/al-admin/po/en/al-admin.po +1 -1
- data/examples/al-admin/po/ja/al-admin.po +1 -1
- data/examples/al-admin/po/nl/al-admin.po +1 -1
- data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifier.rb +7 -8
- data/examples/al-admin/vendor/plugins/exception_notification/lib/exception_notifier_helper.rb +2 -1
- data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_environment.rhtml +1 -1
- data/examples/al-admin/vendor/plugins/exception_notification/views/exception_notifier/_request.rhtml +2 -1
- data/lib/active_ldap.rb +9 -3
- data/lib/active_ldap/action_controller/ldap_benchmarking.rb +36 -0
- data/lib/active_ldap/adapter/jndi.rb +1 -1
- data/lib/active_ldap/adapter/jndi_connection.rb +2 -1
- data/lib/active_ldap/association/belongs_to_many.rb +10 -2
- data/lib/active_ldap/association/collection.rb +10 -0
- data/lib/active_ldap/association/has_many_utils.rb +13 -9
- data/lib/active_ldap/association/has_many_wrap.rb +10 -2
- data/lib/active_ldap/associations.rb +3 -3
- data/lib/active_ldap/base.rb +95 -32
- data/lib/active_ldap/connection.rb +1 -1
- data/lib/active_ldap/distinguished_name.rb +3 -0
- data/lib/active_ldap/entry_attribute.rb +2 -2
- data/lib/active_ldap/ldif.rb +2 -2
- data/lib/active_ldap/operations.rb +7 -3
- data/lib/active_ldap/user_password.rb +0 -1
- data/lib/active_ldap/validations.rb +2 -0
- data/po/en/active-ldap.po +1 -1
- data/po/ja/active-ldap.po +1 -1
- data/rails/plugin/active_ldap/init.rb +3 -34
- data/test-unit/History.txt +32 -0
- data/test-unit/Manifest.txt +70 -0
- data/test-unit/README.txt +32 -0
- data/test-unit/Rakefile +22 -0
- data/test-unit/bin/testrb +5 -0
- data/test-unit/lib/test/unit.rb +280 -0
- data/test-unit/lib/test/unit/assertionfailederror.rb +14 -0
- data/test-unit/lib/test/unit/assertions.rb +722 -0
- data/test-unit/lib/test/unit/attribute.rb +125 -0
- data/test-unit/lib/test/unit/autorunner.rb +250 -0
- data/test-unit/lib/test/unit/collector.rb +43 -0
- data/test-unit/lib/test/unit/collector/descendant.rb +23 -0
- data/test-unit/lib/test/unit/collector/dir.rb +108 -0
- data/test-unit/lib/test/unit/collector/load.rb +135 -0
- data/test-unit/lib/test/unit/collector/objectspace.rb +34 -0
- data/test-unit/lib/test/unit/color.rb +61 -0
- data/test-unit/lib/test/unit/diff.rb +524 -0
- data/test-unit/lib/test/unit/error.rb +124 -0
- data/test-unit/lib/test/unit/exceptionhandler.rb +39 -0
- data/test-unit/lib/test/unit/failure.rb +110 -0
- data/test-unit/lib/test/unit/fixture.rb +185 -0
- data/test-unit/lib/test/unit/notification.rb +116 -0
- data/test-unit/lib/test/unit/omission.rb +129 -0
- data/test-unit/lib/test/unit/pending.rb +130 -0
- data/test-unit/lib/test/unit/priority.rb +146 -0
- data/test-unit/lib/test/unit/runner/console.rb +46 -0
- data/test-unit/lib/test/unit/runner/emacs.rb +8 -0
- data/test-unit/lib/test/unit/testcase.rb +174 -0
- data/test-unit/lib/test/unit/testresult.rb +89 -0
- data/test-unit/lib/test/unit/testsuite.rb +110 -0
- data/test-unit/lib/test/unit/ui/console/outputlevel.rb +14 -0
- data/test-unit/lib/test/unit/ui/console/testrunner.rb +195 -0
- data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +49 -0
- data/test-unit/lib/test/unit/ui/testrunner.rb +20 -0
- data/test-unit/lib/test/unit/ui/testrunnermediator.rb +77 -0
- data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/test-unit/lib/test/unit/util/backtracefilter.rb +41 -0
- data/test-unit/lib/test/unit/util/observable.rb +90 -0
- data/test-unit/lib/test/unit/util/procwrapper.rb +48 -0
- data/test-unit/lib/test/unit/version.rb +7 -0
- data/test-unit/sample/adder.rb +13 -0
- data/test-unit/sample/subtracter.rb +12 -0
- data/test-unit/sample/tc_adder.rb +18 -0
- data/test-unit/sample/tc_subtracter.rb +18 -0
- data/test-unit/sample/ts_examples.rb +7 -0
- data/test-unit/test/collector/test_descendant.rb +135 -0
- data/test-unit/test/collector/test_dir.rb +406 -0
- data/test-unit/test/collector/test_load.rb +333 -0
- data/test-unit/test/collector/test_objectspace.rb +98 -0
- data/test-unit/test/run-test.rb +13 -0
- data/test-unit/test/test_assertions.rb +693 -0
- data/test-unit/test/test_attribute.rb +86 -0
- data/{test-unit-ext → test-unit}/test/test_color.rb +3 -5
- data/{test-unit-ext → test-unit}/test/test_diff.rb +18 -16
- data/test-unit/test/test_emacs_runner.rb +60 -0
- data/test-unit/test/test_error.rb +26 -0
- data/test-unit/test/test_failure.rb +33 -0
- data/test-unit/test/test_fixture.rb +275 -0
- data/{test-unit-ext → test-unit}/test/test_notification.rb +7 -6
- data/test-unit/test/test_omission.rb +81 -0
- data/{test-unit-ext → test-unit}/test/test_pending.rb +15 -15
- data/{test-unit-ext → test-unit}/test/test_priority.rb +4 -3
- data/test-unit/test/test_testcase.rb +411 -0
- data/test-unit/test/test_testresult.rb +113 -0
- data/test-unit/test/test_testsuite.rb +129 -0
- data/test-unit/test/testunit_test_util.rb +12 -0
- data/test-unit/test/ui/test_testrunmediator.rb +20 -0
- data/test-unit/test/util/test_backtracefilter.rb +41 -0
- data/test-unit/test/util/test_observable.rb +102 -0
- data/test-unit/test/util/test_procwrapper.rb +36 -0
- data/test/al-test-utils.rb +4 -4
- data/test/command.rb +1 -1
- data/test/run-test.rb +5 -4
- data/test/test_associations.rb +143 -9
- data/test/test_base.rb +25 -1
- data/test/test_dn.rb +2 -0
- data/test/test_find.rb +8 -1
- data/test/test_ldif.rb +51 -114
- data/test/test_reflection.rb +4 -8
- data/test/test_usermod-lang-add.rb +2 -1
- data/test/test_validation.rb +4 -3
- metadata +76 -31
- data/test-unit-ext/NEWS.en +0 -28
- data/test-unit-ext/NEWS.ja +0 -28
- data/test-unit-ext/README.en +0 -247
- data/test-unit-ext/README.ja +0 -246
- data/test-unit-ext/Rakefile +0 -111
- data/test-unit-ext/lib/test-unit-ext.rb +0 -16
- data/test-unit-ext/lib/test-unit-ext/always-show-result.rb +0 -28
- data/test-unit-ext/lib/test-unit-ext/assertions.rb +0 -40
- data/test-unit-ext/lib/test-unit-ext/attributes.rb +0 -129
- data/test-unit-ext/lib/test-unit-ext/backtrace-filter.rb +0 -17
- data/test-unit-ext/lib/test-unit-ext/color.rb +0 -59
- data/test-unit-ext/lib/test-unit-ext/colorized-runner.rb +0 -111
- data/test-unit-ext/lib/test-unit-ext/diff.rb +0 -516
- data/test-unit-ext/lib/test-unit-ext/long-display-for-emacs.rb +0 -25
- data/test-unit-ext/lib/test-unit-ext/notification.rb +0 -79
- data/test-unit-ext/lib/test-unit-ext/omission.rb +0 -96
- data/test-unit-ext/lib/test-unit-ext/pending.rb +0 -97
- data/test-unit-ext/lib/test-unit-ext/priority.rb +0 -158
- data/test-unit-ext/lib/test-unit-ext/version.rb +0 -3
- data/test-unit-ext/lib/test-unit-ext/xml-report.rb +0 -224
- data/test-unit-ext/test/run-test.rb +0 -14
- data/test-unit-ext/test/test_attributes.rb +0 -139
- data/test-unit-ext/test/test_omission.rb +0 -64
- data/test-unit-ext/test/test_xml_report.rb +0 -161
data/test/test_reflection.rb
CHANGED
@@ -96,15 +96,13 @@ class TestReflection < Test::Unit::TestCase
|
|
96
96
|
make_temporary_user do |user, password|
|
97
97
|
attributes = user.must.collect(&:name) + user.may.collect(&:name)
|
98
98
|
attributes -= ["objectClass"]
|
99
|
-
attributes = attributes.collect
|
100
|
-
Inflector.underscore(x)
|
101
|
-
end
|
99
|
+
attributes = attributes.collect(&:underscore)
|
102
100
|
assert_equal([], attributes - user.methods)
|
103
101
|
assert_equal([], attributes - user.methods(false))
|
104
102
|
|
105
103
|
normalize_attributes_list = Proc.new do |*attributes_list|
|
106
104
|
attributes_list.collect do |attrs|
|
107
|
-
attrs.collect
|
105
|
+
attrs.collect(&:underscore)
|
108
106
|
end
|
109
107
|
end
|
110
108
|
assert_methods_with_only_required_classes(user, attributes,
|
@@ -115,15 +113,13 @@ class TestReflection < Test::Unit::TestCase
|
|
115
113
|
user.remove_class("inetOrgPerson")
|
116
114
|
attributes = user.must.collect(&:name) + user.may.collect(&:name)
|
117
115
|
attributes -= ["objectClass"]
|
118
|
-
attributes = attributes.collect
|
119
|
-
Inflector.underscore(x)
|
120
|
-
end
|
116
|
+
attributes = attributes.collect(&:underscore)
|
121
117
|
assert_equal([], attributes - user.methods)
|
122
118
|
assert_equal([], attributes - user.methods(false))
|
123
119
|
|
124
120
|
normalize_attributes_list = Proc.new do |*attributes_list|
|
125
121
|
attributes_list.collect do |attrs|
|
126
|
-
attrs.collect
|
122
|
+
attrs.collect(&:underscore)
|
127
123
|
end
|
128
124
|
end
|
129
125
|
assert_methods_with_only_required_classes(user, attributes,
|
@@ -40,7 +40,8 @@ class TestUsermodLangAdd < Test::Unit::TestCase
|
|
40
40
|
|
41
41
|
user = @user_class.find(name)
|
42
42
|
assert_equal(name, user.uid)
|
43
|
-
assert_equal([cn, {'lang-en-us' => cn}]
|
43
|
+
assert_equal([cn, {'lang-en-us' => cn}].sort_by(&:inspect),
|
44
|
+
user.cn.sort_by(&:inspect))
|
44
45
|
assert_equal(uid.to_i, user.uid_number)
|
45
46
|
assert_equal(uid.to_i, user.gid_number)
|
46
47
|
assert_equal(uid.to_s, user.uid_number_before_type_cast)
|
data/test/test_validation.rb
CHANGED
@@ -19,7 +19,7 @@ class TestValidation < Test::Unit::TestCase
|
|
19
19
|
1) % {:fn => la_("objectClass")}
|
20
20
|
message = format % loc_("person")
|
21
21
|
else
|
22
|
-
message = "
|
22
|
+
message = "objectClass has excluded value: person"
|
23
23
|
end
|
24
24
|
assert_equal([message], user.errors.full_messages)
|
25
25
|
end
|
@@ -33,8 +33,9 @@ class TestValidation < Test::Unit::TestCase
|
|
33
33
|
assert(user.save)
|
34
34
|
|
35
35
|
user = user.class.find(user.dn)
|
36
|
-
assert_equal([{"lang-ja" => "ユーザ"},
|
37
|
-
|
36
|
+
assert_equal([{"lang-ja" => "ユーザ"},
|
37
|
+
{"lang-en" => "User"}].sort_by {|hash| hash.keys.first},
|
38
|
+
user.display_name.sort_by {|hash| hash.keys.first})
|
38
39
|
end
|
39
40
|
end
|
40
41
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: activeldap
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2008-
|
6
|
+
version: 1.0.1
|
7
|
+
date: 2008-06-15 00:00:00 -07:00
|
8
8
|
summary: Ruby/ActiveLdap is a object-oriented API to LDAP
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -373,6 +373,7 @@ files:
|
|
373
373
|
- examples/usermod-binary-del
|
374
374
|
- examples/usermod-lang-add
|
375
375
|
- lib/active_ldap.rb
|
376
|
+
- lib/active_ldap/action_controller/ldap_benchmarking.rb
|
376
377
|
- lib/active_ldap/acts/tree.rb
|
377
378
|
- lib/active_ldap/adapter/base.rb
|
378
379
|
- lib/active_ldap/adapter/jndi.rb
|
@@ -427,36 +428,77 @@ files:
|
|
427
428
|
- rails/plugin/active_ldap/generators/scaffold_active_ldap/scaffold_active_ldap_generator.rb
|
428
429
|
- rails/plugin/active_ldap/generators/scaffold_al/scaffold_al_generator.rb
|
429
430
|
- rails/plugin/active_ldap/init.rb
|
430
|
-
- test-unit-ext/NEWS.en
|
431
|
-
- test-unit-ext/NEWS.ja
|
432
|
-
- test-unit-ext/README.en
|
433
|
-
- test-unit-ext/README.ja
|
434
|
-
- test-unit-ext/Rakefile
|
435
|
-
- test-unit-ext/lib/test-unit-ext.rb
|
436
|
-
- test-unit-ext/lib/test-unit-ext/always-show-result.rb
|
437
|
-
- test-unit-ext/lib/test-unit-ext/assertions.rb
|
438
|
-
- test-unit-ext/lib/test-unit-ext/attributes.rb
|
439
|
-
- test-unit-ext/lib/test-unit-ext/backtrace-filter.rb
|
440
|
-
- test-unit-ext/lib/test-unit-ext/color.rb
|
441
|
-
- test-unit-ext/lib/test-unit-ext/colorized-runner.rb
|
442
|
-
- test-unit-ext/lib/test-unit-ext/diff.rb
|
443
|
-
- test-unit-ext/lib/test-unit-ext/long-display-for-emacs.rb
|
444
|
-
- test-unit-ext/lib/test-unit-ext/notification.rb
|
445
|
-
- test-unit-ext/lib/test-unit-ext/omission.rb
|
446
|
-
- test-unit-ext/lib/test-unit-ext/pending.rb
|
447
|
-
- test-unit-ext/lib/test-unit-ext/priority.rb
|
448
|
-
- test-unit-ext/lib/test-unit-ext/version.rb
|
449
|
-
- test-unit-ext/lib/test-unit-ext/xml-report.rb
|
450
431
|
- test-unit-ext/misc/rd2html.rb
|
451
|
-
- test-unit
|
452
|
-
- test-unit
|
453
|
-
- test-unit
|
454
|
-
- test-unit
|
455
|
-
- test-unit
|
456
|
-
- test-unit
|
457
|
-
- test-unit
|
458
|
-
- test-unit
|
459
|
-
- test-unit
|
432
|
+
- test-unit/History.txt
|
433
|
+
- test-unit/Manifest.txt
|
434
|
+
- test-unit/README.txt
|
435
|
+
- test-unit/Rakefile
|
436
|
+
- test-unit/bin/testrb
|
437
|
+
- test-unit/lib/test/unit.rb
|
438
|
+
- test-unit/lib/test/unit/assertionfailederror.rb
|
439
|
+
- test-unit/lib/test/unit/assertions.rb
|
440
|
+
- test-unit/lib/test/unit/attribute.rb
|
441
|
+
- test-unit/lib/test/unit/autorunner.rb
|
442
|
+
- test-unit/lib/test/unit/collector.rb
|
443
|
+
- test-unit/lib/test/unit/collector/descendant.rb
|
444
|
+
- test-unit/lib/test/unit/collector/dir.rb
|
445
|
+
- test-unit/lib/test/unit/collector/load.rb
|
446
|
+
- test-unit/lib/test/unit/collector/objectspace.rb
|
447
|
+
- test-unit/lib/test/unit/color.rb
|
448
|
+
- test-unit/lib/test/unit/diff.rb
|
449
|
+
- test-unit/lib/test/unit/error.rb
|
450
|
+
- test-unit/lib/test/unit/exceptionhandler.rb
|
451
|
+
- test-unit/lib/test/unit/failure.rb
|
452
|
+
- test-unit/lib/test/unit/fixture.rb
|
453
|
+
- test-unit/lib/test/unit/notification.rb
|
454
|
+
- test-unit/lib/test/unit/omission.rb
|
455
|
+
- test-unit/lib/test/unit/pending.rb
|
456
|
+
- test-unit/lib/test/unit/priority.rb
|
457
|
+
- test-unit/lib/test/unit/runner/console.rb
|
458
|
+
- test-unit/lib/test/unit/runner/emacs.rb
|
459
|
+
- test-unit/lib/test/unit/testcase.rb
|
460
|
+
- test-unit/lib/test/unit/testresult.rb
|
461
|
+
- test-unit/lib/test/unit/testsuite.rb
|
462
|
+
- test-unit/lib/test/unit/ui/console/outputlevel.rb
|
463
|
+
- test-unit/lib/test/unit/ui/console/testrunner.rb
|
464
|
+
- test-unit/lib/test/unit/ui/emacs/testrunner.rb
|
465
|
+
- test-unit/lib/test/unit/ui/testrunner.rb
|
466
|
+
- test-unit/lib/test/unit/ui/testrunnermediator.rb
|
467
|
+
- test-unit/lib/test/unit/ui/testrunnerutilities.rb
|
468
|
+
- test-unit/lib/test/unit/util/backtracefilter.rb
|
469
|
+
- test-unit/lib/test/unit/util/observable.rb
|
470
|
+
- test-unit/lib/test/unit/util/procwrapper.rb
|
471
|
+
- test-unit/lib/test/unit/version.rb
|
472
|
+
- test-unit/sample/adder.rb
|
473
|
+
- test-unit/sample/subtracter.rb
|
474
|
+
- test-unit/sample/tc_adder.rb
|
475
|
+
- test-unit/sample/tc_subtracter.rb
|
476
|
+
- test-unit/sample/ts_examples.rb
|
477
|
+
- test-unit/test/collector/test_descendant.rb
|
478
|
+
- test-unit/test/collector/test_dir.rb
|
479
|
+
- test-unit/test/collector/test_load.rb
|
480
|
+
- test-unit/test/collector/test_objectspace.rb
|
481
|
+
- test-unit/test/run-test.rb
|
482
|
+
- test-unit/test/test_assertions.rb
|
483
|
+
- test-unit/test/test_attribute.rb
|
484
|
+
- test-unit/test/test_color.rb
|
485
|
+
- test-unit/test/test_diff.rb
|
486
|
+
- test-unit/test/test_emacs_runner.rb
|
487
|
+
- test-unit/test/test_error.rb
|
488
|
+
- test-unit/test/test_failure.rb
|
489
|
+
- test-unit/test/test_fixture.rb
|
490
|
+
- test-unit/test/test_notification.rb
|
491
|
+
- test-unit/test/test_omission.rb
|
492
|
+
- test-unit/test/test_pending.rb
|
493
|
+
- test-unit/test/test_priority.rb
|
494
|
+
- test-unit/test/test_testcase.rb
|
495
|
+
- test-unit/test/test_testresult.rb
|
496
|
+
- test-unit/test/test_testsuite.rb
|
497
|
+
- test-unit/test/testunit_test_util.rb
|
498
|
+
- test-unit/test/ui/test_testrunmediator.rb
|
499
|
+
- test-unit/test/util/test_backtracefilter.rb
|
500
|
+
- test-unit/test/util/test_observable.rb
|
501
|
+
- test-unit/test/util/test_procwrapper.rb
|
460
502
|
- test/al-test-utils.rb
|
461
503
|
- test/command.rb
|
462
504
|
- test/config.yaml.sample
|
@@ -541,6 +583,9 @@ rdoc_options:
|
|
541
583
|
- lib/active_ldap.rb
|
542
584
|
extra_rdoc_files:
|
543
585
|
- examples/al-admin/public/robots.txt
|
586
|
+
- test-unit/History.txt
|
587
|
+
- test-unit/Manifest.txt
|
588
|
+
- test-unit/README.txt
|
544
589
|
executables: []
|
545
590
|
|
546
591
|
extensions: []
|
data/test-unit-ext/NEWS.en
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# -*- rd -*-
|
2
|
-
|
3
|
-
= NEWS
|
4
|
-
|
5
|
-
== 0.5.0: 2008-04-07
|
6
|
-
|
7
|
-
* Update document.
|
8
|
-
* Support pend.
|
9
|
-
* Support notify.
|
10
|
-
|
11
|
-
== 0.4.0: 2008-03-17
|
12
|
-
|
13
|
-
* Changed XML report format.
|
14
|
-
|
15
|
-
== 0.3.0: 2008-03-10
|
16
|
-
|
17
|
-
* Changed XML report format.
|
18
|
-
* Improved search method to find test result directory.
|
19
|
-
|
20
|
-
== 0.2.0: 2008-03-03
|
21
|
-
|
22
|
-
* Supported XML report.
|
23
|
-
* Added --xml-report option.
|
24
|
-
* Supported diff output for assert_equal.
|
25
|
-
|
26
|
-
== 0.1.0: 2008-02-21
|
27
|
-
|
28
|
-
* Initial release.
|
data/test-unit-ext/NEWS.ja
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# -*- rd -*-
|
2
|
-
|
3
|
-
= NEWS.ja
|
4
|
-
|
5
|
-
== 0.5.0: 2008-04-07
|
6
|
-
|
7
|
-
* ドキュメントの更新
|
8
|
-
* pend(保留)のサポート
|
9
|
-
* notify(通知)のサポート
|
10
|
-
|
11
|
-
== 0.4.0: 2008-03-17
|
12
|
-
|
13
|
-
* XML出力形式の変更
|
14
|
-
|
15
|
-
== 0.3.0: 2008-03-10
|
16
|
-
|
17
|
-
* XML出力形式の変更
|
18
|
-
* テスト結果を保存するディレクトリの検索処理を改良
|
19
|
-
|
20
|
-
== 0.2.0: 2008-03-03
|
21
|
-
|
22
|
-
* XML出力のサポート。
|
23
|
-
* --xml-reportオプションの追加。
|
24
|
-
* assert_equal時のdiff出力のサポート。
|
25
|
-
|
26
|
-
== 0.1.0: 2008-02-21
|
27
|
-
|
28
|
-
* 最初のリリース。
|
data/test-unit-ext/README.en
DELETED
@@ -1,247 +0,0 @@
|
|
1
|
-
# -*- rd -*-
|
2
|
-
|
3
|
-
= README
|
4
|
-
|
5
|
-
== Name
|
6
|
-
|
7
|
-
TestUnitExt
|
8
|
-
|
9
|
-
== What's this?
|
10
|
-
|
11
|
-
TestUnitExt extends the standard Test::Unit.
|
12
|
-
|
13
|
-
TestUnitExt provides some useful features:
|
14
|
-
|
15
|
-
* Emacs friendly backtrace format.
|
16
|
-
* runs tests depending on priority.
|
17
|
-
* supports attributes for each test.
|
18
|
-
* always shows tests result even if tests are interrupted.
|
19
|
-
* colorized output.
|
20
|
-
* outputs diff between expected and actual value.
|
21
|
-
* reports test result as XML format.
|
22
|
-
* adds pending/omission/notification methods.
|
23
|
-
|
24
|
-
== Author
|
25
|
-
|
26
|
-
Kouhei Sutou <kou@cozmixng.org>
|
27
|
-
|
28
|
-
== Licence
|
29
|
-
|
30
|
-
Ruby's.
|
31
|
-
|
32
|
-
# == Mailing list
|
33
|
-
#
|
34
|
-
# None. needed?
|
35
|
-
|
36
|
-
== Reference manual
|
37
|
-
|
38
|
-
((<URL:http://test-unit-ext.rubyforge.org/doc/>))
|
39
|
-
|
40
|
-
== Dependency libraries
|
41
|
-
|
42
|
-
None
|
43
|
-
|
44
|
-
== Usage
|
45
|
-
|
46
|
-
require 'test-unit-ext'
|
47
|
-
|
48
|
-
== Reference
|
49
|
-
|
50
|
-
=== Attributes
|
51
|
-
|
52
|
-
You can add attributes to your test to get more useful
|
53
|
-
information on failure. For example, you can add Bug ID like
|
54
|
-
the following
|
55
|
-
|
56
|
-
class MyTest < Test::Unit::TestCase
|
57
|
-
bug 123
|
58
|
-
def test_invalid_input
|
59
|
-
assert_equal("OK", input)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
In the above example, test_invalid_input test has an
|
64
|
-
attribute that the test is for Bug #123.
|
65
|
-
|
66
|
-
You can also write like the following:
|
67
|
-
|
68
|
-
class MyTest < Test::Unit::TestCase
|
69
|
-
attribute :bug, 123
|
70
|
-
def test_invalid_input
|
71
|
-
assert_equal("OK", input)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
That is, bug method is a convenience method. You can add any
|
76
|
-
attributes to your test if you use attribute method.
|
77
|
-
|
78
|
-
=== Priority
|
79
|
-
|
80
|
-
It will be difficult that you drop into test and develop
|
81
|
-
cycle when you have many tests and the tests take much
|
82
|
-
time. To reduce the problem, you can select some tests from
|
83
|
-
all tests and reduce elapsed time each test. It's a problem
|
84
|
-
that which tests are selected in each test.
|
85
|
-
|
86
|
-
In TestUnitExt, each test has its priority and runs tests
|
87
|
-
are selected by probabilistic method. --priority command
|
88
|
-
line option enables this feature.
|
89
|
-
|
90
|
-
A test that has higher priority will be ran in higher
|
91
|
-
ratio. Each test doesn't run all tests but tests that are
|
92
|
-
ran each test are changed in each test. All tests will be
|
93
|
-
ran after some test and develop cycles.
|
94
|
-
|
95
|
-
Tests that aren't succeeded in the previous test are ran in
|
96
|
-
the current test in spite of its priority. This means that
|
97
|
-
important tests are ran without you do something. You will
|
98
|
-
keep your lightweight test and develop cycles without
|
99
|
-
additional works.
|
100
|
-
|
101
|
-
Here are a sample priority specification. Priority
|
102
|
-
specification effects followed tests like public and
|
103
|
-
private.
|
104
|
-
|
105
|
-
class MyTest < Test::Unit::TestCase
|
106
|
-
priority :must
|
107
|
-
def test_must
|
108
|
-
# will be always ran
|
109
|
-
end
|
110
|
-
|
111
|
-
def test_must2
|
112
|
-
# will be always ran too
|
113
|
-
end
|
114
|
-
|
115
|
-
priority :import
|
116
|
-
def test_import
|
117
|
-
# will be almost ran
|
118
|
-
end
|
119
|
-
|
120
|
-
priority :high
|
121
|
-
def test_high
|
122
|
-
# will be ran in high probability
|
123
|
-
end
|
124
|
-
|
125
|
-
priority :normal
|
126
|
-
def test_normal
|
127
|
-
# will be ran in fifty-fifty probability
|
128
|
-
# tests without priority specification has normal priority
|
129
|
-
end
|
130
|
-
|
131
|
-
priority :low
|
132
|
-
def test_low
|
133
|
-
# will be sometimes ran
|
134
|
-
end
|
135
|
-
|
136
|
-
priority :never
|
137
|
-
def test_never
|
138
|
-
# never be ran
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
=== Pending
|
143
|
-
|
144
|
-
You may write a test for a function that is not
|
145
|
-
implemented. In the case, the test will be failed. It's
|
146
|
-
correct that the test is failed but the test means 'the
|
147
|
-
function is not implemented'. To state your intent, pend
|
148
|
-
method is provided.
|
149
|
-
|
150
|
-
Please state your intent by your test code by using the
|
151
|
-
method.
|
152
|
-
|
153
|
-
class MyTest < Test::Unit::TestCase
|
154
|
-
def test_minor_function
|
155
|
-
pend("Should implement")
|
156
|
-
assert_equal("Good!", MyModule.minor_function)
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
=== Omission
|
161
|
-
|
162
|
-
You may write a test only for a special environment. In the
|
163
|
-
case, the test will not work on a standard environment and you
|
164
|
-
know that before you run the test. You will omit the test on
|
165
|
-
a standard environment. To state your intent, omit method is
|
166
|
-
provided.
|
167
|
-
|
168
|
-
Please state your intent by your test code by using the method.
|
169
|
-
|
170
|
-
class MyTest < Test::Unit::TestCase
|
171
|
-
def test_special_function
|
172
|
-
omit("Only for special environment") unless MyModule.special_environment?
|
173
|
-
assert_equal("Good!", MyModule.special_function)
|
174
|
-
end
|
175
|
-
end
|
176
|
-
|
177
|
-
|
178
|
-
=== Notification
|
179
|
-
|
180
|
-
You may put some messages in test. For example, "this test
|
181
|
-
is omitted because XXX module is not found on the
|
182
|
-
environment."
|
183
|
-
|
184
|
-
Those messages can be displayed by puts but it causes test
|
185
|
-
result output. To prevent this, notify method is
|
186
|
-
provided. notify method doesn't display those messages in
|
187
|
-
the place but display those messages in test result summary
|
188
|
-
like "failure", "error" and so on. You can leave those
|
189
|
-
messages without breaking test result output by using notify
|
190
|
-
method.
|
191
|
-
|
192
|
-
class MyTest < Test::Unit::TestCase
|
193
|
-
def test_with_other_module
|
194
|
-
unless MyModule.have_XXX?
|
195
|
-
notify("XXX module isn't found. skip this test.")
|
196
|
-
return
|
197
|
-
end
|
198
|
-
assert_equal("XXX Module!!!", MyModule.use_XXX)
|
199
|
-
end
|
200
|
-
end
|
201
|
-
|
202
|
-
=== XML report
|
203
|
-
|
204
|
-
Test result can be reported as XML format if --xml-report
|
205
|
-
option is specified. A reported XML has the following
|
206
|
-
structure:
|
207
|
-
|
208
|
-
<report>
|
209
|
-
<result>
|
210
|
-
<test-case>
|
211
|
-
<name>TEST CASE NAME</name>
|
212
|
-
<description>DESCRIPTION OF TEST CASE (if exists)</description>
|
213
|
-
</test-case>
|
214
|
-
<test>
|
215
|
-
<name>TEST NAME</name>
|
216
|
-
<description>DESCRIPTION OF TEST CASE (if exists)</description>
|
217
|
-
<option><!-- ATTRIBUTE INFORMATION (if exists) -->
|
218
|
-
<name>ATTRIBUTE NAME (e.g.: bug)</name>
|
219
|
-
<value>ATTRIBUTE VALUE (e.g.: 1234)</value>
|
220
|
-
</option>
|
221
|
-
<option>
|
222
|
-
...
|
223
|
-
</option>
|
224
|
-
</test>
|
225
|
-
<status>TEST RESULT ([success|failure|error|pending|notification])</status>
|
226
|
-
<detail>DETAIL OF TEST RESULT (if exists)</detail>
|
227
|
-
<backtrace><!-- BACKTRACE (if exists) -->
|
228
|
-
<entry>
|
229
|
-
<file>FILE NAME</file>
|
230
|
-
<line>LINE</line>
|
231
|
-
<info>ADDITIONAL INFORMATION</info>
|
232
|
-
</entry>
|
233
|
-
<entry>
|
234
|
-
...
|
235
|
-
</entry>
|
236
|
-
</backtrace>
|
237
|
-
<elapsed>ELAPSED TIME (e.g.: 0.000010)</elapsed>
|
238
|
-
</result>
|
239
|
-
<result>
|
240
|
-
...
|
241
|
-
</result>
|
242
|
-
...
|
243
|
-
</report>
|
244
|
-
|
245
|
-
== Thanks
|
246
|
-
|
247
|
-
* ...
|