activeldap 0.10.0 → 1.0.0
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.
- data/CHANGES +6 -30
- data/README +4 -2
- data/Rakefile +7 -0
- 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 +3 -3
- data/examples/al-admin/po/ja/al-admin.po +3 -3
- data/examples/al-admin/po/nl/al-admin.po +3 -3
- data/lib/active_ldap/adapter/base.rb +0 -2
- data/lib/active_ldap/base.rb +4 -2
- data/lib/active_ldap/get_text_support.rb +3 -11
- data/lib/active_ldap/operations.rb +1 -0
- data/lib/active_ldap/schema/syntaxes.rb +5 -3
- data/lib/active_ldap/validations.rb +25 -15
- data/lib/active_ldap.rb +1 -1
- data/po/en/active-ldap.po +1 -1
- data/po/ja/active-ldap.po +1 -1
- data/rails/plugin/active_ldap/init.rb +1 -1
- data/test/run-test.rb +2 -0
- data/test/test_base.rb +63 -1
- data/test/test_syntax.rb +3 -2
- data/test-unit-ext/NEWS.en +28 -0
- data/test-unit-ext/NEWS.ja +28 -0
- data/test-unit-ext/README.en +247 -0
- data/test-unit-ext/README.ja +246 -0
- data/test-unit-ext/Rakefile +111 -0
- data/{test → test-unit-ext/lib}/test-unit-ext/always-show-result.rb +0 -0
- data/test-unit-ext/lib/test-unit-ext/assertions.rb +40 -0
- data/test-unit-ext/lib/test-unit-ext/attributes.rb +129 -0
- data/{test → test-unit-ext/lib}/test-unit-ext/backtrace-filter.rb +0 -0
- data/test-unit-ext/lib/test-unit-ext/color.rb +59 -0
- data/test-unit-ext/lib/test-unit-ext/colorized-runner.rb +111 -0
- data/test-unit-ext/lib/test-unit-ext/diff.rb +516 -0
- data/{test → test-unit-ext/lib}/test-unit-ext/long-display-for-emacs.rb +0 -0
- data/test-unit-ext/lib/test-unit-ext/notification.rb +79 -0
- data/test-unit-ext/lib/test-unit-ext/omission.rb +96 -0
- data/test-unit-ext/lib/test-unit-ext/pending.rb +97 -0
- data/{test → test-unit-ext/lib}/test-unit-ext/priority.rb +25 -53
- data/test-unit-ext/lib/test-unit-ext/version.rb +3 -0
- data/test-unit-ext/lib/test-unit-ext/xml-report.rb +224 -0
- data/test-unit-ext/lib/test-unit-ext.rb +16 -0
- data/test-unit-ext/misc/rd2html.rb +42 -0
- data/test-unit-ext/test/run-test.rb +14 -0
- data/test-unit-ext/test/test_attributes.rb +139 -0
- data/test-unit-ext/test/test_color.rb +39 -0
- data/test-unit-ext/test/test_diff.rb +475 -0
- data/test-unit-ext/test/test_notification.rb +32 -0
- data/test-unit-ext/test/test_omission.rb +64 -0
- data/test-unit-ext/test/test_pending.rb +64 -0
- data/test-unit-ext/test/test_priority.rb +88 -0
- data/test-unit-ext/test/test_xml_report.rb +161 -0
- metadata +34 -7
- data/test/test-unit-ext.rb +0 -4
data/CHANGES
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
1.0.0:
|
2
|
+
* Fixed GSSAPI auth failure. [#18764] (Reported by Lennon Day-Reynolds)
|
3
|
+
* Supported Symbol as :dn_attribute_value. [#18921] (Requested by Nobody)
|
4
|
+
* Improved DN attribute detection. (Reported by Iain Pople)
|
5
|
+
* Avoided unnecesally modify operation. (Reported by Tilo)
|
6
|
+
|
1
7
|
0.10.0:
|
2
8
|
* Implemented LDIF parser.
|
3
9
|
* Improved validation:
|
@@ -15,36 +21,6 @@
|
|
15
21
|
user.user_certificate # => "..."
|
16
22
|
* Added :excluded_classed ldap_mapping option.
|
17
23
|
* Logged operation time used for LDAP operation.
|
18
|
-
* Improved API:
|
19
|
-
* Accepted non String value for find(:value => XXX).
|
20
|
-
(Suggested by Marc Dequèn)
|
21
|
-
* Accepted DN as ActiveLdap::Base.new(XXX).
|
22
|
-
(Reported by Jeremy Pruitt)
|
23
|
-
* Treated empty password for smiple bind as anonymous bind.
|
24
|
-
(Suggested by Bodaniel Jeans)
|
25
|
-
* Ensured adding "objectClass" for find's :attribute value. [#16946]
|
26
|
-
(Suggested by Nobody)
|
27
|
-
* Fixed a GeneralizedTime type casting bug.
|
28
|
-
(Reported by Bodaniel Jeanes)
|
29
|
-
|
30
|
-
0.9.1:
|
31
|
-
* Implemented LDIF parser.
|
32
|
-
* Improved validation:
|
33
|
-
* Added some validations.
|
34
|
-
* Fixed SINGLE-VALUE validation. [#17763]
|
35
|
-
(Reported by Naoto Morishima)
|
36
|
-
* Supported JNDI as backend.
|
37
|
-
* Improved auto reconnection.
|
38
|
-
* Supported Rails 2.0.2.
|
39
|
-
* Improved performance. (4x)
|
40
|
-
* [API CHANGE]: removed "'binary' =>" from getter result.
|
41
|
-
e.g.
|
42
|
-
before:
|
43
|
-
user.user_certificate # => {"binary" => "..."}
|
44
|
-
now:
|
45
|
-
user.user_certificate # => "..."
|
46
|
-
* Added :excluded_classed ldap_mapping option.
|
47
|
-
* Logged operation time used for LDAP operation.
|
48
24
|
* Improved API:
|
49
25
|
* Accepted non String value for find(:value => XXX).
|
50
26
|
(Suggested by Marc Dequèn)
|
data/README
CHANGED
@@ -104,5 +104,7 @@ list, please point out.
|
|
104
104
|
* Bodaniel Jeanes:
|
105
105
|
* A suggestion for behavior on simple bind with empty password.
|
106
106
|
* Bug reports.
|
107
|
-
* Naoto Morishima:
|
108
|
-
|
107
|
+
* Naoto Morishima: Bug reports.
|
108
|
+
* David Morton: An API improvement idea.
|
109
|
+
* Lennon Day-Reynolds: Bug reports.
|
110
|
+
* Tilo: A bug report.
|
data/Rakefile
CHANGED
@@ -44,6 +44,13 @@ at_exit do
|
|
44
44
|
FileUtils.rm_f(manifest)
|
45
45
|
end
|
46
46
|
|
47
|
+
# For Hoe's no user friendly default behavior. :<
|
48
|
+
File.open("README.txt", "w") {|file| file << "= Dummy README\n== XXX\n"}
|
49
|
+
FileUtils.cp("CHANGES", "History.txt")
|
50
|
+
at_exit do
|
51
|
+
FileUtils.rm_f("README.txt")
|
52
|
+
FileUtils.rm_f("History.txt")
|
53
|
+
end
|
47
54
|
|
48
55
|
project = Hoe.new('activeldap', ActiveLdap::VERSION) do |project|
|
49
56
|
project.rubyforge_name = 'ruby-activeldap'
|
Binary file
|
Binary file
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# English translations for AL Admin package.
|
2
|
-
# Copyright (C) 2007 Kouhei Sutou
|
2
|
+
# Copyright (C) 2007,2008 Kouhei Sutou
|
3
3
|
# This file is distributed under the same license as the AL Admin package.
|
4
|
-
# Kouhei Sutou <kou@cozmixng.org>, 2007.
|
4
|
+
# Kouhei Sutou <kou@cozmixng.org>, 2007,2008.
|
5
5
|
#
|
6
6
|
msgid ""
|
7
7
|
msgstr ""
|
8
|
-
"Project-Id-Version: AL Admin 0.
|
8
|
+
"Project-Id-Version: AL Admin 1.0.0\n"
|
9
9
|
"POT-Creation-Date: 2008-02-09 14:25+0900\n"
|
10
10
|
"PO-Revision-Date: 2007-08-19 09:44+0900\n"
|
11
11
|
"Last-Translator: Kouhei Sutou <kou@cozmixng.org>\n"
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# AL Admin's translated messages for Japanese.
|
2
|
-
# Copyright (C) 2007 Kouhei Sutou
|
2
|
+
# Copyright (C) 2007,2008 Kouhei Sutou
|
3
3
|
# This file is distributed under the same license as the AL Admin package.
|
4
|
-
# Kouhei Sutou <kou@cozmixng.org>, 2007.
|
4
|
+
# Kouhei Sutou <kou@cozmixng.org>, 2007,2008.
|
5
5
|
#
|
6
6
|
msgid ""
|
7
7
|
msgstr ""
|
8
|
-
"Project-Id-Version: AL Admin 0.
|
8
|
+
"Project-Id-Version: AL Admin 1.0.0\n"
|
9
9
|
"POT-Creation-Date: 2008-02-09 14:25+0900\n"
|
10
10
|
"PO-Revision-Date: 2007-11-04 16:02+0900\n"
|
11
11
|
"Last-Translator: Kouhei Sutou <kou@cozmixng.org>\n"
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# translation of al-admin.po to Nederlands
|
2
2
|
# Nederlands translations for AL Admin package.
|
3
|
-
# Copyright (C) 2007 Ace Suares
|
3
|
+
# Copyright (C) 2007,2008 Ace Suares
|
4
4
|
# This file is distributed under the same license as the AL Admin package.
|
5
5
|
#
|
6
|
-
# Ace Suares <ace@suares.an>, 2007.
|
6
|
+
# Ace Suares <ace@suares.an>, 2007,2008.
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: AL Admin 0.
|
9
|
+
"Project-Id-Version: AL Admin 1.0.0\n"
|
10
10
|
"POT-Creation-Date: 2008-02-09 14:25+0900\n"
|
11
11
|
"PO-Revision-Date: 2007-08-24 22:03+0900\n"
|
12
12
|
"Last-Translator: Ace Suares <ace@suares.an>\n"
|
data/lib/active_ldap/base.rb
CHANGED
@@ -353,6 +353,7 @@ module ActiveLdap
|
|
353
353
|
validate_ldap_mapping_options(options)
|
354
354
|
|
355
355
|
self.dn_attribute = options[:dn_attribute] || default_dn_attribute
|
356
|
+
self.dn_attribute = dn_attribute.to_s if dn_attribute.is_a?(Symbol)
|
356
357
|
self.prefix = options[:prefix] || default_prefix
|
357
358
|
self.scope = options[:scope]
|
358
359
|
self.required_classes = options[:classes]
|
@@ -602,7 +603,8 @@ module ActiveLdap
|
|
602
603
|
|
603
604
|
alias_method(:dn_attribute_of_class, :dn_attribute)
|
604
605
|
def dn_attribute
|
605
|
-
@dn_attribute || dn_attribute_of_class
|
606
|
+
_dn_attribute = @dn_attribute || dn_attribute_of_class
|
607
|
+
to_real_attribute_name(_dn_attribute) || _dn_attribute
|
606
608
|
end
|
607
609
|
|
608
610
|
def default_search_attribute
|
@@ -1210,7 +1212,7 @@ module ActiveLdap
|
|
1210
1212
|
end
|
1211
1213
|
|
1212
1214
|
def collect_all_attributes(data)
|
1213
|
-
dn_attr =
|
1215
|
+
dn_attr = dn_attribute
|
1214
1216
|
dn_value = data[dn_attr]
|
1215
1217
|
|
1216
1218
|
attributes = []
|
@@ -1,15 +1,7 @@
|
|
1
1
|
module ActiveLdap
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
false
|
6
|
-
end
|
7
|
-
end
|
8
|
-
else
|
9
|
-
class << self
|
10
|
-
def get_text_supported?
|
11
|
-
true
|
12
|
-
end
|
2
|
+
class << self
|
3
|
+
def get_text_supported?
|
4
|
+
not const_defined?(:GetTextFallback)
|
13
5
|
end
|
14
6
|
end
|
15
7
|
|
@@ -391,11 +391,13 @@ module ActiveLdap
|
|
391
391
|
end
|
392
392
|
end
|
393
393
|
|
394
|
-
class TelephoneNumber <
|
394
|
+
class TelephoneNumber < PrintableString
|
395
395
|
SYNTAXES["1.3.6.1.4.1.1466.115.121.1.50"] = self
|
396
396
|
|
397
|
-
|
398
|
-
|
397
|
+
private
|
398
|
+
def validate_normalized_value(value, original_value)
|
399
|
+
return nil if value.blank?
|
400
|
+
super
|
399
401
|
end
|
400
402
|
end
|
401
403
|
end
|
@@ -37,12 +37,14 @@ module ActiveLdap
|
|
37
37
|
validate :validate_ldap_values
|
38
38
|
|
39
39
|
class << self
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
if method_defined?(:evaluate_condition)
|
41
|
+
def evaluate_condition_with_active_ldap_support(condition, entry)
|
42
|
+
evaluate_condition_without_active_ldap_support(condition, entry)
|
43
|
+
rescue ActiveRecord::ActiveRecordError
|
44
|
+
raise Error, $!.message
|
45
|
+
end
|
46
|
+
alias_method_chain :evaluate_condition, :active_ldap_support
|
44
47
|
end
|
45
|
-
alias_method_chain :evaluate_condition, :active_ldap_support
|
46
48
|
end
|
47
49
|
|
48
50
|
def save_with_active_ldap_support!
|
@@ -58,7 +60,15 @@ module ActiveLdap
|
|
58
60
|
rescue ActiveRecord::ActiveRecordError
|
59
61
|
raise Error, $!.message
|
60
62
|
end
|
61
|
-
|
63
|
+
if private_method_defined?(:run_validations)
|
64
|
+
alias_method_chain :run_validations, :active_ldap_support
|
65
|
+
else
|
66
|
+
alias_method(:run_callbacks_with_active_ldap_support,
|
67
|
+
:run_validations_with_active_ldap_support)
|
68
|
+
alias_method_chain :run_callbacks, :active_ldap_support
|
69
|
+
alias_method(:run_validations_without_active_ldap_support,
|
70
|
+
:run_callbacks_without_active_ldap_support)
|
71
|
+
end
|
62
72
|
end
|
63
73
|
end
|
64
74
|
|
@@ -94,11 +104,13 @@ module ActiveLdap
|
|
94
104
|
"%{fn} has excluded values: %s",
|
95
105
|
names.size)
|
96
106
|
else
|
97
|
-
|
98
|
-
|
99
|
-
|
107
|
+
if names.size == 1
|
108
|
+
format = "has excluded value: %s"
|
109
|
+
else
|
110
|
+
format = "has excluded values: %s"
|
111
|
+
end
|
100
112
|
end
|
101
|
-
errors.add("objectClass", format % names.join(
|
113
|
+
errors.add("objectClass", format % names.join(", "))
|
102
114
|
end
|
103
115
|
|
104
116
|
# validate_required_ldap_values
|
@@ -132,11 +144,9 @@ module ActiveLdap
|
|
132
144
|
args << aliases.join(', ')
|
133
145
|
end
|
134
146
|
else
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
format = "is required attribute by objectClass '%s'" \
|
139
|
-
": aliases: %s"
|
147
|
+
format = "is required attribute by objectClass '%s'"
|
148
|
+
unless aliases.empty?
|
149
|
+
format << ": aliases: %s"
|
140
150
|
args << aliases.join(', ')
|
141
151
|
end
|
142
152
|
end
|
data/lib/active_ldap.rb
CHANGED
data/po/en/active-ldap.po
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#
|
6
6
|
msgid ""
|
7
7
|
msgstr ""
|
8
|
-
"Project-Id-Version: Ruby/ActiveLdap 0.
|
8
|
+
"Project-Id-Version: Ruby/ActiveLdap 1.0.0\n"
|
9
9
|
"POT-Creation-Date: 2008-02-10 22:36+0900\n"
|
10
10
|
"PO-Revision-Date: 2007-08-19 09:49+0900\n"
|
11
11
|
"Last-Translator: Kouhei Sutou <kou@cozmixng.org>\n"
|
data/po/ja/active-ldap.po
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#
|
6
6
|
msgid ""
|
7
7
|
msgstr ""
|
8
|
-
"Project-Id-Version: Ruby/ActiveLdap 0.
|
8
|
+
"Project-Id-Version: Ruby/ActiveLdap 1.0.0\n"
|
9
9
|
"POT-Creation-Date: 2008-02-10 22:36+0900\n"
|
10
10
|
"PO-Revision-Date: 2008-02-10 22:37+0900\n"
|
11
11
|
"Last-Translator: Kouhei Sutou <kou@cozmixng.org>\n"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_library_or_gem 'active_ldap'
|
2
2
|
ActiveLdap::Base.logger ||= RAILS_DEFAULT_LOGGER
|
3
3
|
|
4
|
-
required_version = ["0", "
|
4
|
+
required_version = ["0", "10", "0"]
|
5
5
|
if (ActiveLdap::VERSION.split(".") <=> required_version) < 0
|
6
6
|
ActiveLdap::Base.class_eval do
|
7
7
|
format = _("You need ActiveLdap %s or later")
|
data/test/run-test.rb
CHANGED
@@ -10,7 +10,9 @@ top_dir = File.expand_path(File.join(base_dir, ".."))
|
|
10
10
|
$LOAD_PATH.unshift(File.join(top_dir, "lib"))
|
11
11
|
$LOAD_PATH.unshift(File.join(top_dir, "test"))
|
12
12
|
|
13
|
+
$LOAD_PATH.unshift(File.join(top_dir, "test-unit-ext", "lib"))
|
13
14
|
require 'test-unit-ext'
|
15
|
+
Test::Unit::TestSuite.priority_mode = true
|
14
16
|
|
15
17
|
test_file = "test/test_*.rb"
|
16
18
|
Dir.glob(test_file) do |file|
|
data/test/test_base.rb
CHANGED
@@ -1,10 +1,42 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
+
|
2
3
|
require 'al-test-utils'
|
3
4
|
|
4
5
|
class TestBase < Test::Unit::TestCase
|
5
6
|
include AlTestUtils
|
6
7
|
|
7
8
|
priority :must
|
9
|
+
def test_save_with_changes
|
10
|
+
make_temporary_user do |user, password|
|
11
|
+
user.cn += "!!!"
|
12
|
+
assert_true(detect_modify(user) {user.save})
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_save_without_changes
|
17
|
+
make_temporary_user do |user, password|
|
18
|
+
assert_false(detect_modify(user) {user.save})
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
priority :normal
|
23
|
+
def test_normalize_dn_attribute
|
24
|
+
make_ou("Ous")
|
25
|
+
ou_class = Class.new(ActiveLdap::Base)
|
26
|
+
ou_class.ldap_mapping(:dn_attribute => "OU",
|
27
|
+
:prefix => "ou=OUS",
|
28
|
+
:classes => ["top", "organizationalUnit"])
|
29
|
+
ou_class.new("ou1").save!
|
30
|
+
ou_class.new("ou2").save!
|
31
|
+
|
32
|
+
ou1 = ou_class.find("ou1")
|
33
|
+
assert_equal("ou1", ou1.ou)
|
34
|
+
assert_equal("ou=ou1,#{ou_class.base}", ou1.dn)
|
35
|
+
ou2 = ou_class.find("ou2")
|
36
|
+
assert_equal("ou2", ou2.ou)
|
37
|
+
assert_equal("ou=ou2,#{ou_class.base}", ou2.dn)
|
38
|
+
end
|
39
|
+
|
8
40
|
def test_excluded_classes
|
9
41
|
mapping = {:classes => ["person"]}
|
10
42
|
person_class = Class.new(@user_class)
|
@@ -36,7 +68,6 @@ class TestBase < Test::Unit::TestCase
|
|
36
68
|
end
|
37
69
|
end
|
38
70
|
|
39
|
-
priority :normal
|
40
71
|
def test_new_with_dn
|
41
72
|
cn = "XXX"
|
42
73
|
dn = "cn=#{cn},#{@user_class.base}"
|
@@ -459,6 +490,16 @@ class TestBase < Test::Unit::TestCase
|
|
459
490
|
end
|
460
491
|
end
|
461
492
|
|
493
|
+
def test_ldap_mapping_symbol_dn_attribute
|
494
|
+
ou_class = Class.new(ActiveLdap::Base)
|
495
|
+
ou_class.ldap_mapping(:dn_attribute => :ou,
|
496
|
+
:prefix => "",
|
497
|
+
:classes => ["top", "organizationalUnit"])
|
498
|
+
assert_equal(["ou=Groups,#{current_configuration['base']}",
|
499
|
+
"ou=Users,#{current_configuration['base']}"],
|
500
|
+
ou_class.find(:all).collect(&:dn).sort)
|
501
|
+
end
|
502
|
+
|
462
503
|
def test_ldap_mapping_validation
|
463
504
|
ou_class = Class.new(ActiveLdap::Base)
|
464
505
|
assert_raises(ArgumentError) do
|
@@ -594,4 +635,25 @@ EOX
|
|
594
635
|
end
|
595
636
|
end
|
596
637
|
end
|
638
|
+
|
639
|
+
private
|
640
|
+
def detect_modify(object)
|
641
|
+
modify_called = false
|
642
|
+
singleton_class = class << object; self; end
|
643
|
+
singleton_class.send(:define_method, :modify_entry) do |*args|
|
644
|
+
dn, attributes, options = args
|
645
|
+
options ||= {}
|
646
|
+
modify_detector = Object.new
|
647
|
+
modify_detector.instance_variable_set("@called", false)
|
648
|
+
def modify_detector.modify(dn, entries, options)
|
649
|
+
@called = true
|
650
|
+
end
|
651
|
+
options[:connection] = modify_detector
|
652
|
+
result = super(dn, attributes, options)
|
653
|
+
modify_called = modify_detector.instance_variable_get("@called")
|
654
|
+
result
|
655
|
+
end
|
656
|
+
yield
|
657
|
+
modify_called
|
658
|
+
end
|
597
659
|
end
|
data/test/test_syntax.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
1
3
|
require 'al-test-utils'
|
2
4
|
|
3
5
|
class TestSyntax < Test::Unit::TestCase
|
@@ -283,8 +285,7 @@ class TestSyntax < Test::Unit::TestCase
|
|
283
285
|
|
284
286
|
def test_telephone_number_validate
|
285
287
|
assert_valid("+1 512 305 0280", "Telephone Number")
|
286
|
-
|
287
|
-
assert_invalid(_("empty string"), "", "Telephone Number")
|
288
|
+
assert_valid("", "Telephone Number")
|
288
289
|
|
289
290
|
value = "+1 5!2 305 0280"
|
290
291
|
params = [value.inspect, "!"]
|
@@ -0,0 +1,28 @@
|
|
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.
|
@@ -0,0 +1,28 @@
|
|
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
|
+
* 最初のリリース。
|