html-table 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/test/tc_header.rb CHANGED
@@ -1,87 +1,77 @@
1
- ################################################
2
- # tc_header.rb
3
- #
4
- # Test suite for the Table::Row::Header class
5
- ################################################
6
- base = File.basename(Dir.pwd)
7
-
8
- if base == "test" || base =~ /html-table/
9
- Dir.chdir("..") if base == "test"
10
- $LOAD_PATH.unshift(Dir.pwd)
11
- $LOAD_PATH.unshift(Dir.pwd + "/lib")
12
- $LOAD_PATH.unshift(Dir.pwd + "/lib/html")
13
- Dir.chdir("test") rescue nil
14
- end
15
-
16
- require "test/unit"
17
- require "html/table"
18
- include HTML
19
-
20
- class TC_HTML_Table_Row_Header < Test::Unit::TestCase
21
- def setup
22
- @th = Table::Row::Header.new
23
- end
24
-
25
- def test_basic
26
- html = "<th></th>"
27
- assert_equal(html,@th.html.gsub(/\s+/,''))
28
- end
29
-
30
- def test_constructor
31
- assert_nothing_raised{ Table::Row::Header.new }
32
- assert_nothing_raised{ Table::Row::Header.new("foo") }
33
- assert_nothing_raised{ Table::Row::Header.new(1) }
34
- assert_nothing_raised{ Table::Row::Header.new(%w/foo bar baz/) }
35
- assert_nothing_raised{ Table::Row::Header.new([1,2,3]) }
36
- assert_nothing_raised{ Table::Row::Header.new([[1,2,3],["foo","bar"]]) }
37
- end
38
-
39
- def test_with_attributes
40
- html = "<th align='left' colspan=3 nowrap></th>"
41
- @th.align = 'left'
42
- @th.colspan = 3
43
- @th.nowrap = true
44
- assert_equal(html,@th.html.gsub(/\s{2,}|\n+/,''))
45
- end
46
-
47
- def test_configure_not_allowed
48
- assert_raises(NoMethodError){ @th.configure }
49
- end
50
-
51
- def test_add_content
52
- html = "<th>hello world</th>"
53
- @th.content = "hello world"
54
- assert_equal(html,@th.html.gsub(/\s{2,}/,''))
55
- end
56
-
57
- def test_add_multiple_content_items
58
- html = "<th>hello world</th>"
59
- @th.content = "hello"," world"
60
- assert_equal(html,@th.html.gsub(/\s{2,}/,''))
61
- end
62
-
63
- def test_add_content_in_constructor
64
- html = "<th>hello world</th>"
65
- th = Table::Row::Header.new("hello world")
66
- assert_equal(html,th.html.gsub(/\s{2,}/,''))
67
- end
68
-
69
- def test_indent_level
70
- assert_respond_to(Table::Row::Header,:indent_level)
71
- assert_respond_to(Table::Row::Header,:indent_level=)
72
- assert_raises(ArgumentTypeError){ Table::Row::Header.indent_level = "foo" }
73
- assert_nothing_raised{ Table::Row::Header.indent_level = 6 }
74
- end
75
-
76
- def test_end_tags
77
- assert_respond_to(Table::Row::Header,:end_tags?)
78
- assert_respond_to(Table::Row::Header,:end_tags=)
79
- assert_raises(ArgumentTypeError){ Table::Row::Header.end_tags = "foo" }
80
- assert_raises(ArgumentTypeError){ Table::Row::Header.end_tags = 1 }
81
- assert_nothing_raised{ Table::Row::Header.end_tags = true }
82
- end
83
-
84
- def teardown
85
- @th = nil
86
- end
87
- end
1
+ ################################################
2
+ # tc_header.rb
3
+ #
4
+ # Test suite for the Table::Row::Header class
5
+ ################################################
6
+ require "test/unit"
7
+ require "html/table"
8
+ include HTML
9
+
10
+ class TC_HTML_Table_Row_Header < Test::Unit::TestCase
11
+ def setup
12
+ @th = Table::Row::Header.new
13
+ end
14
+
15
+ def test_basic
16
+ html = "<th></th>"
17
+ assert_equal(html,@th.html.gsub(/\s+/,''))
18
+ end
19
+
20
+ def test_constructor
21
+ assert_nothing_raised{ Table::Row::Header.new }
22
+ assert_nothing_raised{ Table::Row::Header.new("foo") }
23
+ assert_nothing_raised{ Table::Row::Header.new(1) }
24
+ assert_nothing_raised{ Table::Row::Header.new(%w/foo bar baz/) }
25
+ assert_nothing_raised{ Table::Row::Header.new([1,2,3]) }
26
+ assert_nothing_raised{ Table::Row::Header.new([[1,2,3],["foo","bar"]]) }
27
+ end
28
+
29
+ def test_with_attributes
30
+ html = "<th align='left' colspan=3 nowrap></th>"
31
+ @th.align = 'left'
32
+ @th.colspan = 3
33
+ @th.nowrap = true
34
+ assert_equal(html,@th.html.gsub(/\s{2,}|\n+/,''))
35
+ end
36
+
37
+ def test_configure_not_allowed
38
+ assert_raises(NoMethodError){ @th.configure }
39
+ end
40
+
41
+ def test_add_content
42
+ html = "<th>hello world</th>"
43
+ @th.content = "hello world"
44
+ assert_equal(html,@th.html.gsub(/\s{2,}/,''))
45
+ end
46
+
47
+ def test_add_multiple_content_items
48
+ html = "<th>hello world</th>"
49
+ @th.content = "hello"," world"
50
+ assert_equal(html,@th.html.gsub(/\s{2,}/,''))
51
+ end
52
+
53
+ def test_add_content_in_constructor
54
+ html = "<th>hello world</th>"
55
+ th = Table::Row::Header.new("hello world")
56
+ assert_equal(html,th.html.gsub(/\s{2,}/,''))
57
+ end
58
+
59
+ def test_indent_level
60
+ assert_respond_to(Table::Row::Header,:indent_level)
61
+ assert_respond_to(Table::Row::Header,:indent_level=)
62
+ assert_raises(ArgumentTypeError){ Table::Row::Header.indent_level = "foo" }
63
+ assert_nothing_raised{ Table::Row::Header.indent_level = 6 }
64
+ end
65
+
66
+ def test_end_tags
67
+ assert_respond_to(Table::Row::Header,:end_tags?)
68
+ assert_respond_to(Table::Row::Header,:end_tags=)
69
+ assert_raises(ArgumentTypeError){ Table::Row::Header.end_tags = "foo" }
70
+ assert_raises(ArgumentTypeError){ Table::Row::Header.end_tags = 1 }
71
+ assert_nothing_raised{ Table::Row::Header.end_tags = true }
72
+ end
73
+
74
+ def teardown
75
+ @th = nil
76
+ end
77
+ end
@@ -1,47 +1,37 @@
1
- ############################################################################
2
- # tc_html_handler.rb
3
- #
4
- # Test suite for the HtmlHandler module. For these tests, we'll use an
5
- # instance of the Table class where the module has been mixed in.
6
- ############################################################################
7
- base = File.basename(Dir.pwd)
8
-
9
- if base == "test" || base =~ /html-table/
10
- Dir.chdir("..") if base == "test"
11
- $LOAD_PATH.unshift(Dir.pwd)
12
- $LOAD_PATH.unshift(Dir.pwd + "/lib")
13
- $LOAD_PATH.unshift(Dir.pwd + "/lib/html")
14
- Dir.chdir("test") rescue nil
15
- end
16
-
17
- require "test/unit"
18
- require "html/table"
19
- include HTML
20
-
21
- class TC_HtmlHandler < Test::Unit::TestCase
22
- def setup
23
- @t = Table.new(["foo",1,"bar"])
24
- end
25
-
26
- def test_html
27
- assert_respond_to(@t, :html)
28
- assert_nothing_raised{ @t.html }
29
- assert_raises(NoMethodError){ @t.html = "foo" }
30
- assert_kind_of(String,@t.html)
31
- assert_equal(true,@t.html.length > 0)
32
- end
33
-
34
- def test_modify_html
35
- assert_raises(ArgumentError){ @t.send(:modify_html) }
36
- assert_nothing_raised{ @t.send(:modify_html,"nowrap") }
37
- assert_nothing_raised{ @t.send(:modify_html,"align","top") }
38
- assert_nothing_raised{
39
- @t.send(:modify_html,"align","top")
40
- @t.send(:modify_html,"align","top")
41
- }
42
- end
43
-
44
- def teardown
45
- @t = nil
46
- end
47
- end
1
+ ############################################################################
2
+ # tc_html_handler.rb
3
+ #
4
+ # Test suite for the HtmlHandler module. For these tests, we'll use an
5
+ # instance of the Table class where the module has been mixed in.
6
+ ############################################################################
7
+ require "test/unit"
8
+ require "html/table"
9
+ include HTML
10
+
11
+ class TC_HtmlHandler < Test::Unit::TestCase
12
+ def setup
13
+ @t = Table.new(["foo",1,"bar"])
14
+ end
15
+
16
+ def test_html
17
+ assert_respond_to(@t, :html)
18
+ assert_nothing_raised{ @t.html }
19
+ assert_raises(NoMethodError){ @t.html = "foo" }
20
+ assert_kind_of(String,@t.html)
21
+ assert_equal(true,@t.html.length > 0)
22
+ end
23
+
24
+ def test_modify_html
25
+ assert_raises(ArgumentError){ @t.send(:modify_html) }
26
+ assert_nothing_raised{ @t.send(:modify_html,"nowrap") }
27
+ assert_nothing_raised{ @t.send(:modify_html,"align","top") }
28
+ assert_nothing_raised{
29
+ @t.send(:modify_html,"align","top")
30
+ @t.send(:modify_html,"align","top")
31
+ }
32
+ end
33
+
34
+ def teardown
35
+ @t = nil
36
+ end
37
+ end
data/test/tc_row.rb CHANGED
@@ -1,151 +1,141 @@
1
- ############################################
2
- # tc_row.rb
3
- #
4
- # Test suite for the Table::Row class
5
- ############################################
6
- base = File.basename(Dir.pwd)
7
-
8
- if base == "test" || base =~ /html-table/
9
- Dir.chdir("..") if base == "test"
10
- $LOAD_PATH.unshift(Dir.pwd)
11
- $LOAD_PATH.unshift(Dir.pwd + "/lib")
12
- $LOAD_PATH.unshift(Dir.pwd + "/lib/html")
13
- Dir.chdir("test") rescue nil
14
- end
15
-
16
- require "test/unit"
17
- require "html/table"
18
- include HTML
19
-
20
- class TC_HTML_Table_Row < Test::Unit::TestCase
21
- def setup
22
- @tr = Table::Row.new
23
- end
24
-
25
- def test_constructor
26
- assert_nothing_raised{ Table::Row.new }
27
- assert_nothing_raised{ Table::Row.new("foo") }
28
- assert_nothing_raised{ Table::Row.new(1) }
29
- assert_nothing_raised{ Table::Row.new([1,2,3]) }
30
- assert_nothing_raised{ Table::Row.new([[1,2,3],["foo","bar"]]) }
31
- end
32
-
33
- def test_basic
34
- html = "<tr></tr>"
35
- assert_equal(html,@tr.html.gsub(/\s+/,''))
36
- end
37
-
38
- def test_header
39
- assert_respond_to(@tr, :header?)
40
- assert_respond_to(@tr, :header=)
41
- assert_nothing_raised{ @tr.header? }
42
- assert_nothing_raised{ @tr.header = true }
43
- end
44
-
45
- def test_with_attributes
46
- html = "<tr align='center'></tr>"
47
- @tr.align = "center"
48
- assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
49
- end
50
-
51
- def test_index_assignment_constraints
52
- assert_raises(ArgumentTypeError){ @tr[0] = "foo" }
53
- assert_raises(ArgumentTypeError){ @tr[0] = 1 }
54
- assert_raises(ArgumentTypeError){ @tr[0] = Table::Caption.new }
55
- assert_nothing_raised{ @tr[0] = Table::Row::Data.new }
56
- assert_nothing_raised{ @tr[0] = Table::Row::Header.new }
57
- end
58
-
59
- def test_push_constraints
60
- assert_raises(ArgumentTypeError){ @tr.push(Table::Caption.new) }
61
- assert_raises(ArgumentTypeError){ @tr.push(nil) }
62
- assert_nothing_raised{ @tr.push("test") }
63
- assert_nothing_raised{ @tr.push(7) }
64
- assert_nothing_raised{ @tr.push(Table::Row::Data.new) }
65
- assert_nothing_raised{ @tr.push(Table::Row::Header.new) }
66
- end
67
-
68
- # Test the '<<' method
69
- def test_doubl_arrow_constraints
70
- assert_raises(ArgumentTypeError){ @tr << Table::Caption.new }
71
- assert_nothing_raised{ @tr << "test" }
72
- assert_nothing_raised{ @tr << "test" << "foo" }
73
- assert_nothing_raised{ @tr << Table::Row::Data.new }
74
- assert_nothing_raised{ @tr << Table::Row::Header.new }
75
- end
76
-
77
- def test_header_in_constructor
78
- assert_nothing_raised{ @tr = Table::Row.new('test', true) }
79
- html = "<tr><th>test</th></tr>"
80
- assert_equal(html, @tr.html.gsub(/\s+/,''))
81
- end
82
-
83
- def test_push_single_data_element
84
- html = "<tr><td>hello</td></tr>"
85
- @tr.push Table::Row::Data.new{ |d| d.content = "hello" }
86
- assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
87
- end
88
-
89
- def test_push_multiple_data_element
90
- html = "<tr><td>hello</td><td>world</td></tr>"
91
- d1 = Table::Row::Data.new{ |d| d.content = "hello" }
92
- d2 = Table::Row::Data.new{ |d| d.content = "world" }
93
- @tr.push d1, d2
94
- assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
95
- end
96
-
97
- def test_add_content_directly
98
- html = "<tr><td>hello</td><td>world</td></tr>"
99
- @tr.content = "hello","world"
100
- assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
101
- end
102
-
103
- def test_add_content_in_constructor
104
- html = "<tr><td>hello</td><td>world</td></tr>"
105
- tr = Table::Row.new(%w/hello world/)
106
- assert_equal(html,tr.html.gsub(/\s{2,}|\n+/,''))
107
- end
108
-
109
- def test_configure_column
110
- html = "<tr><td>hello</td><td abbr='test' width=3 nowrap>world</td></tr>"
111
- @tr.content = "hello","world"
112
- @tr.configure(1){ |d|
113
- d.abbr = 'test'
114
- d.width = 3
115
- d.nowrap = true
116
- }
117
- assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
118
- end
119
-
120
- def test_unshift_constraints
121
- assert_raises(ArgumentTypeError){ @tr.unshift(Table::Caption.new) }
122
- assert_raises(ArgumentTypeError){ @tr.unshift(nil) }
123
- assert_nothing_raised{ @tr.unshift("test") }
124
- assert_nothing_raised{ @tr.unshift(7) }
125
- assert_nothing_raised{ @tr.unshift(Table::Row::Data.new) }
126
- assert_nothing_raised{ @tr.unshift(Table::Row::Header.new) }
127
- end
128
-
129
- def test_configure_error
130
- assert_raises(ArgumentError){ @tr.configure(0,0){ } }
131
- end
132
-
133
- def test_indent_level
134
- assert_respond_to(Table::Row,:indent_level)
135
- assert_respond_to(Table::Row,:indent_level=)
136
- assert_raises(ArgumentTypeError){ Table::Row.indent_level = "foo" }
137
- assert_nothing_raised{ Table::Row.indent_level = 3 }
138
- end
139
-
140
- def test_end_tags
141
- assert_respond_to(Table::Row,:end_tags?)
142
- assert_respond_to(Table::Row,:end_tags=)
143
- assert_raises(ArgumentTypeError){ Table::Row.end_tags = "foo" }
144
- assert_raises(ArgumentTypeError){ Table::Row.end_tags = 1 }
145
- assert_nothing_raised{ Table::Row.end_tags = true }
146
- end
147
-
148
- def teardown
149
- @tr = nil
150
- end
151
- end
1
+ ############################################
2
+ # tc_row.rb
3
+ #
4
+ # Test suite for the Table::Row class
5
+ ############################################
6
+ require "test/unit"
7
+ require "html/table"
8
+ include HTML
9
+
10
+ class TC_HTML_Table_Row < Test::Unit::TestCase
11
+ def setup
12
+ @tr = Table::Row.new
13
+ end
14
+
15
+ def test_constructor
16
+ assert_nothing_raised{ Table::Row.new }
17
+ assert_nothing_raised{ Table::Row.new("foo") }
18
+ assert_nothing_raised{ Table::Row.new(1) }
19
+ assert_nothing_raised{ Table::Row.new([1,2,3]) }
20
+ assert_nothing_raised{ Table::Row.new([[1,2,3],["foo","bar"]]) }
21
+ end
22
+
23
+ def test_basic
24
+ html = "<tr></tr>"
25
+ assert_equal(html,@tr.html.gsub(/\s+/,''))
26
+ end
27
+
28
+ def test_header
29
+ assert_respond_to(@tr, :header?)
30
+ assert_respond_to(@tr, :header=)
31
+ assert_nothing_raised{ @tr.header? }
32
+ assert_nothing_raised{ @tr.header = true }
33
+ end
34
+
35
+ def test_with_attributes
36
+ html = "<tr align='center'></tr>"
37
+ @tr.align = "center"
38
+ assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
39
+ end
40
+
41
+ def test_index_assignment_constraints
42
+ assert_raises(ArgumentTypeError){ @tr[0] = "foo" }
43
+ assert_raises(ArgumentTypeError){ @tr[0] = 1 }
44
+ assert_raises(ArgumentTypeError){ @tr[0] = Table::Caption.new }
45
+ assert_nothing_raised{ @tr[0] = Table::Row::Data.new }
46
+ assert_nothing_raised{ @tr[0] = Table::Row::Header.new }
47
+ end
48
+
49
+ def test_push_constraints
50
+ assert_raises(ArgumentTypeError){ @tr.push(Table::Caption.new) }
51
+ assert_raises(ArgumentTypeError){ @tr.push(nil) }
52
+ assert_nothing_raised{ @tr.push("test") }
53
+ assert_nothing_raised{ @tr.push(7) }
54
+ assert_nothing_raised{ @tr.push(Table::Row::Data.new) }
55
+ assert_nothing_raised{ @tr.push(Table::Row::Header.new) }
56
+ end
57
+
58
+ # Test the '<<' method
59
+ def test_doubl_arrow_constraints
60
+ assert_raises(ArgumentTypeError){ @tr << Table::Caption.new }
61
+ assert_nothing_raised{ @tr << "test" }
62
+ assert_nothing_raised{ @tr << "test" << "foo" }
63
+ assert_nothing_raised{ @tr << Table::Row::Data.new }
64
+ assert_nothing_raised{ @tr << Table::Row::Header.new }
65
+ end
66
+
67
+ def test_header_in_constructor
68
+ assert_nothing_raised{ @tr = Table::Row.new('test', true) }
69
+ html = "<tr><th>test</th></tr>"
70
+ assert_equal(html, @tr.html.gsub(/\s+/,''))
71
+ end
72
+
73
+ def test_push_single_data_element
74
+ html = "<tr><td>hello</td></tr>"
75
+ @tr.push Table::Row::Data.new{ |d| d.content = "hello" }
76
+ assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
77
+ end
78
+
79
+ def test_push_multiple_data_element
80
+ html = "<tr><td>hello</td><td>world</td></tr>"
81
+ d1 = Table::Row::Data.new{ |d| d.content = "hello" }
82
+ d2 = Table::Row::Data.new{ |d| d.content = "world" }
83
+ @tr.push d1, d2
84
+ assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
85
+ end
86
+
87
+ def test_add_content_directly
88
+ html = "<tr><td>hello</td><td>world</td></tr>"
89
+ @tr.content = "hello","world"
90
+ assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
91
+ end
92
+
93
+ def test_add_content_in_constructor
94
+ html = "<tr><td>hello</td><td>world</td></tr>"
95
+ tr = Table::Row.new(%w/hello world/)
96
+ assert_equal(html,tr.html.gsub(/\s{2,}|\n+/,''))
97
+ end
98
+
99
+ def test_configure_column
100
+ html = "<tr><td>hello</td><td abbr='test' width=3 nowrap>world</td></tr>"
101
+ @tr.content = "hello","world"
102
+ @tr.configure(1){ |d|
103
+ d.abbr = 'test'
104
+ d.width = 3
105
+ d.nowrap = true
106
+ }
107
+ assert_equal(html,@tr.html.gsub(/\s{2,}|\n+/,''))
108
+ end
109
+
110
+ def test_unshift_constraints
111
+ assert_raises(ArgumentTypeError){ @tr.unshift(Table::Caption.new) }
112
+ assert_raises(ArgumentTypeError){ @tr.unshift(nil) }
113
+ assert_nothing_raised{ @tr.unshift("test") }
114
+ assert_nothing_raised{ @tr.unshift(7) }
115
+ assert_nothing_raised{ @tr.unshift(Table::Row::Data.new) }
116
+ assert_nothing_raised{ @tr.unshift(Table::Row::Header.new) }
117
+ end
118
+
119
+ def test_configure_error
120
+ assert_raises(ArgumentError){ @tr.configure(0,0){ } }
121
+ end
122
+
123
+ def test_indent_level
124
+ assert_respond_to(Table::Row,:indent_level)
125
+ assert_respond_to(Table::Row,:indent_level=)
126
+ assert_raises(ArgumentTypeError){ Table::Row.indent_level = "foo" }
127
+ assert_nothing_raised{ Table::Row.indent_level = 3 }
128
+ end
129
+
130
+ def test_end_tags
131
+ assert_respond_to(Table::Row,:end_tags?)
132
+ assert_respond_to(Table::Row,:end_tags=)
133
+ assert_raises(ArgumentTypeError){ Table::Row.end_tags = "foo" }
134
+ assert_raises(ArgumentTypeError){ Table::Row.end_tags = 1 }
135
+ assert_nothing_raised{ Table::Row.end_tags = true }
136
+ end
137
+
138
+ def teardown
139
+ @tr = nil
140
+ end
141
+ end