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,55 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::ManualWidth do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :fitText, name: "manual_width"
7
+
8
+ for_attribute(:id) do
9
+ with_value(12) do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:fitText w:id=\"12\"/>"
12
+ end
13
+
14
+ with_value(-134) do
15
+ it_should_assign_successfully
16
+ it_should_output "<w:fitText w:id=\"-134\"/>"
17
+ end
18
+
19
+ with_value(12.3) do
20
+ it_should_raise_an_exception
21
+ end
22
+
23
+ with_value(:three) do
24
+ it_should_raise_an_exception
25
+ end
26
+ end
27
+
28
+ for_attribute(:width) do
29
+ with_value(12) do
30
+ it_should_assign_successfully
31
+ it_should_output "<w:fitText w:val=\"12\"/>"
32
+ end
33
+
34
+ with_value(-134) do
35
+ it_should_raise_an_exception
36
+ end
37
+
38
+ with_value(12.3) do
39
+ it_should_raise_an_exception
40
+ end
41
+
42
+ with_value(:three) do
43
+ it_should_raise_an_exception
44
+ end
45
+ end
46
+
47
+ with_no_attributes_set do
48
+ it_should_output "", assign: false
49
+ end
50
+
51
+ with_these_attributes_set(id: 50, width: 720) do
52
+ it_should_output "<w:fitText w:id=\"50\" w:val=\"720\"/>", assign: false
53
+ end
54
+
55
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Math do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :oMath, name: "math"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:oMath/>"
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::MirrorIndent do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :mirrorIndent, name: "mirror_indent"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:mirrorIndent/>"
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::NoProof do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :noProof, name: "no_proof"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:noProof 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,46 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Numbering do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :numPr, name: "numbering"
7
+
8
+ for_attribute(:level) do
9
+ with_value(24) do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:numPr>\n <w:ilvl w:val=\"24\"/>\n </w:numPr>"
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(:id) do
24
+ with_value(24) do
25
+ it_should_assign_successfully
26
+ it_should_output "<w:numPr>\n <w:numId w:val=\"24\"/>\n </w:numPr>"
27
+ end
28
+
29
+ with_value(-24) do
30
+ it_should_raise_an_exception
31
+ end
32
+
33
+ with_value(:big) do
34
+ it_should_raise_an_exception
35
+ end
36
+ end
37
+
38
+ with_no_attributes_set do
39
+ it_should_output "", assign: false
40
+ end
41
+
42
+ with_these_attributes_set(level: 4, id: 0) do
43
+ it_should_output "<w:numPr>\n <w:ilvl w:val=\"4\"/>\n <w:numId w:val=\"0\"/>\n </w:numPr>", assign: false
44
+ end
45
+
46
+ end
@@ -0,0 +1,20 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::OutlineLevel do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :outlineLvl, name: "outline_level", value: 2
7
+
8
+ with_value(:big) do
9
+ it_should_not_work
10
+ end
11
+
12
+ with_value(-1) do
13
+ it_should_not_work
14
+ end
15
+
16
+ with_value(2) do
17
+ it_should_work
18
+ it_should_output "<w:outlineLvl w:val=\"2\"/>"
19
+ end
20
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Outline do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :outline, name: "outline"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:outline 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::OverflowPunctuation do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :overflowPunct, name: "overflow_punctuation"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:overflowPunct 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::PageBreakBefore do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :pageBreakBefore, name: "page_break_before"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:pageBreakBefore/>"
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,12 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::ParagraphStyle do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :pStyle, name: "paragraph_style", value: "Nope"
7
+
8
+ with_value("Nope") do
9
+ it_should_work
10
+ it_should_output "<w:pStyle w:val=\"Nope\"/>"
11
+ end
12
+ end
@@ -0,0 +1,26 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Position do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :position, name: "position", value: 1
7
+
8
+ with_value(204) do
9
+ it_should_work
10
+ it_should_output "<w:position w:val=\"204\"/>"
11
+ end
12
+
13
+ with_value(-612) do
14
+ it_should_work
15
+ it_should_output "<w:position w:val=\"-612\"/>"
16
+ end
17
+
18
+ with_value(812.2) do
19
+ it_should_not_work
20
+ end
21
+
22
+ with_value(:something_else) do
23
+ it_should_not_work
24
+ end
25
+
26
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::RightToLeft do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :rtl, name: "right_to_left"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:rtl/>"
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,12 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::RunStyle do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :rStyle, name: "run_style", value: "Nope"
7
+
8
+ with_value("Nope") do
9
+ it_should_work
10
+ it_should_output "<w:rStyle w:val=\"Nope\"/>"
11
+ end
12
+ end
@@ -0,0 +1,135 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Shading do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :shd, name: "shading"
7
+
8
+ for_attribute(:color) do
9
+ with_value("4F81BD") do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:shd w:color=\"4F81BD\"/>"
12
+ end
13
+
14
+ with_value(:auto) do
15
+ it_should_assign_successfully
16
+ it_should_output "<w:shd w:color=\"auto\"/>"
17
+ end
18
+
19
+ with_value("green") do
20
+ it_should_raise_an_exception
21
+ end
22
+ end
23
+
24
+ for_attribute(:fill) do
25
+ with_value("4F81BD") do
26
+ it_should_assign_successfully
27
+ it_should_output "<w:shd w:fill=\"4F81BD\"/>"
28
+ end
29
+
30
+ with_value(:auto) do
31
+ it_should_assign_successfully
32
+ it_should_output "<w:shd w:fill=\"auto\"/>"
33
+ end
34
+
35
+ with_value("green") do
36
+ it_should_raise_an_exception
37
+ end
38
+ end
39
+
40
+ for_attribute(:theme_color) do
41
+ with_value(:hyperlink) do
42
+ it_should_assign_successfully
43
+ it_should_output "<w:shd w:themeColor=\"hyperlink\"/>"
44
+ end
45
+
46
+ with_value(:lens_flare) do
47
+ it_should_raise_an_exception
48
+ end
49
+ end
50
+
51
+ for_attribute(:theme_fill) do
52
+ with_value(:hyperlink) do
53
+ it_should_assign_successfully
54
+ it_should_output "<w:shd w:themeFill=\"hyperlink\"/>"
55
+ end
56
+
57
+ with_value(:lens_flare) do
58
+ it_should_raise_an_exception
59
+ end
60
+ end
61
+
62
+ for_attribute(:theme_fill_shade) do
63
+ with_value("BF") do
64
+ it_should_assign_successfully
65
+ it_should_output "<w:shd w:themeFillShade=\"BF\"/>"
66
+ end
67
+
68
+ with_value(:dark) do
69
+ it_should_raise_an_exception
70
+ end
71
+ end
72
+
73
+ for_attribute(:theme_fill_tint) do
74
+ with_value("BF") do
75
+ it_should_assign_successfully
76
+ it_should_output "<w:shd w:themeFillTint=\"BF\"/>"
77
+ end
78
+
79
+ with_value(:pink) do
80
+ it_should_raise_an_exception
81
+ end
82
+ end
83
+
84
+ for_attribute(:theme_shade) do
85
+ with_value("BF") do
86
+ it_should_assign_successfully
87
+ it_should_output "<w:shd w:themeShade=\"BF\"/>"
88
+ end
89
+
90
+ with_value(:dark) do
91
+ it_should_raise_an_exception
92
+ end
93
+ end
94
+
95
+ for_attribute(:theme_tint) do
96
+ with_value("BF") do
97
+ it_should_assign_successfully
98
+ it_should_output "<w:shd w:themeTint=\"BF\"/>"
99
+ end
100
+
101
+ with_value(:pink) do
102
+ it_should_raise_an_exception
103
+ end
104
+ end
105
+
106
+ for_attribute(:pattern) do
107
+ with_value(:pct90) do
108
+ it_should_assign_successfully
109
+ it_should_output "<w:shd w:val=\"pct90\"/>"
110
+ end
111
+
112
+ with_value(:solid) do
113
+ it_should_assign_successfully
114
+ it_should_output "<w:shd w:val=\"solid\"/>"
115
+ end
116
+
117
+ with_value(:vertStripe) do
118
+ it_should_assign_successfully
119
+ it_should_output "<w:shd w:val=\"vertStripe\"/>"
120
+ end
121
+
122
+ with_value(:somethingIJustMadeUp) do
123
+ it_should_raise_an_exception
124
+ end
125
+ end
126
+
127
+ with_no_attributes_set do
128
+ it_should_output "", assign: false
129
+ end
130
+
131
+ with_these_attributes_set(pattern: :pct20, theme_color: :accent6, theme_fill: :accent3) do
132
+ it_should_output "<w:shd w:themeColor=\"accent6\" w:themeFill=\"accent3\" w:val=\"pct20\"/>", assign: false
133
+ end
134
+
135
+ end