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,43 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Effect do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :effect, name: "effect", value: :none
7
+
8
+ with_value(:antsBlack) do
9
+ it_should_work
10
+ it_should_output "<w:effect w:val=\"antsBlack\"/>"
11
+ end
12
+
13
+ with_value(:antsRed) do
14
+ it_should_work
15
+ it_should_output "<w:effect w:val=\"antsRed\"/>"
16
+ end
17
+
18
+ with_value(:blinkBackground) do
19
+ it_should_work
20
+ it_should_output "<w:effect w:val=\"blinkBackground\"/>"
21
+ end
22
+
23
+ with_value(:lights) do
24
+ it_should_work
25
+ it_should_output "<w:effect w:val=\"lights\"/>"
26
+ end
27
+
28
+ with_value(:none) do
29
+ it_should_work
30
+ it_should_output "<w:effect w:val=\"none\"/>"
31
+ end
32
+
33
+ with_value(:shimmer) do
34
+ it_should_work
35
+ it_should_output "<w:effect w:val=\"shimmer\"/>"
36
+ end
37
+
38
+ with_value(:sparkle) do
39
+ it_should_work
40
+ it_should_output "<w:effect w:val=\"sparkle\"/>"
41
+ end
42
+
43
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Emboss do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :emboss, name: "emboss"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:emboss/>"
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,37 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Emphasis do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :em, name: "emphasis", value: :circle
7
+
8
+ with_value(:circle) do
9
+ it_should_work
10
+ it_should_output "<w:em w:val=\"circle\"/>"
11
+ end
12
+
13
+ with_value(:comma) do
14
+ it_should_work
15
+ it_should_output "<w:em w:val=\"comma\"/>"
16
+ end
17
+
18
+ with_value(:dot) do
19
+ it_should_work
20
+ it_should_output "<w:em w:val=\"dot\"/>"
21
+ end
22
+
23
+ with_value(:none) do
24
+ it_should_work
25
+ it_should_output "<w:em w:val=\"none\"/>"
26
+ end
27
+
28
+ with_value(:underDot) do
29
+ it_should_work
30
+ it_should_output "<w:em w:val=\"underDot\"/>"
31
+ end
32
+
33
+ with_value(:somethingElse) do
34
+ it_should_not_work
35
+ end
36
+
37
+ end
@@ -0,0 +1,34 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Expansion do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :w, name: "expansion", value: "100%"
7
+
8
+ with_value("1%") do
9
+ it_should_work
10
+ it_should_output "<w:w w:val=\"1%\"/>"
11
+ end
12
+
13
+ with_value(1) do
14
+ it_should_not_work
15
+ end
16
+
17
+ with_value("0%") do
18
+ it_should_not_work
19
+ end
20
+
21
+ with_value(600) do
22
+ it_should_not_work
23
+ end
24
+
25
+ with_value("600%") do
26
+ it_should_work
27
+ it_should_output "<w:w w:val=\"600%\"/>"
28
+ end
29
+
30
+ with_value("601%") do
31
+ it_should_not_work
32
+ end
33
+
34
+ end
@@ -0,0 +1,24 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::FontSize do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :sz, name: "font_size", value: 22
7
+
8
+ with_value(20) do
9
+ it_should_work
10
+ it_should_output "<w:sz 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,273 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Font do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :rFonts, name: "font"
7
+
8
+ for_attribute(:ascii) do
9
+ with_value("Courier New") do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:rFonts w:ascii=\"Courier New\"/>"
12
+ end
13
+
14
+ with_value(1) do
15
+ it_should_raise_an_exception
16
+ end
17
+
18
+ with_value(:monospace) do
19
+ it_should_raise_an_exception
20
+ end
21
+ end
22
+
23
+ for_attribute(:ascii_theme) do
24
+ with_value(:majorAscii) do
25
+ it_should_assign_successfully
26
+ it_should_output "<w:rFonts w:asciiTheme=\"majorAscii\"/>"
27
+ end
28
+
29
+ with_value(:majorBidi) do
30
+ it_should_assign_successfully
31
+ it_should_output "<w:rFonts w:asciiTheme=\"majorBidi\"/>"
32
+ end
33
+
34
+ with_value(:majorEastAsia) do
35
+ it_should_assign_successfully
36
+ it_should_output "<w:rFonts w:asciiTheme=\"majorEastAsia\"/>"
37
+ end
38
+
39
+ with_value(:majorHAnsi) do
40
+ it_should_assign_successfully
41
+ it_should_output "<w:rFonts w:asciiTheme=\"majorHAnsi\"/>"
42
+ end
43
+
44
+ with_value(:minorAscii) do
45
+ it_should_assign_successfully
46
+ it_should_output "<w:rFonts w:asciiTheme=\"minorAscii\"/>"
47
+ end
48
+
49
+ with_value(:minorBidi) do
50
+ it_should_assign_successfully
51
+ it_should_output "<w:rFonts w:asciiTheme=\"minorBidi\"/>"
52
+ end
53
+
54
+ with_value(:minorEastAsia) do
55
+ it_should_assign_successfully
56
+ it_should_output "<w:rFonts w:asciiTheme=\"minorEastAsia\"/>"
57
+ end
58
+
59
+ with_value(:minorHAnsi) do
60
+ it_should_assign_successfully
61
+ it_should_output "<w:rFonts w:asciiTheme=\"minorHAnsi\"/>"
62
+ end
63
+
64
+ with_value(:latin) do
65
+ it_should_raise_an_exception
66
+ end
67
+ end
68
+
69
+ for_attribute(:complex) do
70
+ with_value("Courier New") do
71
+ it_should_assign_successfully
72
+ it_should_output "<w:rFonts w:cs=\"Courier New\"/>"
73
+ end
74
+
75
+ with_value(1) do
76
+ it_should_raise_an_exception
77
+ end
78
+
79
+ with_value(:monospace) do
80
+ it_should_raise_an_exception
81
+ end
82
+ end
83
+
84
+ for_attribute(:complex_theme) do
85
+ with_value(:majorAscii) do
86
+ it_should_assign_successfully
87
+ it_should_output "<w:rFonts w:cstheme=\"majorAscii\"/>"
88
+ end
89
+
90
+ with_value(:majorBidi) do
91
+ it_should_assign_successfully
92
+ it_should_output "<w:rFonts w:cstheme=\"majorBidi\"/>"
93
+ end
94
+
95
+ with_value(:majorEastAsia) do
96
+ it_should_assign_successfully
97
+ it_should_output "<w:rFonts w:cstheme=\"majorEastAsia\"/>"
98
+ end
99
+
100
+ with_value(:majorHAnsi) do
101
+ it_should_assign_successfully
102
+ it_should_output "<w:rFonts w:cstheme=\"majorHAnsi\"/>"
103
+ end
104
+
105
+ with_value(:minorAscii) do
106
+ it_should_assign_successfully
107
+ it_should_output "<w:rFonts w:cstheme=\"minorAscii\"/>"
108
+ end
109
+
110
+ with_value(:minorBidi) do
111
+ it_should_assign_successfully
112
+ it_should_output "<w:rFonts w:cstheme=\"minorBidi\"/>"
113
+ end
114
+
115
+ with_value(:minorEastAsia) do
116
+ it_should_assign_successfully
117
+ it_should_output "<w:rFonts w:cstheme=\"minorEastAsia\"/>"
118
+ end
119
+
120
+ with_value(:minorHAnsi) do
121
+ it_should_assign_successfully
122
+ it_should_output "<w:rFonts w:cstheme=\"minorHAnsi\"/>"
123
+ end
124
+
125
+ with_value(:latin) do
126
+ it_should_raise_an_exception
127
+ end
128
+ end
129
+
130
+ for_attribute(:east_asia) do
131
+ with_value("Courier New") do
132
+ it_should_assign_successfully
133
+ it_should_output "<w:rFonts w:eastAsia=\"Courier New\"/>"
134
+ end
135
+
136
+ with_value(1) do
137
+ it_should_raise_an_exception
138
+ end
139
+
140
+ with_value(:monospace) do
141
+ it_should_raise_an_exception
142
+ end
143
+ end
144
+
145
+ for_attribute(:east_asia_theme) do
146
+ with_value(:majorAscii) do
147
+ it_should_assign_successfully
148
+ it_should_output "<w:rFonts w:eastAsiaTheme=\"majorAscii\"/>"
149
+ end
150
+
151
+ with_value(:majorBidi) do
152
+ it_should_assign_successfully
153
+ it_should_output "<w:rFonts w:eastAsiaTheme=\"majorBidi\"/>"
154
+ end
155
+
156
+ with_value(:majorEastAsia) do
157
+ it_should_assign_successfully
158
+ it_should_output "<w:rFonts w:eastAsiaTheme=\"majorEastAsia\"/>"
159
+ end
160
+
161
+ with_value(:majorHAnsi) do
162
+ it_should_assign_successfully
163
+ it_should_output "<w:rFonts w:eastAsiaTheme=\"majorHAnsi\"/>"
164
+ end
165
+
166
+ with_value(:minorAscii) do
167
+ it_should_assign_successfully
168
+ it_should_output "<w:rFonts w:eastAsiaTheme=\"minorAscii\"/>"
169
+ end
170
+
171
+ with_value(:minorBidi) do
172
+ it_should_assign_successfully
173
+ it_should_output "<w:rFonts w:eastAsiaTheme=\"minorBidi\"/>"
174
+ end
175
+
176
+ with_value(:minorEastAsia) do
177
+ it_should_assign_successfully
178
+ it_should_output "<w:rFonts w:eastAsiaTheme=\"minorEastAsia\"/>"
179
+ end
180
+
181
+ with_value(:minorHAnsi) do
182
+ it_should_assign_successfully
183
+ it_should_output "<w:rFonts w:eastAsiaTheme=\"minorHAnsi\"/>"
184
+ end
185
+
186
+ with_value(:latin) do
187
+ it_should_raise_an_exception
188
+ end
189
+ end
190
+
191
+ for_attribute(:high_ansi) do
192
+ with_value("Courier New") do
193
+ it_should_assign_successfully
194
+ it_should_output "<w:rFonts w:hAnsi=\"Courier New\"/>"
195
+ end
196
+
197
+ with_value(1) do
198
+ it_should_raise_an_exception
199
+ end
200
+
201
+ with_value(:monospace) do
202
+ it_should_raise_an_exception
203
+ end
204
+ end
205
+
206
+ for_attribute(:high_ansi_theme) do
207
+ with_value(:majorAscii) do
208
+ it_should_assign_successfully
209
+ it_should_output "<w:rFonts w:hAnsiTheme=\"majorAscii\"/>"
210
+ end
211
+
212
+ with_value(:majorBidi) do
213
+ it_should_assign_successfully
214
+ it_should_output "<w:rFonts w:hAnsiTheme=\"majorBidi\"/>"
215
+ end
216
+
217
+ with_value(:majorEastAsia) do
218
+ it_should_assign_successfully
219
+ it_should_output "<w:rFonts w:hAnsiTheme=\"majorEastAsia\"/>"
220
+ end
221
+
222
+ with_value(:majorHAnsi) do
223
+ it_should_assign_successfully
224
+ it_should_output "<w:rFonts w:hAnsiTheme=\"majorHAnsi\"/>"
225
+ end
226
+
227
+ with_value(:minorAscii) do
228
+ it_should_assign_successfully
229
+ it_should_output "<w:rFonts w:hAnsiTheme=\"minorAscii\"/>"
230
+ end
231
+
232
+ with_value(:minorBidi) do
233
+ it_should_assign_successfully
234
+ it_should_output "<w:rFonts w:hAnsiTheme=\"minorBidi\"/>"
235
+ end
236
+
237
+ with_value(:minorEastAsia) do
238
+ it_should_assign_successfully
239
+ it_should_output "<w:rFonts w:hAnsiTheme=\"minorEastAsia\"/>"
240
+ end
241
+
242
+ with_value(:minorHAnsi) do
243
+ it_should_assign_successfully
244
+ it_should_output "<w:rFonts w:hAnsiTheme=\"minorHAnsi\"/>"
245
+ end
246
+
247
+ with_value(:latin) do
248
+ it_should_raise_an_exception
249
+ end
250
+ end
251
+
252
+ for_attribute(:hint) do
253
+ with_value(:cs) do
254
+ it_should_assign_successfully
255
+ it_should_output "<w:rFonts w:hint=\"cs\"/>"
256
+ end
257
+
258
+ with_value(:default) do
259
+ it_should_assign_successfully
260
+ it_should_output "<w:rFonts w:hint=\"default\"/>"
261
+ end
262
+
263
+ with_value(:eastAsia) do
264
+ it_should_assign_successfully
265
+ it_should_output "<w:rFonts w:hint=\"eastAsia\"/>"
266
+ end
267
+
268
+ with_value(:ascii) do
269
+ it_should_raise_an_exception
270
+ end
271
+ end
272
+
273
+ end
@@ -0,0 +1,338 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Frame do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :framePr, name: "frame"
7
+
8
+ for_attribute(:anchor_lock) do
9
+ with_value(true) do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:framePr w:anchorLock=\"true\"/>"
12
+ end
13
+
14
+ with_value(false) do
15
+ it_should_assign_successfully
16
+ it_should_output ""
17
+ end
18
+
19
+ with_value(:maybe) do
20
+ it_should_raise_an_exception
21
+ end
22
+ end
23
+
24
+ for_attribute(:drop_cap) do
25
+ with_value(:drop) do
26
+ it_should_assign_successfully
27
+ it_should_output "<w:framePr w:dropCap=\"drop\"/>"
28
+ end
29
+
30
+ with_value(:margin) do
31
+ it_should_assign_successfully
32
+ it_should_output "<w:framePr w:dropCap=\"margin\"/>"
33
+ end
34
+
35
+ with_value(:none) do
36
+ it_should_assign_successfully
37
+ it_should_output "<w:framePr w:dropCap=\"none\"/>"
38
+ end
39
+
40
+ with_value(:bad) do
41
+ it_should_raise_an_exception
42
+ end
43
+ end
44
+
45
+ for_attribute(:height) do
46
+ with_value(24) do
47
+ it_should_assign_successfully
48
+ it_should_output "<w:framePr w:h=\"24\"/>"
49
+ end
50
+
51
+ with_value(-24) do
52
+ it_should_raise_an_exception
53
+ end
54
+
55
+ with_value(:big) do
56
+ it_should_raise_an_exception
57
+ end
58
+ end
59
+
60
+ for_attribute(:horizontal_anchor) do
61
+ with_value(:margin) do
62
+ it_should_assign_successfully
63
+ it_should_output "<w:framePr w:hAnchor=\"margin\"/>"
64
+ end
65
+
66
+ with_value(:page) do
67
+ it_should_assign_successfully
68
+ it_should_output "<w:framePr w:hAnchor=\"page\"/>"
69
+ end
70
+
71
+ with_value(:text) do
72
+ it_should_assign_successfully
73
+ it_should_output "<w:framePr w:hAnchor=\"text\"/>"
74
+ end
75
+ end
76
+
77
+ for_attribute(:height_rule) do
78
+ with_value(:atLeast) do
79
+ it_should_assign_successfully
80
+ it_should_output "<w:framePr w:hRule=\"atLeast\"/>"
81
+ end
82
+
83
+ with_value(:auto) do
84
+ it_should_assign_successfully
85
+ it_should_output "<w:framePr w:hRule=\"auto\"/>"
86
+ end
87
+
88
+ with_value(:exact) do
89
+ it_should_assign_successfully
90
+ it_should_output "<w:framePr w:hRule=\"exact\"/>"
91
+ end
92
+
93
+ with_value(:something_bad) do
94
+ it_should_raise_an_exception
95
+ end
96
+ end
97
+
98
+ for_attribute(:horizontal_padding) do
99
+ with_value(24) do
100
+ it_should_assign_successfully
101
+ it_should_output "<w:framePr w:hSpace=\"24\"/>"
102
+ end
103
+
104
+ with_value(-23) do
105
+ it_should_raise_an_exception
106
+ end
107
+
108
+ with_value(19.4) do
109
+ it_should_raise_an_exception
110
+ end
111
+
112
+ with_value(:two) do
113
+ it_should_raise_an_exception
114
+ end
115
+ end
116
+
117
+ for_attribute(:lines) do
118
+ with_value(24) do
119
+ it_should_assign_successfully
120
+ it_should_output "<w:framePr w:lines=\"24\"/>"
121
+ end
122
+
123
+ with_value(-23) do
124
+ it_should_raise_an_exception
125
+ end
126
+
127
+ with_value(19.4) do
128
+ it_should_raise_an_exception
129
+ end
130
+
131
+ with_value(:two) do
132
+ it_should_raise_an_exception
133
+ end
134
+ end
135
+
136
+ for_attribute(:vertical_anchor) do
137
+ with_value(:margin) do
138
+ it_should_assign_successfully
139
+ it_should_output "<w:framePr w:vAnchor=\"margin\"/>"
140
+ end
141
+
142
+ with_value(:page) do
143
+ it_should_assign_successfully
144
+ it_should_output "<w:framePr w:vAnchor=\"page\"/>"
145
+ end
146
+
147
+ with_value(:text) do
148
+ it_should_assign_successfully
149
+ it_should_output "<w:framePr w:vAnchor=\"text\"/>"
150
+ end
151
+
152
+ with_value(:something_bad) do
153
+ it_should_raise_an_exception
154
+ end
155
+ end
156
+
157
+ for_attribute(:vertical_padding) do
158
+ with_value(24) do
159
+ it_should_assign_successfully
160
+ it_should_output "<w:framePr w:vSpace=\"24\"/>"
161
+ end
162
+
163
+ with_value(-23) do
164
+ it_should_raise_an_exception
165
+ end
166
+
167
+ with_value(19.4) do
168
+ it_should_raise_an_exception
169
+ end
170
+
171
+ with_value(:two) do
172
+ it_should_raise_an_exception
173
+ end
174
+ end
175
+
176
+ for_attribute(:width) do
177
+ with_value(24) do
178
+ it_should_assign_successfully
179
+ it_should_output "<w:framePr w:w=\"24\"/>"
180
+ end
181
+
182
+ with_value(-23) do
183
+ it_should_raise_an_exception
184
+ end
185
+
186
+ with_value(19.4) do
187
+ it_should_raise_an_exception
188
+ end
189
+
190
+ with_value(:two) do
191
+ it_should_raise_an_exception
192
+ end
193
+ end
194
+
195
+ for_attribute(:wrap) do
196
+ with_value(:around) do
197
+ it_should_assign_successfully
198
+ it_should_output "<w:framePr w:wrap=\"around\"/>"
199
+ end
200
+
201
+ with_value(:auto) do
202
+ it_should_assign_successfully
203
+ it_should_output "<w:framePr w:wrap=\"auto\"/>"
204
+ end
205
+
206
+ with_value(:none) do
207
+ it_should_assign_successfully
208
+ it_should_output "<w:framePr w:wrap=\"none\"/>"
209
+ end
210
+
211
+ with_value(:notBeside) do
212
+ it_should_assign_successfully
213
+ it_should_output "<w:framePr w:wrap=\"notBeside\"/>"
214
+ end
215
+
216
+ with_value(:through) do
217
+ it_should_assign_successfully
218
+ it_should_output "<w:framePr w:wrap=\"through\"/>"
219
+ end
220
+
221
+ with_value(:tight) do
222
+ it_should_assign_successfully
223
+ it_should_output "<w:framePr w:wrap=\"tight\"/>"
224
+ end
225
+
226
+ with_value(:something_bad) do
227
+ it_should_raise_an_exception
228
+ end
229
+ end
230
+
231
+ for_attribute(:horizontal_position) do
232
+ with_value(24) do
233
+ it_should_assign_successfully
234
+ it_should_output "<w:framePr w:x=\"24\"/>"
235
+ end
236
+
237
+ with_value(-23) do
238
+ it_should_assign_successfully
239
+ it_should_output "<w:framePr w:x=\"-23\"/>"
240
+ end
241
+
242
+ with_value(19.4) do
243
+ it_should_raise_an_exception
244
+ end
245
+
246
+ with_value(:two) do
247
+ it_should_raise_an_exception
248
+ end
249
+ end
250
+
251
+ for_attribute(:relative_horizontal_position) do
252
+ with_value(:center) do
253
+ it_should_assign_successfully
254
+ it_should_output "<w:framePr w:xAlign=\"center\"/>"
255
+ end
256
+
257
+ with_value(:inside) do
258
+ it_should_assign_successfully
259
+ it_should_output "<w:framePr w:xAlign=\"inside\"/>"
260
+ end
261
+
262
+ with_value(:left) do
263
+ it_should_assign_successfully
264
+ it_should_output "<w:framePr w:xAlign=\"left\"/>"
265
+ end
266
+
267
+ with_value(:outside) do
268
+ it_should_assign_successfully
269
+ it_should_output "<w:framePr w:xAlign=\"outside\"/>"
270
+ end
271
+
272
+ with_value(:right) do
273
+ it_should_assign_successfully
274
+ it_should_output "<w:framePr w:xAlign=\"right\"/>"
275
+ end
276
+
277
+ with_value(:something_bad) do
278
+ it_should_raise_an_exception
279
+ end
280
+ end
281
+
282
+ for_attribute(:vertical_position) do
283
+ with_value(24) do
284
+ it_should_assign_successfully
285
+ it_should_output "<w:framePr w:y=\"24\"/>"
286
+ end
287
+
288
+ with_value(-23) do
289
+ it_should_assign_successfully
290
+ it_should_output "<w:framePr w:y=\"-23\"/>"
291
+ end
292
+
293
+ with_value(19.4) do
294
+ it_should_raise_an_exception
295
+ end
296
+
297
+ with_value(:two) do
298
+ it_should_raise_an_exception
299
+ end
300
+ end
301
+
302
+ for_attribute(:relative_vertical_position) do
303
+ with_value(:bottom) do
304
+ it_should_assign_successfully
305
+ it_should_output "<w:framePr w:yAlign=\"bottom\"/>"
306
+ end
307
+
308
+ with_value(:center) do
309
+ it_should_assign_successfully
310
+ it_should_output "<w:framePr w:yAlign=\"center\"/>"
311
+ end
312
+
313
+ with_value(:inline) do
314
+ it_should_assign_successfully
315
+ it_should_output "<w:framePr w:yAlign=\"inline\"/>"
316
+ end
317
+
318
+ with_value(:inside) do
319
+ it_should_assign_successfully
320
+ it_should_output "<w:framePr w:yAlign=\"inside\"/>"
321
+ end
322
+
323
+ with_value(:outside) do
324
+ it_should_assign_successfully
325
+ it_should_output "<w:framePr w:yAlign=\"outside\"/>"
326
+ end
327
+
328
+ with_value(:top) do
329
+ it_should_assign_successfully
330
+ it_should_output "<w:framePr w:yAlign=\"top\"/>"
331
+ end
332
+
333
+ with_value(:something_bad) do
334
+ it_should_raise_an_exception
335
+ end
336
+ end
337
+
338
+ end