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.
Files changed (236) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Gemfile.lock +11 -7
  4. data/Rakefile +3 -8
  5. data/lib/rocx/elements/base_container.rb +8 -4
  6. data/lib/rocx/elements/paragraph.rb +4 -4
  7. data/lib/rocx/elements/run.rb +40 -1
  8. data/lib/rocx/properties.rb +5 -0
  9. data/lib/rocx/properties/alignment.rb +4 -19
  10. data/lib/rocx/properties/attribute_builder.rb +8 -2
  11. data/lib/rocx/properties/auto_adjust_right_indent.rb +3 -9
  12. data/lib/rocx/properties/auto_space_de.rb +1 -8
  13. data/lib/rocx/properties/auto_space_dn.rb +1 -8
  14. data/lib/rocx/properties/base_property.rb +20 -11
  15. data/lib/rocx/properties/bold.rb +1 -4
  16. data/lib/rocx/properties/boolean_property.rb +1 -1
  17. data/lib/rocx/properties/border.rb +5 -13
  18. data/lib/rocx/properties/borders.rb +2 -8
  19. data/lib/rocx/properties/caps.rb +6 -0
  20. data/lib/rocx/properties/character_spacing.rb +8 -0
  21. data/lib/rocx/properties/color.rb +13 -0
  22. data/lib/rocx/properties/complex_bold.rb +8 -0
  23. data/lib/rocx/properties/complex_font_size.rb +8 -0
  24. data/lib/rocx/properties/complex_italics.rb +8 -0
  25. data/lib/rocx/properties/complex_property.rb +16 -0
  26. data/lib/rocx/properties/complex_script_formatting.rb +8 -0
  27. data/lib/rocx/properties/compress_punctuation.rb +1 -4
  28. data/lib/rocx/properties/conditional_formatting.rb +17 -56
  29. data/lib/rocx/properties/div_id.rb +1 -18
  30. data/lib/rocx/properties/double_strikethrough.rb +8 -0
  31. data/lib/rocx/properties/east_asian_layout.rb +22 -0
  32. data/lib/rocx/properties/effect.rb +11 -0
  33. data/lib/rocx/properties/emboss.rb +6 -0
  34. data/lib/rocx/properties/emphasis.rb +12 -0
  35. data/lib/rocx/properties/expansion.rb +18 -0
  36. data/lib/rocx/properties/font.rb +34 -0
  37. data/lib/rocx/properties/font_size.rb +8 -0
  38. data/lib/rocx/properties/frame.rb +5 -16
  39. data/lib/rocx/properties/hidden_text.rb +8 -0
  40. data/lib/rocx/properties/highlight.rb +11 -0
  41. data/lib/rocx/properties/imprint.rb +6 -0
  42. data/lib/rocx/properties/indentation.rb +11 -24
  43. data/lib/rocx/properties/integer_property.rb +15 -0
  44. data/lib/rocx/properties/italics.rb +1 -4
  45. data/lib/rocx/properties/kerning.rb +8 -0
  46. data/lib/rocx/properties/language.rb +20 -0
  47. data/lib/rocx/properties/manual_width.rb +12 -0
  48. data/lib/rocx/properties/math.rb +8 -0
  49. data/lib/rocx/properties/no_proof.rb +6 -0
  50. data/lib/rocx/properties/numbering.rb +4 -10
  51. data/lib/rocx/properties/on_off_property.rb +1 -1
  52. data/lib/rocx/properties/outline.rb +6 -0
  53. data/lib/rocx/properties/outline_level.rb +2 -17
  54. data/lib/rocx/properties/overflow_punctuation.rb +1 -8
  55. data/lib/rocx/properties/paragraph_style.rb +8 -0
  56. data/lib/rocx/properties/position.rb +6 -0
  57. data/lib/rocx/properties/positive_integer_property.rb +15 -0
  58. data/lib/rocx/properties/right_to_left.rb +8 -0
  59. data/lib/rocx/properties/run_style.rb +8 -0
  60. data/lib/rocx/properties/shading.rb +9 -20
  61. data/lib/rocx/properties/shadow.rb +6 -0
  62. data/lib/rocx/properties/small_caps.rb +6 -0
  63. data/lib/rocx/properties/spacing.rb +4 -17
  64. data/lib/rocx/properties/spec_vanish.rb +6 -0
  65. data/lib/rocx/properties/strikethrough.rb +8 -0
  66. data/lib/rocx/properties/style.rb +15 -0
  67. data/lib/rocx/properties/tab.rb +1 -9
  68. data/lib/rocx/properties/tabs.rb +1 -9
  69. data/lib/rocx/properties/text_alignment.rb +11 -0
  70. data/lib/rocx/properties/text_direction.rb +1 -5
  71. data/lib/rocx/properties/textbox_tight_wrap.rb +1 -5
  72. data/lib/rocx/properties/toggle_property.rb +1 -1
  73. data/lib/rocx/properties/underline.rb +24 -0
  74. data/lib/rocx/properties/value_property.rb +29 -0
  75. data/lib/rocx/properties/vertical_alignment.rb +3 -10
  76. data/lib/rocx/properties/web_hidden.rb +6 -0
  77. data/lib/rocx/version.rb +1 -1
  78. data/rocx.gemspec +1 -2
  79. data/spec/elements/break_spec.rb +47 -0
  80. data/spec/elements/paragraph_spec.rb +31 -0
  81. data/spec/elements/run_spec.rb +15 -0
  82. data/spec/elements/symbol_spec.rb +24 -0
  83. data/spec/elements/text_spec.rb +23 -0
  84. data/spec/package_spec.rb +48 -0
  85. data/spec/parts/content_types_spec.rb +32 -0
  86. data/spec/parts/document_spec.rb +32 -0
  87. data/spec/parts/global_rels_spec.rb +13 -0
  88. data/spec/parts/rels_spec.rb +42 -0
  89. data/spec/parts/settings_spec.rb +13 -0
  90. data/spec/parts/styles_spec.rb +27 -0
  91. data/spec/properties/alignment_spec.rb +58 -0
  92. data/spec/properties/auto_adjust_right_indent_spec.rb +23 -0
  93. data/spec/properties/auto_space_de_spec.rb +23 -0
  94. data/spec/properties/auto_space_dn_spec.rb +23 -0
  95. data/spec/properties/bidi_spec.rb +23 -0
  96. data/spec/properties/bold_spec.rb +23 -0
  97. data/spec/properties/border_spec.rb +156 -0
  98. data/spec/properties/borders_spec.rb +66 -0
  99. data/spec/properties/caps_spec.rb +23 -0
  100. data/spec/properties/character_spacing_spec.rb +26 -0
  101. data/spec/properties/color_spec.rb +49 -0
  102. data/spec/properties/complex_bold_spec.rb +23 -0
  103. data/spec/properties/complex_font_size_spec.rb +24 -0
  104. data/spec/properties/complex_italics_spec.rb +23 -0
  105. data/spec/properties/complex_script_formatting_spec.rb +23 -0
  106. data/spec/properties/compress_punctuation_spec.rb +23 -0
  107. data/spec/properties/conditional_formatting_spec.rb +160 -0
  108. data/spec/properties/contextual_spacing_spec.rb +23 -0
  109. data/spec/properties/div_id_spec.rb +17 -0
  110. data/spec/properties/double_strikethrough_spec.rb +23 -0
  111. data/spec/properties/east_asian_layout_spec.rb +115 -0
  112. data/spec/properties/effect_spec.rb +43 -0
  113. data/spec/properties/emboss_spec.rb +23 -0
  114. data/spec/properties/emphasis_spec.rb +37 -0
  115. data/spec/properties/expansion_spec.rb +34 -0
  116. data/spec/properties/font_size_spec.rb +24 -0
  117. data/spec/properties/font_spec.rb +273 -0
  118. data/spec/properties/frame_spec.rb +338 -0
  119. data/spec/properties/hidden_text_spec.rb +23 -0
  120. data/spec/properties/highlight_spec.rb +97 -0
  121. data/spec/properties/imprint_spec.rb +23 -0
  122. data/spec/properties/indentation_spec.rb +176 -0
  123. data/spec/properties/italics_spec.rb +23 -0
  124. data/spec/properties/keep_lines_spec.rb +23 -0
  125. data/spec/properties/keep_next_spec.rb +23 -0
  126. data/spec/properties/kerning_spec.rb +24 -0
  127. data/spec/properties/kinsoku_spec.rb +23 -0
  128. data/spec/properties/language_spec.rb +29 -0
  129. data/spec/properties/manual_width_spec.rb +55 -0
  130. data/spec/properties/math_spec.rb +23 -0
  131. data/spec/properties/mirror_indent_spec.rb +23 -0
  132. data/spec/properties/no_proof_spec.rb +23 -0
  133. data/spec/properties/numbering_spec.rb +46 -0
  134. data/spec/properties/outline_level_spec.rb +20 -0
  135. data/spec/properties/outline_spec.rb +23 -0
  136. data/spec/properties/overflow_punctuation_spec.rb +23 -0
  137. data/spec/properties/page_break_before_spec.rb +23 -0
  138. data/spec/properties/paragraph_style_spec.rb +12 -0
  139. data/spec/properties/position_spec.rb +26 -0
  140. data/spec/properties/right_to_left_spec.rb +23 -0
  141. data/spec/properties/run_style_spec.rb +12 -0
  142. data/spec/properties/shading_spec.rb +135 -0
  143. data/spec/properties/shadow_property_spec.rb +23 -0
  144. data/spec/properties/small_caps_spec.rb +22 -0
  145. data/spec/properties/snap_to_grid_spec.rb +23 -0
  146. data/spec/properties/spacing_spec.rb +159 -0
  147. data/spec/properties/spec_vanish_spec.rb +23 -0
  148. data/spec/properties/strikethrough_spec.rb +23 -0
  149. data/spec/properties/supress_auto_hyphens_spec.rb +23 -0
  150. data/spec/properties/supress_line_numbers_spec.rb +23 -0
  151. data/spec/properties/supress_overlap_spec.rb +23 -0
  152. data/spec/properties/tab_spec.rb +45 -0
  153. data/spec/properties/tabs_spec.rb +39 -0
  154. data/spec/properties/text_alignment_spec.rb +33 -0
  155. data/spec/properties/text_direction_spec.rb +42 -0
  156. data/spec/properties/textbox_tight_wrap_spec.rb +33 -0
  157. data/spec/properties/underline_spec.rb +161 -0
  158. data/spec/properties/vertical_alignment_spec.rb +26 -0
  159. data/spec/properties/web_hidden_spec.rb +23 -0
  160. data/spec/properties/widow_control_spec.rb +23 -0
  161. data/spec/properties/word_wrap_spec.rb +23 -0
  162. data/spec/spec_helper.rb +14 -0
  163. data/spec/style_spec.rb +34 -0
  164. data/{test → spec/support}/data/elements/break_element.xml +0 -0
  165. data/{test → spec/support}/data/elements/break_with_attributes_element.xml +0 -0
  166. data/{test → spec/support}/data/elements/paragraph_element.xml +0 -0
  167. data/{test → spec/support}/data/elements/paragraph_with_runs_element.xml +1 -1
  168. data/{test → spec/support}/data/elements/run_element.xml +0 -0
  169. data/{test → spec/support}/data/elements/symbol_element.xml +0 -0
  170. data/{test → spec/support}/data/elements/text_element.xml +0 -0
  171. data/{test → spec/support}/data/parts/content_types_part.xml +0 -0
  172. data/{test → spec/support}/data/parts/document_with_children_part.xml +0 -0
  173. data/{test → spec/support}/data/parts/empty_document_part.xml +0 -0
  174. data/{test → spec/support}/data/parts/global_rels_part.xml +0 -0
  175. data/{test → spec/support}/data/parts/rels_part.xml +0 -0
  176. data/{test → spec/support}/data/parts/settings_part.xml +0 -0
  177. data/{test → spec/support}/data/parts/styles_part.xml +0 -0
  178. data/{test → spec/support}/data/parts/styles_with_custom_style_part.xml +0 -0
  179. data/{test → spec/support}/data/styles/character_styles.xml +0 -0
  180. data/{test → spec/support}/data/styles/paragraph_styles.xml +0 -0
  181. data/spec/support/element_test_macros.rb +33 -0
  182. data/spec/support/part_test_macros.rb +27 -0
  183. data/spec/support/property_test_macros.rb +116 -0
  184. data/spec/support/style_test_macros.rb +33 -0
  185. data/spec/support/value_property_test_macros.rb +69 -0
  186. metadata +151 -133
  187. data/lib/rocx/elements/style.rb +0 -19
  188. data/test/elements/break_test.rb +0 -54
  189. data/test/elements/paragraph_test.rb +0 -37
  190. data/test/elements/run_test.rb +0 -18
  191. data/test/elements/symbol_test.rb +0 -23
  192. data/test/elements/text_test.rb +0 -26
  193. data/test/package_test.rb +0 -48
  194. data/test/parts/content_types_test.rb +0 -37
  195. data/test/parts/document_test.rb +0 -31
  196. data/test/parts/global_rels_test.rb +0 -13
  197. data/test/parts/rels_test.rb +0 -48
  198. data/test/parts/settings_test.rb +0 -13
  199. data/test/parts/styles_test.rb +0 -29
  200. data/test/properties/auto_adjust_right_indent_test.rb +0 -50
  201. data/test/properties/auto_space_de_test.rb +0 -50
  202. data/test/properties/auto_space_dn_test.rb +0 -50
  203. data/test/properties/bidi_test.rb +0 -50
  204. data/test/properties/bold_test.rb +0 -50
  205. data/test/properties/border_test.rb +0 -216
  206. data/test/properties/borders_test.rb +0 -95
  207. data/test/properties/compress_punctuation_test.rb +0 -50
  208. data/test/properties/conditional_formatting_test.rb +0 -46
  209. data/test/properties/contextual_spacing_test.rb +0 -50
  210. data/test/properties/div_id_test.rb +0 -38
  211. data/test/properties/frame_test.rb +0 -497
  212. data/test/properties/italics_test.rb +0 -50
  213. data/test/properties/keep_lines_test.rb +0 -50
  214. data/test/properties/keep_next_test.rb +0 -50
  215. data/test/properties/kinsoku_test.rb +0 -50
  216. data/test/properties/mirror_indent_test.rb +0 -50
  217. data/test/properties/numbering_test.rb +0 -86
  218. data/test/properties/outline_level_test.rb +0 -46
  219. data/test/properties/overflow_punctuation_test.rb +0 -50
  220. data/test/properties/page_break_before_test.rb +0 -50
  221. data/test/properties/shading_test.rb +0 -225
  222. data/test/properties/snap_to_grid_test.rb +0 -50
  223. data/test/properties/spacing_test.rb +0 -248
  224. data/test/properties/style_test.rb +0 -30
  225. data/test/properties/supress_auto_hyphens_test.rb +0 -50
  226. data/test/properties/supress_line_numbers_test.rb +0 -50
  227. data/test/properties/supress_overlap_test.rb +0 -50
  228. data/test/properties/tab_test.rb +0 -63
  229. data/test/properties/tabs_test.rb +0 -54
  230. data/test/properties/text_direction_test.rb +0 -100
  231. data/test/properties/textbox_tight_wrap_test.rb +0 -88
  232. data/test/properties/vertical_alignment_test.rb +0 -88
  233. data/test/properties/widow_control_test.rb +0 -50
  234. data/test/properties/word_wrap_test.rb +0 -50
  235. data/test/style_test.rb +0 -54
  236. 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