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
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Shadow do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :shadow, name: "shadow"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:shadow w:val=\"true\"/>"
11
+ end
12
+
13
+ with_value(false) do
14
+ it_should_work
15
+ it_should_output ""
16
+ end
17
+
18
+ with_value(nil) do
19
+ it_should_work
20
+ it_should_output ""
21
+ end
22
+
23
+ end
@@ -0,0 +1,22 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::SmallCaps do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :smallCaps, name: "small_caps"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:smallCaps w:val=\"true\"/>"
11
+ end
12
+
13
+ with_value(false) do
14
+ it_should_work
15
+ it_should_output ""
16
+ end
17
+
18
+ with_value(nil) do
19
+ it_should_work
20
+ it_should_output ""
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::SnapToGrid do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :snapToGrid, name: "snap_to_grid"
7
+
8
+ with_value(:on) do
9
+ it_should_work
10
+ it_should_output "<w:snapToGrid w:val=\"on\"/>"
11
+ end
12
+
13
+ with_value(:off) do
14
+ it_should_work
15
+ it_should_output "<w:snapToGrid w:val=\"off\"/>"
16
+ end
17
+
18
+ with_value(nil) do
19
+ it_should_work
20
+ it_should_output ""
21
+ end
22
+
23
+ end
@@ -0,0 +1,159 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Spacing do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :spacing, name: "spacing"
7
+
8
+ for_attribute(:after) do
9
+ with_value(24) do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:spacing w:after=\"24\"/>"
12
+ end
13
+
14
+ with_value(-24) do
15
+ it_should_raise_an_exception
16
+ end
17
+
18
+ with_value(:big) do
19
+ it_should_raise_an_exception
20
+ end
21
+ end
22
+
23
+ for_attribute(:after_auto) do
24
+ with_value(:on) do
25
+ it_should_assign_successfully
26
+ it_should_output "<w:spacing w:afterAutospacing=\"on\"/>"
27
+ end
28
+
29
+ with_value(:off) do
30
+ it_should_assign_successfully
31
+ it_should_output "<w:spacing w:afterAutospacing=\"off\"/>"
32
+ end
33
+
34
+ with_value(:on_and_off) do
35
+ it_should_raise_an_exception
36
+ end
37
+ end
38
+
39
+ for_attribute(:after_lines) do
40
+ with_value(24) do
41
+ it_should_assign_successfully
42
+ it_should_output "<w:spacing w:afterLines=\"24\"/>"
43
+ end
44
+
45
+ with_value(-24) do
46
+ it_should_assign_successfully
47
+ it_should_output "<w:spacing w:afterLines=\"-24\"/>"
48
+ end
49
+
50
+ with_value(2.56) do
51
+ it_should_raise_an_exception
52
+ end
53
+
54
+ with_value(:big) do
55
+ it_should_raise_an_exception
56
+ end
57
+ end
58
+
59
+ for_attribute(:before) do
60
+ with_value(24) do
61
+ it_should_assign_successfully
62
+ it_should_output "<w:spacing w:before=\"24\"/>"
63
+ end
64
+
65
+ with_value(-24) do
66
+ it_should_raise_an_exception
67
+ end
68
+
69
+ with_value(:big) do
70
+ it_should_raise_an_exception
71
+ end
72
+ end
73
+
74
+ for_attribute(:before_auto) do
75
+ with_value(:on) do
76
+ it_should_assign_successfully
77
+ it_should_output "<w:spacing w:beforeAutospacing=\"on\"/>"
78
+ end
79
+
80
+ with_value(:off) do
81
+ it_should_assign_successfully
82
+ it_should_output "<w:spacing w:beforeAutospacing=\"off\"/>"
83
+ end
84
+
85
+ with_value(:on_and_off) do
86
+ it_should_raise_an_exception
87
+ end
88
+ end
89
+
90
+ for_attribute(:before_lines) do
91
+ with_value(24) do
92
+ it_should_assign_successfully
93
+ it_should_output "<w:spacing w:beforeLines=\"24\"/>"
94
+ end
95
+
96
+ with_value(-24) do
97
+ it_should_assign_successfully
98
+ it_should_output "<w:spacing w:beforeLines=\"-24\"/>"
99
+ end
100
+
101
+ with_value(2.56) do
102
+ it_should_raise_an_exception
103
+ end
104
+
105
+ with_value(:big) do
106
+ it_should_raise_an_exception
107
+ end
108
+ end
109
+
110
+ for_attribute(:line) do
111
+ with_value(24) do
112
+ it_should_assign_successfully
113
+ it_should_output "<w:spacing w:line=\"24\"/>"
114
+ end
115
+
116
+ with_value(-24) do
117
+ it_should_assign_successfully
118
+ it_should_output "<w:spacing w:line=\"-24\"/>"
119
+ end
120
+
121
+ with_value(2.56) do
122
+ it_should_raise_an_exception
123
+ end
124
+
125
+ with_value(:big) do
126
+ it_should_raise_an_exception
127
+ end
128
+ end
129
+
130
+ for_attribute(:line_rule) do
131
+ with_value(:atLeast) do
132
+ it_should_assign_successfully
133
+ it_should_output "<w:spacing w:lineRule=\"atLeast\"/>"
134
+ end
135
+
136
+ with_value(:auto) do
137
+ it_should_assign_successfully
138
+ it_should_output "<w:spacing w:lineRule=\"auto\"/>"
139
+ end
140
+
141
+ with_value(:exact) do
142
+ it_should_assign_successfully
143
+ it_should_output "<w:spacing w:lineRule=\"exact\"/>"
144
+ end
145
+
146
+ with_value(:something) do
147
+ it_should_raise_an_exception
148
+ end
149
+ end
150
+
151
+ with_no_attributes_set do
152
+ it_should_output "", assign: false
153
+ end
154
+
155
+ with_these_attributes_set(line: 276, line_rule: :auto) do
156
+ it_should_output "<w:spacing w:line=\"276\" w:lineRule=\"auto\"/>", assign: false
157
+ end
158
+
159
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::SpecVanish do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :specVanish, name: "spec_vanish"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:specVanish/>"
11
+ end
12
+
13
+ with_value(false) do
14
+ it_should_work
15
+ it_should_output ""
16
+ end
17
+
18
+ with_value(nil) do
19
+ it_should_work
20
+ it_should_output ""
21
+ end
22
+
23
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Strikethrough do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :strike, name: "strikethrough"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:strike w:val=\"true\"/>"
11
+ end
12
+
13
+ with_value(false) do
14
+ it_should_work
15
+ it_should_output ""
16
+ end
17
+
18
+ with_value(nil) do
19
+ it_should_work
20
+ it_should_output ""
21
+ end
22
+
23
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::SupressAutoHyphens do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :supressAutoHyphens, name: "supress_auto_hyphens"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:supressAutoHyphens/>"
11
+ end
12
+
13
+ with_value(false) do
14
+ it_should_work
15
+ it_should_output ""
16
+ end
17
+
18
+ with_value(nil) do
19
+ it_should_work
20
+ it_should_output ""
21
+ end
22
+
23
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::SupressLineNumbers do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :supressLineNumbers, name: "supress_line_numbers"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:supressLineNumbers/>"
11
+ end
12
+
13
+ with_value(false) do
14
+ it_should_work
15
+ it_should_output ""
16
+ end
17
+
18
+ with_value(nil) do
19
+ it_should_work
20
+ it_should_output ""
21
+ end
22
+
23
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::SupressOverlap do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :supressOverlap, name: "supress_overlap"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:supressOverlap/>"
11
+ end
12
+
13
+ with_value(false) do
14
+ it_should_work
15
+ it_should_output ""
16
+ end
17
+
18
+ with_value(nil) do
19
+ it_should_work
20
+ it_should_output ""
21
+ end
22
+
23
+ end
@@ -0,0 +1,45 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Tab do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :tab, name: "tab", value: [1234, :start]
7
+
8
+ context "when assigning bad position values, it" do
9
+ it "should raise an exception" do
10
+ expect { @instance = described_class.new(:bad, :start) }.to raise_error(ArgumentError)
11
+ end
12
+ end
13
+
14
+ context "when assigning bad type values, it" do
15
+ it "should raise an exception" do
16
+ expect { @instance = described_class.new(1234, :bad) }.to raise_error(ArgumentError)
17
+ end
18
+ end
19
+
20
+ context "when assigniing bad leader values, it" do
21
+ it "should raise an exception" do
22
+ expect { @instance = described_class.new(1234, :clear, :bad) }.to raise_error(ArgumentError)
23
+ end
24
+ end
25
+
26
+ context "with valid values, it" do
27
+ before(:each) do
28
+ @instance = described_class.new(1234, :start)
29
+ end
30
+
31
+ it "should return the right XML" do
32
+ expect(xml(instance)).to eq("<w:tab w:pos=\"1234\" w:val=\"start\"/>")
33
+ end
34
+ end
35
+
36
+ context "with valid values and a specified leader, it" do
37
+ before(:each) do
38
+ @instance = described_class.new(1234, :start, :dot)
39
+ end
40
+
41
+ it "should Return the right XML" do
42
+ expect(xml(instance)).to eq("<w:tab w:pos=\"1234\" w:val=\"start\" w:leader=\"dot\"/>")
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,39 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Tabs do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :tabs, name: "tabs"
7
+
8
+ context "when trying to add tabs, it" do
9
+ before(:each) do
10
+ @instance = described_class.new
11
+ end
12
+
13
+ it "should raise an exception if the tab to be added isn't a tab at all" do
14
+ expect { instance << [] }.to raise_error(ArgumentError)
15
+ end
16
+ end
17
+
18
+ context "when there are no tabs" do
19
+ before(:each) do
20
+ @instance = described_class.new
21
+ end
22
+
23
+ it "should not output any XML" do
24
+ expect(xml(instance)).to eq("")
25
+ end
26
+ end
27
+
28
+ context "when there are tabs" do
29
+ before(:each) do
30
+ @instance = described_class.new
31
+ instance << Rocx::Properties::Tab.new(1234, :start)
32
+ instance << Rocx::Properties::Tab.new(5678, :end, :heavy)
33
+ end
34
+
35
+ it "should output the correct XML" do
36
+ expect(xml(instance)).to eq("<w:tabs>\n <w:tab w:pos=\"1234\" w:val=\"start\"/>\n <w:tab w:pos=\"5678\" w:val=\"end\" w:leader=\"heavy\"/>\n </w:tabs>")
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,33 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::TextAlignment do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :textAlignment, name: "text_alignment", value: :auto
7
+
8
+ with_value(:auto) do
9
+ it_should_work
10
+ it_should_output "<w:textAlignment w:val=\"auto\"/>"
11
+ end
12
+
13
+ with_value(:baseline) do
14
+ it_should_work
15
+ it_should_output "<w:textAlignment w:val=\"baseline\"/>"
16
+ end
17
+
18
+ with_value(:bottom) do
19
+ it_should_work
20
+ it_should_output "<w:textAlignment w:val=\"bottom\"/>"
21
+ end
22
+
23
+ with_value(:center) do
24
+ it_should_work
25
+ it_should_output "<w:textAlignment w:val=\"center\"/>"
26
+ end
27
+
28
+ with_value(:top) do
29
+ it_should_work
30
+ it_should_output "<w:textAlignment w:val=\"top\"/>"
31
+ end
32
+
33
+ end