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
@@ -1,50 +0,0 @@
1
- require "test_helper"
2
-
3
- class AutoSpaceDeTest < PropertyTest
4
- attr_reader :auto_space_de
5
-
6
- context "always" do
7
- setup do
8
- @auto_space_de = AutoSpaceDe.new(false)
9
- end
10
-
11
- should "have the right tag" do
12
- assert_equal :autoSpaceDE, auto_space_de.tag
13
- end
14
-
15
- should "have the right name" do
16
- assert_equal "auto_space_de", auto_space_de.name
17
- end
18
- end
19
-
20
- context "when the value is true, it" do
21
- setup do
22
- @auto_space_de = AutoSpaceDe.new(true)
23
- end
24
-
25
- should "return XML" do
26
- assert_equal "<w:autoSpaceDE w:val=\"true\"/>", xml(auto_space_de)
27
- end
28
- end
29
-
30
- context "when the value is false, it" do
31
- setup do
32
- @auto_space_de = AutoSpaceDe.new(false)
33
- end
34
-
35
- should "not return XML" do
36
- assert_equal "", xml(auto_space_de)
37
- end
38
- end
39
-
40
- context "when the value is nil, it" do
41
- setup do
42
- @auto_space_de = AutoSpaceDe.new(nil)
43
- end
44
-
45
- should "not return XML" do
46
- assert_equal "", xml(auto_space_de)
47
- end
48
- end
49
-
50
- end
@@ -1,50 +0,0 @@
1
- require "test_helper"
2
-
3
- class AutoSpaceDnTest < PropertyTest
4
- attr_reader :auto_space_dn
5
-
6
- context "always" do
7
- setup do
8
- @auto_space_dn = AutoSpaceDn.new(false)
9
- end
10
-
11
- should "have the right tag" do
12
- assert_equal :autoSpaceDN, auto_space_dn.tag
13
- end
14
-
15
- should "have the right name" do
16
- assert_equal "auto_space_dn", auto_space_dn.name
17
- end
18
- end
19
-
20
- context "when the value is true, it" do
21
- setup do
22
- @auto_space_dn = AutoSpaceDn.new(true)
23
- end
24
-
25
- should "return XML" do
26
- assert_equal "<w:autoSpaceDN w:val=\"true\"/>", xml(auto_space_dn)
27
- end
28
- end
29
-
30
- context "when the value is false, it" do
31
- setup do
32
- @auto_space_dn = AutoSpaceDn.new(false)
33
- end
34
-
35
- should "not return XML" do
36
- assert_equal "", xml(auto_space_dn)
37
- end
38
- end
39
-
40
- context "when the value is nil, it" do
41
- setup do
42
- @auto_space_dn = AutoSpaceDn.new(nil)
43
- end
44
-
45
- should "not return XML" do
46
- assert_equal "", xml(auto_space_dn)
47
- end
48
- end
49
-
50
- end
@@ -1,50 +0,0 @@
1
- require "test_helper"
2
-
3
- class BidiTest < PropertyTest
4
- attr_reader :bidi
5
-
6
- context "always" do
7
- setup do
8
- @bidi = Bidi.new(false)
9
- end
10
-
11
- should "have the right tag" do
12
- assert_equal :bidi, bidi.tag
13
- end
14
-
15
- should "have the right name" do
16
- assert_equal "bidi", bidi.name
17
- end
18
- end
19
-
20
- context "when the value is true, it" do
21
- setup do
22
- @bidi = Bidi.new(true)
23
- end
24
-
25
- should "return XML" do
26
- assert_equal "<w:bidi/>", xml(bidi)
27
- end
28
- end
29
-
30
- context "when the value is false, it" do
31
- setup do
32
- @bidi = Bidi.new(false)
33
- end
34
-
35
- should "not return XML" do
36
- assert_equal "", xml(bidi)
37
- end
38
- end
39
-
40
- context "when the value is nil, it" do
41
- setup do
42
- @bidi = Bidi.new(nil)
43
- end
44
-
45
- should "not return XML" do
46
- assert_equal "", xml(bidi)
47
- end
48
- end
49
-
50
- end
@@ -1,50 +0,0 @@
1
- require "test_helper"
2
-
3
- class BoldTest < PropertyTest
4
- attr_reader :bold
5
-
6
- context "always" do
7
- setup do
8
- @bold = Bold.new(false)
9
- end
10
-
11
- should "have the right tag" do
12
- assert_equal :b, bold.tag
13
- end
14
-
15
- should "have the right name" do
16
- assert_equal "bold", bold.name
17
- end
18
- end
19
-
20
- context "when the value is true, it" do
21
- setup do
22
- @bold = Bold.new(true)
23
- end
24
-
25
- should "return XML" do
26
- assert_equal "<w:b/>", xml(bold)
27
- end
28
- end
29
-
30
- context "when the value is false, it" do
31
- setup do
32
- @bold = Bold.new(false)
33
- end
34
-
35
- should "not return XML" do
36
- assert_equal "", xml(bold)
37
- end
38
- end
39
-
40
- context "when the value is nil, it" do
41
- setup do
42
- @bold = Bold.new(nil)
43
- end
44
-
45
- should "not return XML" do
46
- assert_equal "", xml(bold)
47
- end
48
- end
49
-
50
- end
@@ -1,216 +0,0 @@
1
- require "test_helper"
2
-
3
- class BorderTest < PropertyTest
4
- attr_reader :border
5
-
6
- context "always" do
7
- setup do
8
- @border = Border.new(:left)
9
- end
10
-
11
- should "have the right name" do
12
- assert_equal "border", border.name
13
- end
14
-
15
- should "have its tag be an argument on initialize" do
16
- assert_equal :left, border.tag
17
- end
18
- end
19
-
20
- context "for a border's color attribute" do
21
- setup do
22
- @border = Border.new(:left)
23
- end
24
-
25
- should "allow hex color values" do
26
- assert_nothing_raised do
27
- border.color = "4F81BD"
28
- end
29
- end
30
-
31
- should "allow :auto" do
32
- assert_nothing_raised do
33
- border.color = :auto
34
- end
35
- end
36
-
37
- should "not allow anything else" do
38
- assert_raises ArgumentError do
39
- border.color = "green"
40
- end
41
- end
42
- end
43
-
44
- context "for a border's frame attribute" do
45
- setup do
46
- @border = Border.new(:right)
47
- end
48
-
49
- should "allow true or false" do
50
- assert_nothing_raised do
51
- border.frame = true
52
- end
53
-
54
- assert_nothing_raised do
55
- border.frame = false
56
- end
57
- end
58
-
59
- should "not allow anything else" do
60
- assert_raises ArgumentError do
61
- border.frame = :yep
62
- end
63
- end
64
- end
65
-
66
- context "for a border's shadow attribute" do
67
- setup do
68
- @border = Border.new(:top)
69
- end
70
-
71
- should "allow true or false" do
72
- assert_nothing_raised do
73
- border.shadow = true
74
- end
75
-
76
- assert_nothing_raised do
77
- border.shadow = false
78
- end
79
- end
80
-
81
- should "not allow anything else" do
82
- assert_raises ArgumentError do
83
- border.shadow = :yep
84
- end
85
- end
86
- end
87
-
88
- context "for a border's size attribute" do
89
- setup do
90
- @border = Border.new(:bar)
91
- end
92
-
93
- should "allow positive integers" do
94
- assert_nothing_raised do
95
- border.size = 24
96
- end
97
- end
98
-
99
- should "not allow anything else" do
100
- assert_raises ArgumentError do
101
- border.size = -24
102
- end
103
-
104
- assert_raises ArgumentError do
105
- border.size = :big
106
- end
107
- end
108
- end
109
-
110
- context "for a border's space attribute" do
111
- setup do
112
- @border = Border.new(:bottom)
113
- end
114
-
115
- should "allow positive integers" do
116
- assert_nothing_raised do
117
- border.space = 24
118
- end
119
- end
120
-
121
- should "not allow anything else" do
122
- assert_raises ArgumentError do
123
- border.space = -24
124
- end
125
-
126
- assert_raises ArgumentError do
127
- border.space = :big
128
- end
129
- end
130
- end
131
-
132
- context "for a border's theme color" do
133
- setup do
134
- @border = Border.new(:between)
135
- end
136
-
137
- should "only allow valid theme colors" do
138
- assert_nothing_raised do
139
- border.theme_color = :hyperlink
140
- end
141
- end
142
-
143
- should "not allow anything else" do
144
- assert ArgumentError do
145
- border.theme_color = :lens_flare
146
- end
147
- end
148
- end
149
-
150
- context "for a border's theme shade" do
151
- setup do
152
- @border = Border.new(:left)
153
- end
154
-
155
- should "only allow 2-digit hex colors" do
156
- assert_nothing_raised do
157
- border.theme_shade = "BF"
158
- end
159
- end
160
-
161
- should "not allow anything else" do
162
- assert ArgumentError do
163
- border.theme_shade = :dark
164
- end
165
- end
166
- end
167
-
168
- context "for a border's theme tint" do
169
- setup do
170
- @border = Border.new(:right)
171
- end
172
-
173
- should "only allow 2-digit hex colors" do
174
- assert_nothing_raised do
175
- border.theme_shade = "BF"
176
- end
177
- end
178
-
179
- should "not allow anything else" do
180
- assert ArgumentError do
181
- border.theme_shade = :pink
182
- end
183
- end
184
- end
185
-
186
- context "for a border's type" do
187
- setup do
188
- @border = Border.new(:top)
189
- end
190
-
191
- should "only allow valid types" do
192
- assert_nothing_raised do
193
- border.type = :single
194
- end
195
- end
196
-
197
- should "not allow anything else" do
198
- assert ArgumentError do
199
- border.type = :programmers
200
- end
201
- end
202
- end
203
-
204
- context "with proper attributes, it" do
205
- setup do
206
- @border = Border.new(:left)
207
- border.color = "FF00FF"
208
- border.type = :crazyMaze
209
- end
210
-
211
- should "output the right XML" do
212
- assert_equal "<w:left w:color=\"FF00FF\" w:val=\"crazyMaze\"/>", xml(border)
213
- end
214
- end
215
-
216
- end
@@ -1,95 +0,0 @@
1
- require "test_helper"
2
-
3
- class BordersTest < PropertyTest
4
- attr_reader :borders
5
-
6
- context "always" do
7
- setup do
8
- @borders = Borders.new
9
- end
10
-
11
- should "set the right tag" do
12
- assert_equal :pBdr, borders.tag
13
- end
14
-
15
- should "set the right name" do
16
- assert_equal "borders", borders.name
17
- end
18
- end
19
-
20
- context "when setting values, it" do
21
- setup do
22
- @borders = Borders.new
23
- end
24
-
25
- should "allow left borders" do
26
- assert_nothing_raised do
27
- borders.left.color = :auto
28
- end
29
- end
30
-
31
- should "allow right borders" do
32
- assert_nothing_raised do
33
- borders.right.size = 24
34
- end
35
- end
36
-
37
- should "allow top borders" do
38
- assert_nothing_raised do
39
- borders.top.space = 1
40
- end
41
- end
42
-
43
- should "allow bottom borders" do
44
- assert_nothing_raised do
45
- borders.bottom.type = :apples
46
- end
47
- end
48
-
49
- should "allow between borders" do
50
- assert_nothing_raised do
51
- borders.between.shadow = true
52
- end
53
- end
54
-
55
- should "allow bar borders" do
56
- assert_nothing_raised do
57
- borders.bar.theme_color = :accent2
58
- end
59
- end
60
- end
61
-
62
- context "with no values set, it" do
63
- setup do
64
- @borders = Borders.new
65
- end
66
-
67
- should "not return any XML" do
68
- assert_equal "", xml(borders)
69
- end
70
- end
71
-
72
- context "when one border has at least one property set, it" do
73
- setup do
74
- @borders = Borders.new
75
- borders.left.type = :apples
76
- end
77
-
78
- should "return the XML" do
79
- assert_equal "<w:pBdr>\n <w:left w:val=\"apples\"/>\n </w:pBdr>", xml(borders)
80
- end
81
- end
82
-
83
- context "when more than one border has at least one property set, it" do
84
- setup do
85
- @borders = Borders.new
86
- borders.left.color = "FF0000"
87
- borders.right.type = :apples
88
- end
89
-
90
- should "return the correct XML" do
91
- assert_equal "<w:pBdr>\n <w:left w:color=\"FF0000\"/>\n <w:right w:val=\"apples\"/>\n </w:pBdr>", xml(borders)
92
- end
93
- end
94
-
95
- end