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,26 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::CharacterSpacing do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :spacing, name: "character_spacing", value: 1
7
+
8
+ with_value(400) do
9
+ it_should_work
10
+ it_should_output "<w:spacing w:val=\"400\"/>"
11
+ end
12
+
13
+ with_value(-230) do
14
+ it_should_work
15
+ it_should_output "<w:spacing w:val=\"-230\"/>"
16
+ end
17
+
18
+ with_value(4.2) do
19
+ it_should_not_work
20
+ end
21
+
22
+ with_value(:twelve) do
23
+ it_should_not_work
24
+ end
25
+
26
+ end
@@ -0,0 +1,49 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Color do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :color, name: "color"
7
+
8
+ for_attribute(:theme_color) do
9
+ with_value(:hyperlink) do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:color w:themeColor=\"hyperlink\"/>"
12
+ end
13
+ end
14
+
15
+ for_attribute(:theme_shade) do
16
+ with_value("BF") do
17
+ it_should_assign_successfully
18
+ it_should_output "<w:color w:themeShade=\"BF\"/>"
19
+ end
20
+
21
+ with_value(:dark) do
22
+ it_should_raise_an_exception
23
+ end
24
+ end
25
+
26
+ for_attribute(:theme_tint) do
27
+ with_value("BF") do
28
+ it_should_assign_successfully
29
+ it_should_output "<w:color w:themeTint=\"BF\"/>"
30
+ end
31
+
32
+ with_value(:pink) do
33
+ it_should_raise_an_exception
34
+ end
35
+ end
36
+
37
+ for_attribute(:color) do
38
+ with_value(:D99694) do
39
+ it_should_assign_successfully
40
+ it_should_output "<w:color w:val=\"D99694\"/>"
41
+ end
42
+
43
+ with_value(:auto) do
44
+ it_should_assign_successfully
45
+ it_should_output "<w:color w:val=\"auto\"/>"
46
+ end
47
+ end
48
+
49
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::ComplexBold do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :bCs, name: "complex_bold"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:bCs/>"
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,24 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::ComplexFontSize do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :szCs, name: "complex_font_size", value: 22
7
+
8
+ with_value(20) do
9
+ it_should_work
10
+ it_should_output "<w:szCs w:val=\"20\"/>"
11
+ end
12
+
13
+ with_value(-20) do
14
+ it_should_not_work
15
+ end
16
+
17
+ with_value(23.1) do
18
+ it_should_not_work
19
+ end
20
+
21
+ with_value(:big) do
22
+ it_should_not_work
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::ComplexItalics do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :iCs, name: "complex_italics"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:iCs/>"
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::ComplexScriptFormatting do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :cs, name: "complex_script_formatting"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:cs/>"
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::CompressPunctuation do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :topLinePunct, name: "compress_punctuation"
7
+
8
+ with_value(:on) do
9
+ it_should_work
10
+ it_should_output "<w:topLinePunct w:val=\"on\"/>"
11
+ end
12
+
13
+ with_value(:off) do
14
+ it_should_work
15
+ it_should_output "<w:topLinePunct 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,160 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::ConditionalFormatting do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :cnfStyle, name: "conditional_formatting"
7
+
8
+ for_attribute(:even_horizontal_band) do
9
+ with_value(true) do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:cnfStyle w:evenHBand=\"true\"/>"
12
+ end
13
+
14
+ with_value(false) do
15
+ it_should_assign_successfully
16
+ it_should_output ""
17
+ end
18
+ end
19
+
20
+ for_attribute(:even_vertical_band) do
21
+ with_value(true) do
22
+ it_should_assign_successfully
23
+ it_should_output "<w:cnfStyle w:evenVBand=\"true\"/>"
24
+ end
25
+
26
+ with_value(false) do
27
+ it_should_assign_successfully
28
+ it_should_output ""
29
+ end
30
+ end
31
+
32
+ for_attribute(:first_column) do
33
+ with_value(true) do
34
+ it_should_assign_successfully
35
+ it_should_output "<w:cnfStyle w:firstColumn=\"true\"/>"
36
+ end
37
+
38
+ with_value(false) do
39
+ it_should_assign_successfully
40
+ it_should_output ""
41
+ end
42
+ end
43
+
44
+ for_attribute(:first_row) do
45
+ with_value(true) do
46
+ it_should_assign_successfully
47
+ it_should_output "<w:cnfStyle w:firstRow=\"true\"/>"
48
+ end
49
+
50
+ with_value(false) do
51
+ it_should_assign_successfully
52
+ it_should_output ""
53
+ end
54
+ end
55
+
56
+ for_attribute(:first_row_first_column) do
57
+ with_value(true) do
58
+ it_should_assign_successfully
59
+ it_should_output "<w:cnfStyle w:firstRowFirstColumn=\"true\"/>"
60
+ end
61
+
62
+ with_value(false) do
63
+ it_should_assign_successfully
64
+ it_should_output ""
65
+ end
66
+ end
67
+
68
+ for_attribute(:first_row_last_column) do
69
+ with_value(true) do
70
+ it_should_assign_successfully
71
+ it_should_output "<w:cnfStyle w:firstRowLastColumn=\"true\"/>"
72
+ end
73
+
74
+ with_value(false) do
75
+ it_should_assign_successfully
76
+ it_should_output ""
77
+ end
78
+ end
79
+
80
+ for_attribute(:last_column) do
81
+ with_value(true) do
82
+ it_should_assign_successfully
83
+ it_should_output "<w:cnfStyle w:lastColumn=\"true\"/>"
84
+ end
85
+
86
+ with_value(false) do
87
+ it_should_assign_successfully
88
+ it_should_output ""
89
+ end
90
+ end
91
+
92
+ for_attribute(:last_row) do
93
+ with_value(true) do
94
+ it_should_assign_successfully
95
+ it_should_output "<w:cnfStyle w:lastRow=\"true\"/>"
96
+ end
97
+
98
+ with_value(false) do
99
+ it_should_assign_successfully
100
+ it_should_output ""
101
+ end
102
+ end
103
+
104
+ for_attribute(:last_row_first_column) do
105
+ with_value(true) do
106
+ it_should_assign_successfully
107
+ it_should_output "<w:cnfStyle w:lastRowFirstColumn=\"true\"/>"
108
+ end
109
+
110
+ with_value(false) do
111
+ it_should_assign_successfully
112
+ it_should_output ""
113
+ end
114
+ end
115
+
116
+ for_attribute(:last_row_last_column) do
117
+ with_value(true) do
118
+ it_should_assign_successfully
119
+ it_should_output "<w:cnfStyle w:lastRowLastColumn=\"true\"/>"
120
+ end
121
+
122
+ with_value(false) do
123
+ it_should_assign_successfully
124
+ it_should_output ""
125
+ end
126
+ end
127
+
128
+ for_attribute(:odd_horizontal_band) do
129
+ with_value(true) do
130
+ it_should_assign_successfully
131
+ it_should_output "<w:cnfStyle w:oddHBand=\"true\"/>"
132
+ end
133
+
134
+ with_value(false) do
135
+ it_should_assign_successfully
136
+ it_should_output ""
137
+ end
138
+ end
139
+
140
+ for_attribute(:odd_vertical_band) do
141
+ with_value(true) do
142
+ it_should_assign_successfully
143
+ it_should_output "<w:cnfStyle w:oddVBand=\"true\"/>"
144
+ end
145
+
146
+ with_value(false) do
147
+ it_should_assign_successfully
148
+ it_should_output ""
149
+ end
150
+ end
151
+
152
+ with_no_attributes_set do
153
+ it_should_output "", assign: false
154
+ end
155
+
156
+ with_these_attributes_set(last_row: true, last_column: true, last_row_last_column: true) do
157
+ it_should_output "<w:cnfStyle w:lastColumn=\"true\" w:lastRow=\"true\" w:lastRowLastColumn=\"true\"/>", assign: false
158
+ end
159
+
160
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::ContextualSpacing do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :contextualSpacing, name: "contextual_spacing"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:contextualSpacing/>"
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,17 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::DivId do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :divId, name: "div_id", value: 1
7
+
8
+ with_value(2) do
9
+ it_should_work
10
+ it_should_output "<w:divId w:val=\"2\"/>"
11
+ end
12
+
13
+ with_value(:big) do
14
+ it_should_not_work
15
+ end
16
+
17
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::DoubleStrikethrough do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :dstrike, name: "double_strikethrough"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:dstrike 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,115 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::EastAsianLayout do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :eastAsianLayout, name: "east_asian_layout"
7
+
8
+ for_attribute(:combine) do
9
+ with_value(:on) do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:eastAsianLayout w:combine=\"on\"/>"
12
+ end
13
+
14
+ with_value(:off) do
15
+ it_should_assign_successfully
16
+ it_should_output "<w:eastAsianLayout w:combine=\"off\"/>"
17
+ end
18
+
19
+ with_value(:somethingElse) do
20
+ it_should_raise_an_exception
21
+ end
22
+ end
23
+
24
+ for_attribute(:combine_brackets) do
25
+ with_value(:angle) do
26
+ it_should_assign_successfully
27
+ it_should_output "<w:eastAsianLayout w:combineBrackets=\"angle\"/>"
28
+ end
29
+
30
+ with_value(:curly) do
31
+ it_should_assign_successfully
32
+ it_should_output "<w:eastAsianLayout w:combineBrackets=\"curly\"/>"
33
+ end
34
+
35
+ with_value(:none) do
36
+ it_should_assign_successfully
37
+ it_should_output "<w:eastAsianLayout w:combineBrackets=\"none\"/>"
38
+ end
39
+
40
+ with_value(:round) do
41
+ it_should_assign_successfully
42
+ it_should_output "<w:eastAsianLayout w:combineBrackets=\"round\"/>"
43
+ end
44
+
45
+ with_value(:square) do
46
+ it_should_assign_successfully
47
+ it_should_output "<w:eastAsianLayout w:combineBrackets=\"square\"/>"
48
+ end
49
+
50
+ with_value(:smileyFaces) do
51
+ it_should_raise_an_exception
52
+ end
53
+ end
54
+
55
+ for_attribute(:id) do
56
+ with_value(1) do
57
+ it_should_assign_successfully
58
+ it_should_output "<w:eastAsianLayout w:id=\"1\"/>"
59
+ end
60
+
61
+ with_value(-81238123) do
62
+ it_should_assign_successfully
63
+ it_should_output "<w:eastAsianLayout w:id=\"-81238123\"/>"
64
+ end
65
+
66
+ with_value(4.5) do
67
+ it_should_raise_an_exception
68
+ end
69
+
70
+ with_value(:number1234) do
71
+ it_should_raise_an_exception
72
+ end
73
+ end
74
+
75
+ for_attribute(:vertical) do
76
+ with_value(:on) do
77
+ it_should_assign_successfully
78
+ it_should_output "<w:eastAsianLayout w:vert=\"on\"/>"
79
+ end
80
+
81
+ with_value(:off) do
82
+ it_should_assign_successfully
83
+ it_should_output "<w:eastAsianLayout w:vert=\"off\"/>"
84
+ end
85
+
86
+ with_value(:sorta) do
87
+ it_should_raise_an_exception
88
+ end
89
+ end
90
+
91
+ for_attribute(:vertical_compress) do
92
+ with_value(:on) do
93
+ it_should_assign_successfully
94
+ it_should_output "<w:eastAsianLayout w:vertCompress=\"on\"/>"
95
+ end
96
+
97
+ with_value(:off) do
98
+ it_should_assign_successfully
99
+ it_should_output "<w:eastAsianLayout w:vertCompress=\"off\"/>"
100
+ end
101
+
102
+ with_value(:sorta) do
103
+ it_should_raise_an_exception
104
+ end
105
+ end
106
+
107
+ with_no_attributes_set do
108
+ it_should_output "", assign: false
109
+ end
110
+
111
+ with_these_attributes_set(id: 2, vertical: :on, vertical_compress: :on) do
112
+ it_should_output "<w:eastAsianLayout w:id=\"2\" w:vert=\"on\" w:vertCompress=\"on\"/>", assign: false
113
+ end
114
+
115
+ end