activesambaldap 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. data/Gemfile +21 -0
  2. data/NEWS.en +1 -1
  3. data/NEWS.ja +1 -1
  4. data/README.en +12 -8
  5. data/README.ja +6 -3
  6. data/Rakefile +27 -121
  7. data/lib/active_samba_ldap.rb +1 -1
  8. data/lib/active_samba_ldap/get_text_support.rb +1 -1
  9. data/lib/active_samba_ldap/version.rb +1 -1
  10. data/license/lgpl-2.1.txt +165 -0
  11. data/po/ja/active-samba-ldap.po +2 -2
  12. data/test/run-test.rb +3 -3
  13. metadata +145 -277
  14. data/bin/asl-groupadd.help +0 -16
  15. data/bin/asl-groupdel.help +0 -13
  16. data/bin/asl-groupmod.help +0 -19
  17. data/bin/asl-groupshow.help +0 -11
  18. data/bin/asl-passwd.help +0 -15
  19. data/bin/asl-populate.help +0 -28
  20. data/bin/asl-purge.help +0 -11
  21. data/bin/asl-samba-computeradd.help +0 -13
  22. data/bin/asl-samba-groupadd.help +0 -11
  23. data/bin/asl-samba-groupdel.help +0 -11
  24. data/bin/asl-samba-groupmod.help +0 -15
  25. data/bin/asl-samba-useradd.help +0 -13
  26. data/bin/asl-samba-userdel.help +0 -11
  27. data/bin/asl-samba-usermod.help +0 -15
  28. data/bin/asl-useradd.help +0 -49
  29. data/bin/asl-userdel.help +0 -18
  30. data/bin/asl-usermod.help +0 -47
  31. data/bin/asl-usershow.help +0 -11
  32. data/data/locale/ja/LC_MESSAGES/active-samba-ldap.mo +0 -0
  33. data/example/asl-admin/README +0 -243
  34. data/example/asl-admin/Rakefile +0 -10
  35. data/example/asl-admin/app/controllers/application_controller.rb +0 -10
  36. data/example/asl-admin/app/controllers/samba_controller.rb +0 -12
  37. data/example/asl-admin/app/helpers/application_helper.rb +0 -3
  38. data/example/asl-admin/app/helpers/samba_helper.rb +0 -2
  39. data/example/asl-admin/app/models/computer.rb +0 -3
  40. data/example/asl-admin/app/models/dc.rb +0 -3
  41. data/example/asl-admin/app/models/group.rb +0 -3
  42. data/example/asl-admin/app/models/idmap.rb +0 -3
  43. data/example/asl-admin/app/models/ou.rb +0 -3
  44. data/example/asl-admin/app/models/unix_id_pool.rb +0 -3
  45. data/example/asl-admin/app/models/user.rb +0 -3
  46. data/example/asl-admin/app/views/samba/index.html.erb +0 -17
  47. data/example/asl-admin/app/views/samba/populate.html.erb +0 -15
  48. data/example/asl-admin/app/views/samba/purge.html.erb +0 -10
  49. data/example/asl-admin/config/boot.rb +0 -110
  50. data/example/asl-admin/config/database.yml +0 -22
  51. data/example/asl-admin/config/environment.rb +0 -48
  52. data/example/asl-admin/config/environments/development.rb +0 -17
  53. data/example/asl-admin/config/environments/production.rb +0 -28
  54. data/example/asl-admin/config/environments/test.rb +0 -28
  55. data/example/asl-admin/config/initializers/backtrace_silencers.rb +0 -7
  56. data/example/asl-admin/config/initializers/inflections.rb +0 -10
  57. data/example/asl-admin/config/initializers/mime_types.rb +0 -5
  58. data/example/asl-admin/config/initializers/new_rails_defaults.rb +0 -19
  59. data/example/asl-admin/config/initializers/session_store.rb +0 -15
  60. data/example/asl-admin/config/ldap.yml.sample +0 -24
  61. data/example/asl-admin/config/locales/en.yml +0 -5
  62. data/example/asl-admin/config/routes.rb +0 -43
  63. data/example/asl-admin/log/test.log +0 -5
  64. data/example/asl-admin/public/404.html +0 -30
  65. data/example/asl-admin/public/422.html +0 -30
  66. data/example/asl-admin/public/500.html +0 -30
  67. data/example/asl-admin/public/favicon.ico +0 -0
  68. data/example/asl-admin/public/images/rails.png +0 -0
  69. data/example/asl-admin/public/index.html +0 -275
  70. data/example/asl-admin/public/javascripts/application.js +0 -2
  71. data/example/asl-admin/public/javascripts/controls.js +0 -963
  72. data/example/asl-admin/public/javascripts/dragdrop.js +0 -973
  73. data/example/asl-admin/public/javascripts/effects.js +0 -1128
  74. data/example/asl-admin/public/javascripts/prototype.js +0 -4320
  75. data/example/asl-admin/public/robots.txt +0 -5
  76. data/example/asl-admin/script/about +0 -4
  77. data/example/asl-admin/script/console +0 -3
  78. data/example/asl-admin/script/dbconsole +0 -3
  79. data/example/asl-admin/script/destroy +0 -3
  80. data/example/asl-admin/script/generate +0 -3
  81. data/example/asl-admin/script/performance/benchmarker +0 -3
  82. data/example/asl-admin/script/performance/profiler +0 -3
  83. data/example/asl-admin/script/plugin +0 -3
  84. data/example/asl-admin/script/runner +0 -3
  85. data/example/asl-admin/script/server +0 -3
  86. data/example/asl-admin/test/performance/browsing_test.rb +0 -9
  87. data/example/asl-admin/test/test_helper.rb +0 -38
  88. data/po/active-samba-ldap.pot +0 -463
  89. data/rails_generators/scaffold_active_samba_ldap/scaffold_active_samba_ldap_generator.rb +0 -28
  90. data/rails_generators/scaffold_active_samba_ldap/templates/computer.rb +0 -3
  91. data/rails_generators/scaffold_active_samba_ldap/templates/dc.rb +0 -3
  92. data/rails_generators/scaffold_active_samba_ldap/templates/group.rb +0 -3
  93. data/rails_generators/scaffold_active_samba_ldap/templates/idmap.rb +0 -3
  94. data/rails_generators/scaffold_active_samba_ldap/templates/ldap.yml +0 -24
  95. data/rails_generators/scaffold_active_samba_ldap/templates/ou.rb +0 -3
  96. data/rails_generators/scaffold_active_samba_ldap/templates/samba_controller.rb +0 -12
  97. data/rails_generators/scaffold_active_samba_ldap/templates/samba_helper.rb +0 -2
  98. data/rails_generators/scaffold_active_samba_ldap/templates/samba_index.html.erb +0 -17
  99. data/rails_generators/scaffold_active_samba_ldap/templates/samba_populate.html.erb +0 -15
  100. data/rails_generators/scaffold_active_samba_ldap/templates/samba_purge.html.erb +0 -10
  101. data/rails_generators/scaffold_active_samba_ldap/templates/unix_id_pool.rb +0 -3
  102. data/rails_generators/scaffold_active_samba_ldap/templates/user.rb +0 -3
  103. data/setup.rb +0 -1585
  104. data/test-unit/History.txt +0 -107
  105. data/test-unit/README.txt +0 -52
  106. data/test-unit/Rakefile +0 -40
  107. data/test-unit/TODO +0 -5
  108. data/test-unit/bin/testrb +0 -5
  109. data/test-unit/lib/test/unit.rb +0 -342
  110. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -14
  111. data/test-unit/lib/test/unit/assertions.rb +0 -1149
  112. data/test-unit/lib/test/unit/attribute.rb +0 -125
  113. data/test-unit/lib/test/unit/autorunner.rb +0 -344
  114. data/test-unit/lib/test/unit/collector.rb +0 -43
  115. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  116. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  117. data/test-unit/lib/test/unit/collector/load.rb +0 -137
  118. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  119. data/test-unit/lib/test/unit/color-scheme.rb +0 -90
  120. data/test-unit/lib/test/unit/color.rb +0 -96
  121. data/test-unit/lib/test/unit/diff.rb +0 -538
  122. data/test-unit/lib/test/unit/error.rb +0 -126
  123. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  124. data/test-unit/lib/test/unit/failure.rb +0 -110
  125. data/test-unit/lib/test/unit/fixture.rb +0 -176
  126. data/test-unit/lib/test/unit/notification.rb +0 -125
  127. data/test-unit/lib/test/unit/omission.rb +0 -143
  128. data/test-unit/lib/test/unit/pending.rb +0 -146
  129. data/test-unit/lib/test/unit/priority.rb +0 -181
  130. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  131. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  132. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  133. data/test-unit/lib/test/unit/testcase.rb +0 -425
  134. data/test-unit/lib/test/unit/testresult.rb +0 -89
  135. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  136. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  137. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -278
  138. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -49
  139. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  140. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -20
  141. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  142. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  143. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
  144. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  145. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  146. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  147. data/test-unit/lib/test/unit/version.rb +0 -7
  148. data/test-unit/sample/adder.rb +0 -13
  149. data/test-unit/sample/subtracter.rb +0 -12
  150. data/test-unit/sample/tc_adder.rb +0 -18
  151. data/test-unit/sample/tc_subtracter.rb +0 -18
  152. data/test-unit/sample/test_user.rb +0 -22
  153. data/test-unit/sample/ts_examples.rb +0 -7
  154. data/test-unit/test/collector/test-descendant.rb +0 -135
  155. data/test-unit/test/collector/test-load.rb +0 -329
  156. data/test-unit/test/collector/test_dir.rb +0 -406
  157. data/test-unit/test/collector/test_objectspace.rb +0 -98
  158. data/test-unit/test/run-test.rb +0 -13
  159. data/test-unit/test/test-attribute.rb +0 -86
  160. data/test-unit/test/test-color-scheme.rb +0 -60
  161. data/test-unit/test/test-color.rb +0 -47
  162. data/test-unit/test/test-diff.rb +0 -477
  163. data/test-unit/test/test-emacs-runner.rb +0 -60
  164. data/test-unit/test/test-fixture.rb +0 -287
  165. data/test-unit/test/test-notification.rb +0 -33
  166. data/test-unit/test/test-omission.rb +0 -81
  167. data/test-unit/test/test-pending.rb +0 -70
  168. data/test-unit/test/test-priority.rb +0 -119
  169. data/test-unit/test/test-testcase.rb +0 -507
  170. data/test-unit/test/test_assertions.rb +0 -1082
  171. data/test-unit/test/test_error.rb +0 -26
  172. data/test-unit/test/test_failure.rb +0 -33
  173. data/test-unit/test/test_testresult.rb +0 -113
  174. data/test-unit/test/test_testsuite.rb +0 -129
  175. data/test-unit/test/testunit-test-util.rb +0 -14
  176. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  177. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  178. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  179. data/test-unit/test/util/test_observable.rb +0 -102
  180. data/test-unit/test/util/test_procwrapper.rb +0 -36
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $VERBOSE = true
4
-
5
- base_dir = File.expand_path(File.join(File.dirname(__FILE__), ".."))
6
- lib_dir = File.join(base_dir, "lib")
7
- test_dir = File.join(base_dir, "test")
8
-
9
- $LOAD_PATH.unshift(lib_dir)
10
-
11
- require 'test/unit'
12
-
13
- exit Test::Unit::AutoRunner.run(true, test_dir)
@@ -1,86 +0,0 @@
1
- class TestUnitAttribute < Test::Unit::TestCase
2
- class TestStack < Test::Unit::TestCase
3
- class << self
4
- def suite
5
- Test::Unit::TestSuite.new(name)
6
- end
7
- end
8
-
9
- class Stack
10
- def initialize
11
- @data = []
12
- end
13
-
14
- def push(data)
15
- @data.push(data)
16
- end
17
-
18
- def peek
19
- @data[-2]
20
- end
21
-
22
- def empty?
23
- @data.empty?
24
- end
25
-
26
- def size
27
- @data.size + 11
28
- end
29
- end
30
-
31
- def setup
32
- @stack = Stack.new
33
- end
34
-
35
- attribute :category, :accessor
36
- def test_peek
37
- @stack.push(1)
38
- @stack.push(2)
39
- assert_equal(2, @stack.peek)
40
- end
41
-
42
- attribute :bug, 1234
43
- def test_bug_1234
44
- assert_equal(0, @stack.size)
45
- end
46
-
47
- def test_no_attributes
48
- assert(@stack.empty?)
49
- @stack.push(1)
50
- assert(!@stack.empty?)
51
- assert_equal(1, @stack.size)
52
- end
53
- end
54
-
55
- def test_set_attributes
56
- test_for_accessor_category = TestStack.new("test_peek")
57
- assert_equal({"category" => :accessor},
58
- test_for_accessor_category.attributes)
59
-
60
- test_for_bug_1234 = TestStack.new("test_bug_1234")
61
- assert_equal({"bug" => 1234}, test_for_bug_1234.attributes)
62
-
63
- test_no_attributes = TestStack.new("test_no_attributes")
64
- assert_equal({}, test_no_attributes.attributes)
65
- end
66
-
67
- def test_callback
68
- changed_attributes = []
69
- observer = Proc.new do |test_case, key, old_value, value, method_name|
70
- changed_attributes << [test_case, key, old_value, value, method_name]
71
- end
72
-
73
- test_case = Class.new(TestStack) do
74
- register_attribute_observer(:bug, &observer)
75
- attribute("bug", 9876, "test_bug_1234")
76
- attribute(:description, "Test for peek", "test_peek")
77
- attribute(:bug, 29, "test_peek")
78
- end
79
-
80
- assert_equal([
81
- [test_case, "bug", 1234, 9876, "test_bug_1234"],
82
- [test_case, "bug", nil, 29, "test_peek"],
83
- ],
84
- changed_attributes)
85
- end
86
- end
@@ -1,60 +0,0 @@
1
- class TestUnitColorScheme < Test::Unit::TestCase
2
- def test_default
3
- assert_equal({
4
- "success" => color("green", :bold => true),
5
- "failure" => color("red", :bold => true),
6
- "pending" => color("magenta", :bold => true),
7
- "omission" => color("blue", :bold => true),
8
- "notification" => color("cyan", :bold => true),
9
- "error" => color("yellow", :bold => true) +
10
- color("black", :foreground => false),
11
- "case" => color("white", :bold => true) +
12
- color("blue", :foreground => false),
13
- "suite" => color("white", :bold => true) +
14
- color("green", :foreground => false),
15
- },
16
- Test::Unit::ColorScheme.default.to_hash)
17
- end
18
-
19
- def test_register
20
- inverted_scheme_spec = {
21
- "success" => {:name => "red"},
22
- "failure" => {:name => "green"},
23
- }
24
- Test::Unit::ColorScheme["inverted"] = inverted_scheme_spec
25
- assert_equal({
26
- "success" => color("red"),
27
- "failure" => color("green"),
28
- },
29
- Test::Unit::ColorScheme["inverted"].to_hash)
30
- end
31
-
32
- def test_new_with_colors
33
- scheme = Test::Unit::ColorScheme.new(:success => color("blue"),
34
- "failure" => color("green",
35
- :underline => true))
36
- assert_equal({
37
- "success" => color("blue"),
38
- "failure" => color("green", :underline => true),
39
- },
40
- scheme.to_hash)
41
- end
42
-
43
- def test_new_with_spec
44
- scheme = Test::Unit::ColorScheme.new(:success => {
45
- :name => "blue",
46
- :bold => true
47
- },
48
- "failure" => {:name => "green"})
49
- assert_equal({
50
- "success" => color("blue", :bold => true),
51
- "failure" => color("green"),
52
- },
53
- scheme.to_hash)
54
- end
55
-
56
- private
57
- def color(name, options={})
58
- Test::Unit::Color.new(name, options)
59
- end
60
- end
@@ -1,47 +0,0 @@
1
- class TestUnitColor < Test::Unit::TestCase
2
- def test_color_escape_sequence
3
- assert_escape_sequence(["31"], color("red"))
4
- assert_escape_sequence(["32", "1"], color("green", :bold => true))
5
- assert_escape_sequence(["0"], color("reset"))
6
- assert_escape_sequence(["45"], color("magenta", :foreground => false))
7
- end
8
-
9
- def test_mix_color_escape_sequence
10
- assert_escape_sequence(["34", "1"],
11
- mix_color([color("blue"),
12
- color("none", :bold => true)]))
13
- assert_escape_sequence(["34", "1", "4"],
14
- mix_color([color("blue"),
15
- color("none", :bold => true)]) +
16
- color("none", :underline => true))
17
- assert_escape_sequence(["34", "1", "4"],
18
- color("blue") +
19
- color("none", :bold => true) +
20
- color("none", :underline => true))
21
- end
22
-
23
- def test_equal
24
- red = color("red")
25
- red_bold = color("red", :bold => true)
26
-
27
- assert_operator(red, :==, red)
28
- assert_not_equal(red, nil)
29
- assert_equal(red, color("red"))
30
- assert_not_equal(red, red_bold)
31
- end
32
-
33
- private
34
- def color(name, options={})
35
- Test::Unit::Color.new(name, options)
36
- end
37
-
38
- def mix_color(colors)
39
- Test::Unit::MixColor.new(colors)
40
- end
41
-
42
- def assert_escape_sequence(expected, color)
43
- assert_equal(expected, color.sequence)
44
- assert_match(/\e\[(?:\d+;)*\d+m/, color.escape_sequence)
45
- assert_equal(expected, color.escape_sequence[2..-2].split(";"))
46
- end
47
- end
@@ -1,477 +0,0 @@
1
- class TestUnitDiff < Test::Unit::TestCase
2
- def test_to_indexes
3
- assert_to_indexes({"abc def" => [0, 2], "abc" => [1]},
4
- ["abc def", "abc", "abc def"])
5
-
6
- assert_to_indexes({?a => [0, 3], ?b => [1], ?c => [2], ?d => [4]},
7
- "abcad")
8
-
9
- assert_to_indexes({
10
- ?1 => [0, 35],
11
- ?t => [2, 5, 16],
12
- ?e => [3, 14, 31, 38],
13
- ?s => [4, 6, 12, 13, 20, 32, 44],
14
- ?, => [7, 21, 33],
15
- ?0 => [9, 23],
16
- ?a => [11, 26],
17
- ?r => [15, 30],
18
- ?i => [17, 27, 41],
19
- ?o => [18],
20
- ?n => [19, 39, 42],
21
- ?f => [25],
22
- ?l => [28],
23
- ?u => [29],
24
- ?p => [37],
25
- ?d => [40],
26
- ?g => [43],
27
- },
28
- "1 tests, 0 assertions, 0 failures, 1 pendings") do |x|
29
- x == " "[0]
30
- end
31
- end
32
-
33
- def test_longest_match
34
- assert_longest_match([0, 1, 3],
35
- %w(b c d), %w(a b c d x y z),
36
- 0, 2, 0, 7)
37
- assert_longest_match([1, 2, 2],
38
- %w(b c d), %w(a b c d x y z),
39
- 1, 2, 0, 6)
40
- assert_longest_match([0, 0, 0],
41
- %w(a b), %w(c),
42
- 0, 1, 0, 0)
43
- assert_longest_match([1, 0, 2],
44
- %w(q a b x c d), %w(a b y c d f),
45
- 0, 5, 0, 5)
46
- assert_longest_match([4, 3, 2],
47
- %w(q a b x c d), %w(a b y c d f),
48
- 3, 5, 2, 5)
49
-
50
- assert_longest_match([1, 0, 2], "qabxcd", "abycdf", 0, 5, 0, 5)
51
- assert_longest_match([0, 0, 1], "efg", "eg", 0, 2, 0, 1)
52
- assert_longest_match([2, 1, 1], "efg", "eg", 1, 2, 1, 1)
53
- end
54
-
55
- def test_longest_match_with_junk_predicate
56
- assert_longest_match([0, 4, 5], " abcd", "abcd abcd", 0, 4, 0, 8)
57
- assert_longest_match([1, 0, 4], " abcd", "abcd abcd", 0, 4, 0, 8) do |x|
58
- x == ' '[0]
59
- end
60
- end
61
-
62
- def test_matches
63
- assert_matches([[0, 0, 2],
64
- [3, 2, 2]],
65
- %w(a b x c d), %w(a b c d))
66
- assert_matches([[1, 0, 2],
67
- [4, 3, 2]],
68
- %w(q a b x c d), %w(a b y c d f))
69
-
70
- assert_matches([[1, 0, 2],
71
- [4, 3, 2]],
72
- "qabxcd", "abycdf")
73
- assert_matches([[0, 0, 1],
74
- [2, 1, 1]],
75
- "efg", "eg")
76
- end
77
-
78
- def test_matches_with_junk_predicate
79
- assert_matches([[0, 0, 23],
80
- [24, 24, 11],
81
- [36, 36, 9]],
82
- "1 tests, 0 assertions, 1 failures, 0 pendings",
83
- "1 tests, 0 assertions, 0 failures, 1 pendings")
84
-
85
- assert_matches([[0, 0, 1],
86
- [1, 1, 8],
87
- [9, 9, 1],
88
- [10, 10, 13],
89
- [24, 24, 11],
90
- [36, 36, 9]],
91
- "1 tests, 0 assertions, 1 failures, 0 pendings",
92
- "1 tests, 0 assertions, 0 failures, 1 pendings") do |x|
93
- x == " "[0]
94
- end
95
- end
96
-
97
- def test_blocks
98
- assert_blocks([[0, 0, 2],
99
- [3, 2, 2],
100
- [5, 4, 0]],
101
- %w(a b x c d), %w(a b c d))
102
- assert_blocks([[1, 0, 2],
103
- [4, 3, 2],
104
- [6, 6, 0]],
105
- %w(q a b x c d), %w(a b y c d f))
106
-
107
- assert_blocks([[1, 0, 2],
108
- [4, 3, 2],
109
- [6, 6, 0]],
110
- "qabxcd", "abycdf")
111
- assert_blocks([[0, 0, 1],
112
- [2, 1, 1],
113
- [3, 2, 0]],
114
- "efg", "eg")
115
- end
116
-
117
- def test_blocks_with_junk_predicate
118
- assert_blocks([[0, 0, 23],
119
- [24, 24, 11],
120
- [36, 36, 9],
121
- [45, 45, 0]],
122
- "1 tests, 0 assertions, 1 failures, 0 pendings",
123
- "1 tests, 0 assertions, 0 failures, 1 pendings") do |x|
124
- x == " "[0]
125
- end
126
- end
127
-
128
- def test_operations
129
- assert_operations([], %w(), %w())
130
-
131
- assert_operations([[:delete, 0, 1, 0, 0],
132
- [:equal, 1, 3, 0, 2],
133
- [:replace, 3, 4, 2, 3],
134
- [:equal, 4, 6, 3, 5],
135
- [:insert, 6, 6, 5, 6]],
136
- %w(q a b x c d), %w(a b y c d f))
137
-
138
- assert_operations([[:delete, 0, 1, 0, 0],
139
- [:equal, 1, 3, 0, 2],
140
- [:replace, 3, 4, 2, 3],
141
- [:equal, 4, 6, 3, 5],
142
- [:insert, 6, 6, 5, 6]],
143
- "qabxcd", "abycdf")
144
-
145
- assert_operations([[:equal, 0, 23, 0, 23],
146
- [:replace, 23, 24, 23, 24],
147
- [:equal, 24, 35, 24, 35],
148
- [:replace, 35, 36, 35, 36],
149
- [:equal, 36, 45, 36, 45]],
150
- "1 tests, 0 assertions, 1 failures, 0 pendings",
151
- "1 tests, 0 assertions, 0 failures, 1 pendings")
152
-
153
- assert_operations([[:equal, 0, 23, 0, 23],
154
- [:replace, 23, 24, 23, 24],
155
- [:equal, 24, 35, 24, 35],
156
- [:replace, 35, 36, 35, 36],
157
- [:equal, 36, 45, 36, 45]],
158
- "1 tests, 0 assertions, 1 failures, 0 pendings",
159
- "1 tests, 0 assertions, 0 failures, 1 pendings") do |x|
160
- x == " "[0]
161
- end
162
- end
163
-
164
- def test_grouped_operations
165
- assert_grouped_operations([[[:equal, 0, 0, 0, 0]]],
166
- %w(),
167
- %w())
168
-
169
- assert_grouped_operations([[[:equal, 0, 3, 0, 3]]],
170
- %w(a b c),
171
- %w(a b c))
172
-
173
- assert_grouped_operations([[[:equal, 0, 1, 0, 1],
174
- [:replace, 1, 2, 1, 2],
175
- [:equal, 2, 5, 2, 5]],
176
- [[:equal, 8, 11, 8, 11],
177
- [:replace, 11, 12, 11, 12],
178
- [:equal, 12, 13, 12, 13],
179
- [:delete, 13, 16, 13, 13],
180
- [:equal, 16, 17, 13, 14],
181
- [:replace, 17, 18, 14, 15],
182
- [:equal, 18, 20, 15, 17]]],
183
- %w(1 2 3 4 5 6 7 8 9 a b c d e f g h i j k),
184
- %w(1 i 3 4 5 6 7 8 9 a b cX d h iX j k))
185
- end
186
-
187
- def test_ratio
188
- assert_ratio(0.75, "abcd", "bcde")
189
- assert_ratio(0.80, "efg", "eg")
190
- end
191
-
192
- def test_same_contents_readable_diff
193
- assert_readable_diff(" aaa", ["aaa"], ["aaa"])
194
- assert_readable_diff(" aaa\n" \
195
- " bbb",
196
- ["aaa", "bbb"], ["aaa", "bbb"])
197
- end
198
-
199
- def test_deleted_readable_diff
200
- assert_readable_diff(" aaa\n" \
201
- "- bbb",
202
- ["aaa", "bbb"], ["aaa"])
203
- assert_readable_diff(" aaa\n" \
204
- "- bbb\n" \
205
- "- ccc\n" \
206
- "- ddd",
207
- ["aaa", "bbb", "ccc", "ddd"], ["aaa"])
208
- end
209
-
210
- def test_inserted_readable_diff
211
- assert_readable_diff(" aaa\n" \
212
- "+ bbb\n" \
213
- "+ ccc\n" \
214
- "+ ddd",
215
- ["aaa"], ["aaa", "bbb", "ccc", "ddd"])
216
- end
217
-
218
- def test_replace_readable_diff
219
- assert_readable_diff(" aaa\n" \
220
- "- bbb\n" \
221
- "+ BbB\n" \
222
- " ccc\n" \
223
- "- ddd\n" \
224
- "- efg\n" \
225
- "? -\n" \
226
- "+ eg",
227
- ["aaa", "bbb", "ccc", "ddd", "efg"],
228
- ["aaa", "BbB", "ccc", "eg"])
229
-
230
- assert_readable_diff("- abcd xyz abc\n" \
231
- "? -\n" \
232
- "+ abcd abcd xyz abc\n" \
233
- "? +++++",
234
- [" abcd xyz abc"],
235
- ["abcd abcd xyz abc"])
236
- end
237
-
238
- def test_difference_readable_diff
239
- assert_readable_diff("- 1 tests, 0 assertions, 1 failures, 0 pendings\n" \
240
- "? ^ ^\n" \
241
- "+ 1 tests, 0 assertions, 0 failures, 1 pendings\n" \
242
- "? ^ ^",
243
- ["1 tests, 0 assertions, 1 failures, 0 pendings"],
244
- ["1 tests, 0 assertions, 0 failures, 1 pendings"])
245
- end
246
-
247
- def test_complex_readable_diff
248
- assert_readable_diff(" aaa\n" \
249
- "- bbb\n" \
250
- "- ccc\n" \
251
- "+ \n" \
252
- "+ # \n" \
253
- " ddd",
254
- ["aaa", "bbb", "ccc", "ddd"],
255
- ["aaa", "", " # ", "ddd"])
256
-
257
- assert_readable_diff("- one1\n" \
258
- "? ^\n" \
259
- "+ ore1\n" \
260
- "? ^\n" \
261
- "- two2\n" \
262
- "- three3\n" \
263
- "? - -\n" \
264
- "+ tree\n" \
265
- "+ emu",
266
- ["one1", "two2", "three3"],
267
- ["ore1", "tree", "emu"])
268
- end
269
-
270
- def test_empty_readable_diff
271
- assert_readable_diff("", [""], [""])
272
- end
273
-
274
- def test_unified_diff
275
- assert_unified_diff("",
276
- ["one", "two", "three"],
277
- ["one", "two", "three"],
278
- "content 1",
279
- "content 2")
280
-
281
- assert_unified_diff("--- Original Sat Jan 26 23:30:50 1991\n" \
282
- "+++ Current Fri Jun 06 10:20:52 2003\n" \
283
- "@@ -1,4 +1,4 @@\n" \
284
- "+zero\n" \
285
- " one\n" \
286
- "-two\n" \
287
- "-three\n" \
288
- "+tree\n" \
289
- " four",
290
- ["one", "two", "three", "four"],
291
- ["zero", "one", "tree", "four"],
292
- "Original Sat Jan 26 23:30:50 1991",
293
- "Current Fri Jun 06 10:20:52 2003",
294
- :show_context => false)
295
-
296
- from = File.read(__FILE__).split(/\n/)
297
- to = from.dup
298
- target_line = __LINE__
299
- to[target_line - 1, 1] = []
300
- context = " def test_unified_diff"
301
- summary = "@@ -#{target_line - 3},7 +#{target_line - 3},6 @@ #{context}"
302
- assert_unified_diff((["--- revision 10",
303
- "+++ revision 11",
304
- summary] +
305
- from[target_line - 4, 3].collect {|line| " #{line}"} +
306
- ["-#{from[target_line - 1]}"] +
307
- from[target_line, 3].collect {|line| " #{line}"}
308
- ).join("\n"),
309
- from, to,
310
- "revision 10",
311
- "revision 11")
312
- end
313
-
314
- def test_empty_unified_diff
315
- assert_unified_diff("", [""], [""], "From", "To")
316
- assert_unified_diff("", [], [], "From", "To")
317
- end
318
-
319
- def test_diff_lines
320
- assert_diff_lines(["- ddd",
321
- "- efg",
322
- "? -",
323
- "+ eg"],
324
- ["aaa", "bbb", "ccc", "ddd", "efg"],
325
- ["aaa", "BbB", "ccc", "eg"],
326
- 3, 5, 3, 4)
327
- end
328
-
329
- def test_diff_line
330
- assert_diff_line(["- abcDefghiJkl",
331
- "? ^ ^ ^",
332
- "+ abcdefGhijkl",
333
- "? ^ ^ ^"],
334
- "abcDefghiJkl",
335
- "abcdefGhijkl")
336
-
337
- assert_diff_line(["- bcDefghiJklx",
338
- "? ^ ^ ^ -",
339
- "+ abcdefGhijkl",
340
- "? + ^ ^ ^"],
341
- "bcDefghiJklx",
342
- "abcdefGhijkl")
343
- end
344
-
345
- def test_empty_diff_line
346
- assert_diff_line(["- ",
347
- "+ "],
348
- "", "")
349
- end
350
-
351
- def test_format_diff_point
352
- assert_format_diff_point(["- \tabcDefghiJkl",
353
- "? \t ^ ^ ^",
354
- "+ \t\tabcdefGhijkl",
355
- "? \t ^ ^ ^"],
356
- "\tabcDefghiJkl",
357
- "\t\tabcdefGhijkl",
358
- " ^ ^ ^ ",
359
- "+ ^ ^ ^ ")
360
- assert_format_diff_point(["- efg",
361
- "? ^",
362
- "+ eg"],
363
- "efg",
364
- "eg",
365
- " ^",
366
- "")
367
- end
368
-
369
- def test_interesting_line
370
- from = ["class X",
371
- " def find(x=0)",
372
- " body",
373
- " end",
374
- "end"]
375
- to = ["def xxx",
376
- " raise 'not call me'",
377
- "end"]
378
- assert_interesting_line(" def find(x=0)",
379
- from, to,
380
- 2, 1)
381
- assert_interesting_line("def xxx",
382
- from, to,
383
- 2, 0)
384
- assert_interesting_line("class X",
385
- from, to,
386
- 0, 0)
387
- end
388
-
389
- private
390
- def assert_to_indexes(expected, to, &junk_predicate)
391
- matcher = Test::Unit::Diff::SequenceMatcher.new([""], to, &junk_predicate)
392
- assert_equal(expected, matcher.instance_variable_get("@to_indexes"))
393
- end
394
-
395
- def assert_find_best_match_position(expected, from, to,
396
- from_start, from_end,
397
- to_start, to_end, &junk_predicate)
398
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
399
- assert_equal(expected, matcher.send(:find_best_match_position,
400
- from_start, from_end,
401
- to_start, to_end))
402
- end
403
-
404
- def assert_longest_match(expected, from, to,
405
- from_start, from_end,
406
- to_start, to_end, &junk_predicate)
407
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
408
- assert_equal(expected, matcher.longest_match(from_start, from_end,
409
- to_start, to_end))
410
- end
411
-
412
- def assert_matches(expected, from, to, &junk_predicate)
413
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
414
- assert_equal(expected, matcher.send(:matches))
415
- end
416
-
417
- def assert_blocks(expected, from, to, &junk_predicate)
418
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
419
- assert_equal(expected, matcher.blocks)
420
- end
421
-
422
- def assert_operations(expected, from, to, &junk_predicate)
423
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
424
- assert_equal(expected, matcher.operations)
425
- end
426
-
427
- def assert_grouped_operations(expected, from, to)
428
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to)
429
- assert_equal(expected, matcher.grouped_operations)
430
- end
431
-
432
- def assert_ratio(expected, from, to)
433
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to)
434
- assert_in_delta(expected, 0.001, matcher.ratio)
435
- end
436
-
437
- def assert_readable_diff(expected, from, to)
438
- assert_equal(expected,
439
- Test::Unit::Diff.readable(from.join("\n"), to.join("\n")))
440
- end
441
-
442
- def assert_unified_diff(expected, from, to, from_label, to_label, options={})
443
- options = options.merge(:from_label => from_label,
444
- :to_label => to_label)
445
- assert_equal(expected,
446
- Test::Unit::Diff.unified(from.join("\n"), to.join("\n"),
447
- options))
448
- end
449
-
450
- def assert_diff_lines(expected, from, to,
451
- from_start, from_end,
452
- to_start, to_end)
453
- differ = Test::Unit::Diff::ReadableDiffer.new(from, to)
454
- assert_equal(expected, differ.send(:diff_lines,
455
- from_start, from_end,
456
- to_start, to_end))
457
- end
458
-
459
- def assert_diff_line(expected, from_line, to_line)
460
- differ = Test::Unit::Diff::ReadableDiffer.new([""], [""])
461
- assert_equal(expected, differ.send(:diff_line, from_line, to_line))
462
- end
463
-
464
- def assert_format_diff_point(expected, from_line, to_line, from_tags, to_tags)
465
- differ = Test::Unit::Diff::ReadableDiffer.new([""], [""])
466
- assert_equal(expected, differ.send(:format_diff_point,
467
- from_line, to_line,
468
- from_tags, to_tags))
469
- end
470
-
471
- def assert_interesting_line(expected, from, to, from_start, to_start)
472
- differ = Test::Unit::Diff::UnifiedDiffer.new(from, to)
473
- assert_equal(expected, differ.send(:find_interesting_line,
474
- from_start, to_start,
475
- :define_line?))
476
- end
477
- end