rocx 0.5.7 → 0.5.8
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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Gemfile.lock +11 -7
- data/Rakefile +3 -8
- data/lib/rocx/elements/base_container.rb +8 -4
- data/lib/rocx/elements/paragraph.rb +4 -4
- data/lib/rocx/elements/run.rb +40 -1
- data/lib/rocx/properties.rb +5 -0
- data/lib/rocx/properties/alignment.rb +4 -19
- data/lib/rocx/properties/attribute_builder.rb +8 -2
- data/lib/rocx/properties/auto_adjust_right_indent.rb +3 -9
- data/lib/rocx/properties/auto_space_de.rb +1 -8
- data/lib/rocx/properties/auto_space_dn.rb +1 -8
- data/lib/rocx/properties/base_property.rb +20 -11
- data/lib/rocx/properties/bold.rb +1 -4
- data/lib/rocx/properties/boolean_property.rb +1 -1
- data/lib/rocx/properties/border.rb +5 -13
- data/lib/rocx/properties/borders.rb +2 -8
- data/lib/rocx/properties/caps.rb +6 -0
- data/lib/rocx/properties/character_spacing.rb +8 -0
- data/lib/rocx/properties/color.rb +13 -0
- data/lib/rocx/properties/complex_bold.rb +8 -0
- data/lib/rocx/properties/complex_font_size.rb +8 -0
- data/lib/rocx/properties/complex_italics.rb +8 -0
- data/lib/rocx/properties/complex_property.rb +16 -0
- data/lib/rocx/properties/complex_script_formatting.rb +8 -0
- data/lib/rocx/properties/compress_punctuation.rb +1 -4
- data/lib/rocx/properties/conditional_formatting.rb +17 -56
- data/lib/rocx/properties/div_id.rb +1 -18
- data/lib/rocx/properties/double_strikethrough.rb +8 -0
- data/lib/rocx/properties/east_asian_layout.rb +22 -0
- data/lib/rocx/properties/effect.rb +11 -0
- data/lib/rocx/properties/emboss.rb +6 -0
- data/lib/rocx/properties/emphasis.rb +12 -0
- data/lib/rocx/properties/expansion.rb +18 -0
- data/lib/rocx/properties/font.rb +34 -0
- data/lib/rocx/properties/font_size.rb +8 -0
- data/lib/rocx/properties/frame.rb +5 -16
- data/lib/rocx/properties/hidden_text.rb +8 -0
- data/lib/rocx/properties/highlight.rb +11 -0
- data/lib/rocx/properties/imprint.rb +6 -0
- data/lib/rocx/properties/indentation.rb +11 -24
- data/lib/rocx/properties/integer_property.rb +15 -0
- data/lib/rocx/properties/italics.rb +1 -4
- data/lib/rocx/properties/kerning.rb +8 -0
- data/lib/rocx/properties/language.rb +20 -0
- data/lib/rocx/properties/manual_width.rb +12 -0
- data/lib/rocx/properties/math.rb +8 -0
- data/lib/rocx/properties/no_proof.rb +6 -0
- data/lib/rocx/properties/numbering.rb +4 -10
- data/lib/rocx/properties/on_off_property.rb +1 -1
- data/lib/rocx/properties/outline.rb +6 -0
- data/lib/rocx/properties/outline_level.rb +2 -17
- data/lib/rocx/properties/overflow_punctuation.rb +1 -8
- data/lib/rocx/properties/paragraph_style.rb +8 -0
- data/lib/rocx/properties/position.rb +6 -0
- data/lib/rocx/properties/positive_integer_property.rb +15 -0
- data/lib/rocx/properties/right_to_left.rb +8 -0
- data/lib/rocx/properties/run_style.rb +8 -0
- data/lib/rocx/properties/shading.rb +9 -20
- data/lib/rocx/properties/shadow.rb +6 -0
- data/lib/rocx/properties/small_caps.rb +6 -0
- data/lib/rocx/properties/spacing.rb +4 -17
- data/lib/rocx/properties/spec_vanish.rb +6 -0
- data/lib/rocx/properties/strikethrough.rb +8 -0
- data/lib/rocx/properties/style.rb +15 -0
- data/lib/rocx/properties/tab.rb +1 -9
- data/lib/rocx/properties/tabs.rb +1 -9
- data/lib/rocx/properties/text_alignment.rb +11 -0
- data/lib/rocx/properties/text_direction.rb +1 -5
- data/lib/rocx/properties/textbox_tight_wrap.rb +1 -5
- data/lib/rocx/properties/toggle_property.rb +1 -1
- data/lib/rocx/properties/underline.rb +24 -0
- data/lib/rocx/properties/value_property.rb +29 -0
- data/lib/rocx/properties/vertical_alignment.rb +3 -10
- data/lib/rocx/properties/web_hidden.rb +6 -0
- data/lib/rocx/version.rb +1 -1
- data/rocx.gemspec +1 -2
- data/spec/elements/break_spec.rb +47 -0
- data/spec/elements/paragraph_spec.rb +31 -0
- data/spec/elements/run_spec.rb +15 -0
- data/spec/elements/symbol_spec.rb +24 -0
- data/spec/elements/text_spec.rb +23 -0
- data/spec/package_spec.rb +48 -0
- data/spec/parts/content_types_spec.rb +32 -0
- data/spec/parts/document_spec.rb +32 -0
- data/spec/parts/global_rels_spec.rb +13 -0
- data/spec/parts/rels_spec.rb +42 -0
- data/spec/parts/settings_spec.rb +13 -0
- data/spec/parts/styles_spec.rb +27 -0
- data/spec/properties/alignment_spec.rb +58 -0
- data/spec/properties/auto_adjust_right_indent_spec.rb +23 -0
- data/spec/properties/auto_space_de_spec.rb +23 -0
- data/spec/properties/auto_space_dn_spec.rb +23 -0
- data/spec/properties/bidi_spec.rb +23 -0
- data/spec/properties/bold_spec.rb +23 -0
- data/spec/properties/border_spec.rb +156 -0
- data/spec/properties/borders_spec.rb +66 -0
- data/spec/properties/caps_spec.rb +23 -0
- data/spec/properties/character_spacing_spec.rb +26 -0
- data/spec/properties/color_spec.rb +49 -0
- data/spec/properties/complex_bold_spec.rb +23 -0
- data/spec/properties/complex_font_size_spec.rb +24 -0
- data/spec/properties/complex_italics_spec.rb +23 -0
- data/spec/properties/complex_script_formatting_spec.rb +23 -0
- data/spec/properties/compress_punctuation_spec.rb +23 -0
- data/spec/properties/conditional_formatting_spec.rb +160 -0
- data/spec/properties/contextual_spacing_spec.rb +23 -0
- data/spec/properties/div_id_spec.rb +17 -0
- data/spec/properties/double_strikethrough_spec.rb +23 -0
- data/spec/properties/east_asian_layout_spec.rb +115 -0
- data/spec/properties/effect_spec.rb +43 -0
- data/spec/properties/emboss_spec.rb +23 -0
- data/spec/properties/emphasis_spec.rb +37 -0
- data/spec/properties/expansion_spec.rb +34 -0
- data/spec/properties/font_size_spec.rb +24 -0
- data/spec/properties/font_spec.rb +273 -0
- data/spec/properties/frame_spec.rb +338 -0
- data/spec/properties/hidden_text_spec.rb +23 -0
- data/spec/properties/highlight_spec.rb +97 -0
- data/spec/properties/imprint_spec.rb +23 -0
- data/spec/properties/indentation_spec.rb +176 -0
- data/spec/properties/italics_spec.rb +23 -0
- data/spec/properties/keep_lines_spec.rb +23 -0
- data/spec/properties/keep_next_spec.rb +23 -0
- data/spec/properties/kerning_spec.rb +24 -0
- data/spec/properties/kinsoku_spec.rb +23 -0
- data/spec/properties/language_spec.rb +29 -0
- data/spec/properties/manual_width_spec.rb +55 -0
- data/spec/properties/math_spec.rb +23 -0
- data/spec/properties/mirror_indent_spec.rb +23 -0
- data/spec/properties/no_proof_spec.rb +23 -0
- data/spec/properties/numbering_spec.rb +46 -0
- data/spec/properties/outline_level_spec.rb +20 -0
- data/spec/properties/outline_spec.rb +23 -0
- data/spec/properties/overflow_punctuation_spec.rb +23 -0
- data/spec/properties/page_break_before_spec.rb +23 -0
- data/spec/properties/paragraph_style_spec.rb +12 -0
- data/spec/properties/position_spec.rb +26 -0
- data/spec/properties/right_to_left_spec.rb +23 -0
- data/spec/properties/run_style_spec.rb +12 -0
- data/spec/properties/shading_spec.rb +135 -0
- data/spec/properties/shadow_property_spec.rb +23 -0
- data/spec/properties/small_caps_spec.rb +22 -0
- data/spec/properties/snap_to_grid_spec.rb +23 -0
- data/spec/properties/spacing_spec.rb +159 -0
- data/spec/properties/spec_vanish_spec.rb +23 -0
- data/spec/properties/strikethrough_spec.rb +23 -0
- data/spec/properties/supress_auto_hyphens_spec.rb +23 -0
- data/spec/properties/supress_line_numbers_spec.rb +23 -0
- data/spec/properties/supress_overlap_spec.rb +23 -0
- data/spec/properties/tab_spec.rb +45 -0
- data/spec/properties/tabs_spec.rb +39 -0
- data/spec/properties/text_alignment_spec.rb +33 -0
- data/spec/properties/text_direction_spec.rb +42 -0
- data/spec/properties/textbox_tight_wrap_spec.rb +33 -0
- data/spec/properties/underline_spec.rb +161 -0
- data/spec/properties/vertical_alignment_spec.rb +26 -0
- data/spec/properties/web_hidden_spec.rb +23 -0
- data/spec/properties/widow_control_spec.rb +23 -0
- data/spec/properties/word_wrap_spec.rb +23 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/style_spec.rb +34 -0
- data/{test → spec/support}/data/elements/break_element.xml +0 -0
- data/{test → spec/support}/data/elements/break_with_attributes_element.xml +0 -0
- data/{test → spec/support}/data/elements/paragraph_element.xml +0 -0
- data/{test → spec/support}/data/elements/paragraph_with_runs_element.xml +1 -1
- data/{test → spec/support}/data/elements/run_element.xml +0 -0
- data/{test → spec/support}/data/elements/symbol_element.xml +0 -0
- data/{test → spec/support}/data/elements/text_element.xml +0 -0
- data/{test → spec/support}/data/parts/content_types_part.xml +0 -0
- data/{test → spec/support}/data/parts/document_with_children_part.xml +0 -0
- data/{test → spec/support}/data/parts/empty_document_part.xml +0 -0
- data/{test → spec/support}/data/parts/global_rels_part.xml +0 -0
- data/{test → spec/support}/data/parts/rels_part.xml +0 -0
- data/{test → spec/support}/data/parts/settings_part.xml +0 -0
- data/{test → spec/support}/data/parts/styles_part.xml +0 -0
- data/{test → spec/support}/data/parts/styles_with_custom_style_part.xml +0 -0
- data/{test → spec/support}/data/styles/character_styles.xml +0 -0
- data/{test → spec/support}/data/styles/paragraph_styles.xml +0 -0
- data/spec/support/element_test_macros.rb +33 -0
- data/spec/support/part_test_macros.rb +27 -0
- data/spec/support/property_test_macros.rb +116 -0
- data/spec/support/style_test_macros.rb +33 -0
- data/spec/support/value_property_test_macros.rb +69 -0
- metadata +151 -133
- data/lib/rocx/elements/style.rb +0 -19
- data/test/elements/break_test.rb +0 -54
- data/test/elements/paragraph_test.rb +0 -37
- data/test/elements/run_test.rb +0 -18
- data/test/elements/symbol_test.rb +0 -23
- data/test/elements/text_test.rb +0 -26
- data/test/package_test.rb +0 -48
- data/test/parts/content_types_test.rb +0 -37
- data/test/parts/document_test.rb +0 -31
- data/test/parts/global_rels_test.rb +0 -13
- data/test/parts/rels_test.rb +0 -48
- data/test/parts/settings_test.rb +0 -13
- data/test/parts/styles_test.rb +0 -29
- data/test/properties/auto_adjust_right_indent_test.rb +0 -50
- data/test/properties/auto_space_de_test.rb +0 -50
- data/test/properties/auto_space_dn_test.rb +0 -50
- data/test/properties/bidi_test.rb +0 -50
- data/test/properties/bold_test.rb +0 -50
- data/test/properties/border_test.rb +0 -216
- data/test/properties/borders_test.rb +0 -95
- data/test/properties/compress_punctuation_test.rb +0 -50
- data/test/properties/conditional_formatting_test.rb +0 -46
- data/test/properties/contextual_spacing_test.rb +0 -50
- data/test/properties/div_id_test.rb +0 -38
- data/test/properties/frame_test.rb +0 -497
- data/test/properties/italics_test.rb +0 -50
- data/test/properties/keep_lines_test.rb +0 -50
- data/test/properties/keep_next_test.rb +0 -50
- data/test/properties/kinsoku_test.rb +0 -50
- data/test/properties/mirror_indent_test.rb +0 -50
- data/test/properties/numbering_test.rb +0 -86
- data/test/properties/outline_level_test.rb +0 -46
- data/test/properties/overflow_punctuation_test.rb +0 -50
- data/test/properties/page_break_before_test.rb +0 -50
- data/test/properties/shading_test.rb +0 -225
- data/test/properties/snap_to_grid_test.rb +0 -50
- data/test/properties/spacing_test.rb +0 -248
- data/test/properties/style_test.rb +0 -30
- data/test/properties/supress_auto_hyphens_test.rb +0 -50
- data/test/properties/supress_line_numbers_test.rb +0 -50
- data/test/properties/supress_overlap_test.rb +0 -50
- data/test/properties/tab_test.rb +0 -63
- data/test/properties/tabs_test.rb +0 -54
- data/test/properties/text_direction_test.rb +0 -100
- data/test/properties/textbox_tight_wrap_test.rb +0 -88
- data/test/properties/vertical_alignment_test.rb +0 -88
- data/test/properties/widow_control_test.rb +0 -50
- data/test/properties/word_wrap_test.rb +0 -50
- data/test/style_test.rb +0 -54
- data/test/test_helper.rb +0 -52
@@ -1,225 +0,0 @@
|
|
1
|
-
require "test_helper"
|
2
|
-
|
3
|
-
class ShadingTest < PropertyTest
|
4
|
-
attr_reader :shading
|
5
|
-
|
6
|
-
context "always" do
|
7
|
-
setup do
|
8
|
-
@shading = Shading.new
|
9
|
-
end
|
10
|
-
|
11
|
-
should "have the right name" do
|
12
|
-
assert_equal "shading", shading.name
|
13
|
-
end
|
14
|
-
|
15
|
-
should "have the right tag" do
|
16
|
-
assert_equal :shd, shading.tag
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
context "for the color attribute, it" do
|
21
|
-
setup do
|
22
|
-
@shading = Shading.new
|
23
|
-
end
|
24
|
-
|
25
|
-
should "allow hex color values" do
|
26
|
-
assert_nothing_raised do
|
27
|
-
shading.color = "4F81BD"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
should "allow :auto" do
|
32
|
-
assert_nothing_raised do
|
33
|
-
shading.color = :auto
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
should "not allow anything else" do
|
38
|
-
assert_raises ArgumentError do
|
39
|
-
shading.color = "green"
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
context "for the fill attribute, it" do
|
45
|
-
setup do
|
46
|
-
@shading = Shading.new
|
47
|
-
end
|
48
|
-
|
49
|
-
should "allow hex color values" do
|
50
|
-
assert_nothing_raised do
|
51
|
-
shading.fill = "4F81BD"
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
should "allow :auto" do
|
56
|
-
assert_nothing_raised do
|
57
|
-
shading.fill = :auto
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
should "not allow anything else" do
|
62
|
-
assert_raises ArgumentError do
|
63
|
-
shading.fill = "green"
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
context "for the theme color attribute, it" do
|
69
|
-
setup do
|
70
|
-
@shading = Shading.new
|
71
|
-
end
|
72
|
-
|
73
|
-
should "only allow valid theme colors" do
|
74
|
-
assert_nothing_raised do
|
75
|
-
shading.theme_color = :hyperlink
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
should "not allow anything else" do
|
80
|
-
assert ArgumentError do
|
81
|
-
shading.theme_color = :lens_flare
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
context "for the theme fill attribute, it" do
|
87
|
-
setup do
|
88
|
-
@shading = Shading.new
|
89
|
-
end
|
90
|
-
|
91
|
-
should "only allow valid theme colors" do
|
92
|
-
assert_nothing_raised do
|
93
|
-
shading.theme_fill = :hyperlink
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
should "not allow anything else" do
|
98
|
-
assert ArgumentError do
|
99
|
-
shading.theme_fill = :lens_flare
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
context "for the theme fill shade attribute" do
|
105
|
-
setup do
|
106
|
-
@shading = Shading.new
|
107
|
-
end
|
108
|
-
|
109
|
-
should "only allow 2-digit hex colors" do
|
110
|
-
assert_nothing_raised do
|
111
|
-
shading.theme_fill_shade = "BF"
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
should "not allow anything else" do
|
116
|
-
assert ArgumentError do
|
117
|
-
shading.theme_fill_shade = :dark
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
context "for the theme fill tint attribute" do
|
123
|
-
setup do
|
124
|
-
@shading = Shading.new
|
125
|
-
end
|
126
|
-
|
127
|
-
should "only allow 2-digit hex colors" do
|
128
|
-
assert_nothing_raised do
|
129
|
-
shading.theme_fill_tint = "BF"
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
should "not allow anything else" do
|
134
|
-
assert ArgumentError do
|
135
|
-
shading.theme_fill_tint = :dark
|
136
|
-
end
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
context "for the theme shade attribute, it" do
|
141
|
-
setup do
|
142
|
-
@shading = Shading.new
|
143
|
-
end
|
144
|
-
|
145
|
-
should "only allow 2-digit hex colors" do
|
146
|
-
assert_nothing_raised do
|
147
|
-
shading.theme_shade = "BF"
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
should "not allow anything else" do
|
152
|
-
assert ArgumentError do
|
153
|
-
shading.theme_shade = :dark
|
154
|
-
end
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
|
-
context "for the theme tint attribute, it" do
|
159
|
-
setup do
|
160
|
-
@shading = Shading.new
|
161
|
-
end
|
162
|
-
|
163
|
-
should "only allow 2-digit hex colors" do
|
164
|
-
assert_nothing_raised do
|
165
|
-
shading.theme_tint = "BF"
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
should "not allow anything else" do
|
170
|
-
assert ArgumentError do
|
171
|
-
shading.theme_tint = :dark
|
172
|
-
end
|
173
|
-
end
|
174
|
-
end
|
175
|
-
|
176
|
-
context "for the pattern attribute, it" do
|
177
|
-
setup do
|
178
|
-
@shading = Shading.new
|
179
|
-
end
|
180
|
-
|
181
|
-
should "allow valid values" do
|
182
|
-
assert_nothing_raised do
|
183
|
-
shading.pattern = :pct90
|
184
|
-
end
|
185
|
-
|
186
|
-
assert_nothing_raised do
|
187
|
-
shading.pattern = :solid
|
188
|
-
end
|
189
|
-
|
190
|
-
assert_nothing_raised do
|
191
|
-
shading.pattern = :vertStripe
|
192
|
-
end
|
193
|
-
end
|
194
|
-
|
195
|
-
should "not allow non-valid values" do
|
196
|
-
assert_raises ArgumentError do
|
197
|
-
shading.pattern = :somethingIJustMadeUp
|
198
|
-
end
|
199
|
-
end
|
200
|
-
end
|
201
|
-
|
202
|
-
context "with no attributes set, it" do
|
203
|
-
setup do
|
204
|
-
@shading = Shading.new
|
205
|
-
end
|
206
|
-
|
207
|
-
should "not return any XML" do
|
208
|
-
assert_equal "", xml(shading)
|
209
|
-
end
|
210
|
-
end
|
211
|
-
|
212
|
-
context "with attributes set to valid values, it" do
|
213
|
-
setup do
|
214
|
-
@shading = Shading.new
|
215
|
-
shading.pattern = :pct20
|
216
|
-
shading.theme_color = :accent6
|
217
|
-
shading.theme_fill = :accent3
|
218
|
-
end
|
219
|
-
|
220
|
-
should "return the correct XML" do
|
221
|
-
assert_equal "<w:shd w:themeColor=\"accent6\" w:themeFill=\"accent3\" w:val=\"pct20\"/>", xml(shading)
|
222
|
-
end
|
223
|
-
end
|
224
|
-
|
225
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require "test_helper"
|
2
|
-
|
3
|
-
class SnapToGridTest < PropertyTest
|
4
|
-
attr_reader :snap_to_grid
|
5
|
-
|
6
|
-
context "always" do
|
7
|
-
setup do
|
8
|
-
@snap_to_grid = SnapToGrid.new(:on)
|
9
|
-
end
|
10
|
-
|
11
|
-
should "have the right tag" do
|
12
|
-
assert_equal :snapToGrid, snap_to_grid.tag
|
13
|
-
end
|
14
|
-
|
15
|
-
should "have the right name" do
|
16
|
-
assert_equal "snap_to_grid", snap_to_grid.name
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
context "when the value is on, it" do
|
21
|
-
setup do
|
22
|
-
@snap_to_grid = SnapToGrid.new(:on)
|
23
|
-
end
|
24
|
-
|
25
|
-
should "return XML to that effect" do
|
26
|
-
assert_equal "<w:snapToGrid w:val=\"on\"/>", xml(snap_to_grid)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
context "when the value is off, it" do
|
31
|
-
setup do
|
32
|
-
@snap_to_grid = SnapToGrid.new(:off)
|
33
|
-
end
|
34
|
-
|
35
|
-
should "return XML to that effect" do
|
36
|
-
assert_equal "<w:snapToGrid w:val=\"off\"/>", xml(snap_to_grid)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
context "when the value is nil, it" do
|
41
|
-
setup do
|
42
|
-
@snap_to_grid = SnapToGrid.new(nil)
|
43
|
-
end
|
44
|
-
|
45
|
-
should "not return XML" do
|
46
|
-
assert_equal "", xml(snap_to_grid)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
@@ -1,248 +0,0 @@
|
|
1
|
-
require "test_helper"
|
2
|
-
|
3
|
-
class SpacingTest < PropertyTest
|
4
|
-
attr_reader :spacing
|
5
|
-
|
6
|
-
context "always" do
|
7
|
-
setup do
|
8
|
-
@spacing = Spacing.new
|
9
|
-
end
|
10
|
-
|
11
|
-
should "have the right name" do
|
12
|
-
assert_equal "spacing", spacing.name
|
13
|
-
end
|
14
|
-
|
15
|
-
should "have the right tag" do
|
16
|
-
assert_equal :spacing, spacing.tag
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
context "for the after attribute, it" do
|
21
|
-
setup do
|
22
|
-
@spacing = Spacing.new
|
23
|
-
end
|
24
|
-
|
25
|
-
should "allow positive integers" do
|
26
|
-
assert_nothing_raised do
|
27
|
-
spacing.after = 24
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
should "not allow anything else" do
|
32
|
-
assert_raises ArgumentError do
|
33
|
-
spacing.after = -24
|
34
|
-
end
|
35
|
-
|
36
|
-
assert_raises ArgumentError do
|
37
|
-
spacing.after = :big
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
context "for the after autospacing attribute, it" do
|
43
|
-
setup do
|
44
|
-
@spacing = Spacing.new
|
45
|
-
end
|
46
|
-
|
47
|
-
should "allow :on" do
|
48
|
-
assert_nothing_raised do
|
49
|
-
spacing.after_auto = :on
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
should "allow :off" do
|
54
|
-
assert_nothing_raised do
|
55
|
-
spacing.after_auto = :off
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
should "not allow anything else" do
|
60
|
-
assert_raises ArgumentError do
|
61
|
-
spacing.after_auto = :on_and_off
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
context "for the after lines attribute, it" do
|
67
|
-
setup do
|
68
|
-
@spacing = Spacing.new
|
69
|
-
end
|
70
|
-
|
71
|
-
should "allow positive integers" do
|
72
|
-
assert_nothing_raised do
|
73
|
-
spacing.after_lines = 24
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
should "allow negative integers" do
|
78
|
-
assert_nothing_raised do
|
79
|
-
spacing.after_lines = -24
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
should "not allow anything else" do
|
84
|
-
assert_raises ArgumentError do
|
85
|
-
spacing.after_lines = 2.5
|
86
|
-
end
|
87
|
-
|
88
|
-
assert_raises ArgumentError do
|
89
|
-
spacing.after_lines = :big
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
context "for the before attribute, it" do
|
95
|
-
setup do
|
96
|
-
@spacing = Spacing.new
|
97
|
-
end
|
98
|
-
|
99
|
-
should "allow positive integers" do
|
100
|
-
assert_nothing_raised do
|
101
|
-
spacing.before = 24
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
should "not allow anything else" do
|
106
|
-
assert_raises ArgumentError do
|
107
|
-
spacing.before = -24
|
108
|
-
end
|
109
|
-
|
110
|
-
assert_raises ArgumentError do
|
111
|
-
spacing.before = :big
|
112
|
-
end
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
context "for the before autospacing attribute, it" do
|
117
|
-
setup do
|
118
|
-
@spacing = Spacing.new
|
119
|
-
end
|
120
|
-
|
121
|
-
should "allow :on" do
|
122
|
-
assert_nothing_raised do
|
123
|
-
spacing.before_auto = :on
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
should "allow :off" do
|
128
|
-
assert_nothing_raised do
|
129
|
-
spacing.before_auto = :off
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
should "not allow anything else" do
|
134
|
-
assert_raises ArgumentError do
|
135
|
-
spacing.before_auto = :on_and_off
|
136
|
-
end
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
context "for the before lines attribute, it" do
|
141
|
-
setup do
|
142
|
-
@spacing = Spacing.new
|
143
|
-
end
|
144
|
-
|
145
|
-
should "allow positive integers" do
|
146
|
-
assert_nothing_raised do
|
147
|
-
spacing.before_lines = 24
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
should "allow negative integers" do
|
152
|
-
assert_nothing_raised do
|
153
|
-
spacing.before_lines = -24
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
should "not allow anything else" do
|
158
|
-
assert_raises ArgumentError do
|
159
|
-
spacing.before_lines = 2.5
|
160
|
-
end
|
161
|
-
|
162
|
-
assert_raises ArgumentError do
|
163
|
-
spacing.before_lines = :big
|
164
|
-
end
|
165
|
-
end
|
166
|
-
end
|
167
|
-
|
168
|
-
context "for the line attribute, it" do
|
169
|
-
setup do
|
170
|
-
@spacing = Spacing.new
|
171
|
-
end
|
172
|
-
|
173
|
-
should "allow positive integers" do
|
174
|
-
assert_nothing_raised do
|
175
|
-
spacing.line = 24
|
176
|
-
end
|
177
|
-
end
|
178
|
-
|
179
|
-
should "allow negative integers" do
|
180
|
-
assert_nothing_raised do
|
181
|
-
spacing.line = -24
|
182
|
-
end
|
183
|
-
end
|
184
|
-
|
185
|
-
should "not allow anything else" do
|
186
|
-
assert_raises ArgumentError do
|
187
|
-
spacing.line = 2.5
|
188
|
-
end
|
189
|
-
|
190
|
-
assert_raises ArgumentError do
|
191
|
-
spacing.line = :big
|
192
|
-
end
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
context "for the line rule attribute, it" do
|
197
|
-
setup do
|
198
|
-
@spacing = Spacing.new
|
199
|
-
end
|
200
|
-
|
201
|
-
should "allow :atLeast" do
|
202
|
-
assert_nothing_raised do
|
203
|
-
spacing.line_rule = :atLeast
|
204
|
-
end
|
205
|
-
end
|
206
|
-
|
207
|
-
should "allow :auto" do
|
208
|
-
assert_nothing_raised do
|
209
|
-
spacing.line_rule = :auto
|
210
|
-
end
|
211
|
-
end
|
212
|
-
|
213
|
-
should "allow :exact" do
|
214
|
-
assert_nothing_raised do
|
215
|
-
spacing.line_rule = :exact
|
216
|
-
end
|
217
|
-
end
|
218
|
-
|
219
|
-
should "not all anything else" do
|
220
|
-
assert_raises ArgumentError do
|
221
|
-
spacing.line_rule = :bad
|
222
|
-
end
|
223
|
-
end
|
224
|
-
end
|
225
|
-
|
226
|
-
context "when no attributes are set, it" do
|
227
|
-
setup do
|
228
|
-
@spacing = Spacing.new
|
229
|
-
end
|
230
|
-
|
231
|
-
should "not output any XML" do
|
232
|
-
assert_equal "", xml(spacing)
|
233
|
-
end
|
234
|
-
end
|
235
|
-
|
236
|
-
context "when attribuets are set with valid values, it" do
|
237
|
-
setup do
|
238
|
-
@spacing = Spacing.new
|
239
|
-
spacing.line = 276
|
240
|
-
spacing.line_rule = :auto
|
241
|
-
end
|
242
|
-
|
243
|
-
should "output the correct XML" do
|
244
|
-
assert_equal "<w:spacing w:line=\"276\" w:lineRule=\"auto\"/>", xml(spacing)
|
245
|
-
end
|
246
|
-
end
|
247
|
-
|
248
|
-
end
|