html-table 1.3.1 → 1.3.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.
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