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::HiddenText do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :vanish, name: "hidden_text"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:vanish/>"
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,97 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Highlight do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :highlight, name: "highlight", value: :yellow
7
+
8
+ with_value(:black) do
9
+ it_should_work
10
+ it_should_output "<w:highlight w:val=\"black\"/>"
11
+ end
12
+
13
+ with_value(:blue) do
14
+ it_should_work
15
+ it_should_output "<w:highlight w:val=\"blue\"/>"
16
+ end
17
+
18
+ with_value(:cyan) do
19
+ it_should_work
20
+ it_should_output "<w:highlight w:val=\"cyan\"/>"
21
+ end
22
+
23
+ with_value(:darkCyan) do
24
+ it_should_work
25
+ it_should_output "<w:highlight w:val=\"darkCyan\"/>"
26
+ end
27
+
28
+ with_value(:darkBlue) do
29
+ it_should_work
30
+ it_should_output "<w:highlight w:val=\"darkBlue\"/>"
31
+ end
32
+
33
+ with_value(:darkGray) do
34
+ it_should_work
35
+ it_should_output "<w:highlight w:val=\"darkGray\"/>"
36
+ end
37
+
38
+ with_value(:darkGreen) do
39
+ it_should_work
40
+ it_should_output "<w:highlight w:val=\"darkGreen\"/>"
41
+ end
42
+
43
+ with_value(:darkMagenta) do
44
+ it_should_work
45
+ it_should_output "<w:highlight w:val=\"darkMagenta\"/>"
46
+ end
47
+
48
+ with_value(:darkRed) do
49
+ it_should_work
50
+ it_should_output "<w:highlight w:val=\"darkRed\"/>"
51
+ end
52
+
53
+ with_value(:darkYellow) do
54
+ it_should_work
55
+ it_should_output "<w:highlight w:val=\"darkYellow\"/>"
56
+ end
57
+
58
+ with_value(:green) do
59
+ it_should_work
60
+ it_should_output "<w:highlight w:val=\"green\"/>"
61
+ end
62
+
63
+ with_value(:lightGray) do
64
+ it_should_work
65
+ it_should_output "<w:highlight w:val=\"lightGray\"/>"
66
+ end
67
+
68
+ with_value(:magenta) do
69
+ it_should_work
70
+ it_should_output "<w:highlight w:val=\"magenta\"/>"
71
+ end
72
+
73
+ with_value(:none) do
74
+ it_should_work
75
+ it_should_output "<w:highlight w:val=\"none\"/>"
76
+ end
77
+
78
+ with_value(:red) do
79
+ it_should_work
80
+ it_should_output "<w:highlight w:val=\"red\"/>"
81
+ end
82
+
83
+ with_value(:white) do
84
+ it_should_work
85
+ it_should_output "<w:highlight w:val=\"white\"/>"
86
+ end
87
+
88
+ with_value(:yellow) do
89
+ it_should_work
90
+ it_should_output "<w:highlight w:val=\"yellow\"/>"
91
+ end
92
+
93
+ with_value(:purple) do
94
+ it_should_not_work
95
+ end
96
+
97
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Imprint do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :imprint, name: "imprint"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:imprint/>"
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,176 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Indentation do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :ind, name: "indentation"
7
+
8
+ for_attribute(:end) do
9
+ with_value(1220) do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:ind w:end=\"1220\"/>"
12
+ end
13
+
14
+ with_value(-1220) do
15
+ it_should_assign_successfully
16
+ it_should_output "<w:ind w:end=\"-1220\"/>"
17
+ end
18
+
19
+ with_value(1220.3) do
20
+ it_should_raise_an_exception
21
+ end
22
+
23
+ with_value(:bad) do
24
+ it_should_raise_an_exception
25
+ end
26
+ end
27
+
28
+ for_attribute(:end_characters) do
29
+ with_value(1220) do
30
+ it_should_assign_successfully
31
+ it_should_output "<w:ind w:endChars=\"1220\"/>"
32
+ end
33
+
34
+ with_value(-1220) do
35
+ it_should_assign_successfully
36
+ it_should_output "<w:ind w:endChars=\"-1220\"/>"
37
+ end
38
+
39
+ with_value(1220.3) do
40
+ it_should_raise_an_exception
41
+ end
42
+
43
+ with_value(:bad) do
44
+ it_should_raise_an_exception
45
+ end
46
+ end
47
+
48
+ for_attribute(:first_line) do
49
+ with_value(1220) do
50
+ it_should_assign_successfully
51
+ it_should_output "<w:ind w:firstLine=\"1220\"/>"
52
+ end
53
+
54
+ with_value(-1220) do
55
+ it_should_assign_successfully
56
+ it_should_output "<w:ind w:firstLine=\"-1220\"/>"
57
+ end
58
+
59
+ with_value(1220.3) do
60
+ it_should_raise_an_exception
61
+ end
62
+
63
+ with_value(:bad) do
64
+ it_should_raise_an_exception
65
+ end
66
+ end
67
+
68
+ for_attribute(:first_line_characters) do
69
+ with_value(1220) do
70
+ it_should_assign_successfully
71
+ it_should_output "<w:ind w:firstLineChars=\"1220\"/>"
72
+ end
73
+
74
+ with_value(-1220) do
75
+ it_should_assign_successfully
76
+ it_should_output "<w:ind w:firstLineChars=\"-1220\"/>"
77
+ end
78
+
79
+ with_value(1220.3) do
80
+ it_should_raise_an_exception
81
+ end
82
+
83
+ with_value(:bad) do
84
+ it_should_raise_an_exception
85
+ end
86
+ end
87
+
88
+ for_attribute(:hanging) do
89
+ with_value(1220) do
90
+ it_should_assign_successfully
91
+ it_should_output "<w:ind w:hanging=\"1220\"/>"
92
+ end
93
+
94
+ with_value(-1220) do
95
+ it_should_assign_successfully
96
+ it_should_output "<w:ind w:hanging=\"-1220\"/>"
97
+ end
98
+
99
+ with_value(1220.3) do
100
+ it_should_raise_an_exception
101
+ end
102
+
103
+ with_value(:bad) do
104
+ it_should_raise_an_exception
105
+ end
106
+ end
107
+
108
+ for_attribute(:hanging_characters) do
109
+ with_value(1220) do
110
+ it_should_assign_successfully
111
+ it_should_output "<w:ind w:hangingChars=\"1220\"/>"
112
+ end
113
+
114
+ with_value(-1220) do
115
+ it_should_assign_successfully
116
+ it_should_output "<w:ind w:hangingChars=\"-1220\"/>"
117
+ end
118
+
119
+ with_value(1220.3) do
120
+ it_should_raise_an_exception
121
+ end
122
+
123
+ with_value(:bad) do
124
+ it_should_raise_an_exception
125
+ end
126
+ end
127
+
128
+ for_attribute(:start) do
129
+ with_value(1220) do
130
+ it_should_assign_successfully
131
+ it_should_output "<w:ind w:start=\"1220\"/>"
132
+ end
133
+
134
+ with_value(-1220) do
135
+ it_should_assign_successfully
136
+ it_should_output "<w:ind w:start=\"-1220\"/>"
137
+ end
138
+
139
+ with_value(1220.3) do
140
+ it_should_raise_an_exception
141
+ end
142
+
143
+ with_value(:bad) do
144
+ it_should_raise_an_exception
145
+ end
146
+ end
147
+
148
+ for_attribute(:start_characters) do
149
+ with_value(1220) do
150
+ it_should_assign_successfully
151
+ it_should_output "<w:ind w:startChars=\"1220\"/>"
152
+ end
153
+
154
+ with_value(-1220) do
155
+ it_should_assign_successfully
156
+ it_should_output "<w:ind w:startChars=\"-1220\"/>"
157
+ end
158
+
159
+ with_value(1220.3) do
160
+ it_should_raise_an_exception
161
+ end
162
+
163
+ with_value(:bad) do
164
+ it_should_raise_an_exception
165
+ end
166
+ end
167
+
168
+ with_no_attributes_set do
169
+ it_should_output "", assign: false
170
+ end
171
+
172
+ with_these_attributes_set(start_characters: 44, hanging: 1200) do
173
+ it_should_output "<w:ind w:hanging=\"1200\" w:startChars=\"44\"/>", assign: false
174
+ end
175
+
176
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Italics do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :i, name: "italics"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:i/>"
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::KeepLines do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :keepLines, name: "keep_lines"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:keepLines/>"
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::KeepNext do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :keepNext, name: "keep_next"
7
+
8
+ with_value(true) do
9
+ it_should_work
10
+ it_should_output "<w:keepNext/>"
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::Kerning do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :kern, name: "kerning", value: 22
7
+
8
+ with_value(20) do
9
+ it_should_work
10
+ it_should_output "<w:kern 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::Kinsoku do
4
+ include ValuePropertyTestMacros
5
+
6
+ it_should_use tag: :kinsoku, name: "kinsoku"
7
+
8
+ with_value(:on) do
9
+ it_should_work
10
+ it_should_output "<w:kinsoku w:val=\"on\"/>"
11
+ end
12
+
13
+ with_value(:off) do
14
+ it_should_work
15
+ it_should_output "<w:kinsoku 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,29 @@
1
+ require "spec_helper"
2
+
3
+ describe Rocx::Properties::Language do
4
+ include PropertyTestMacros
5
+
6
+ it_should_use tag: :lang, name: "language"
7
+
8
+ for_attribute(:bidi) do
9
+ with_value("en-US") do
10
+ it_should_assign_successfully
11
+ it_should_output "<w:lang w:bidi=\"en-US\"/>"
12
+ end
13
+ end
14
+
15
+ for_attribute(:east_asia) do
16
+ with_value("ko-KR") do
17
+ it_should_assign_successfully
18
+ it_should_output "<w:lang w:eastAsia=\"ko-KR\"/>"
19
+ end
20
+ end
21
+
22
+ for_attribute(:latin) do
23
+ with_value("fr-CA") do
24
+ it_should_assign_successfully
25
+ it_should_output "<w:lang w:val=\"fr-CA\"/>"
26
+ end
27
+ end
28
+
29
+ end