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,19 +0,0 @@
1
- module Rocx
2
- module Properties
3
- class Style < BaseProperty
4
-
5
- def valid?
6
- !value.nil?
7
- end
8
-
9
- def tag
10
- :pStyle
11
- end
12
-
13
- def to_xml(xml)
14
- xml["w"].public_send(tag, "w:val" => value)
15
- end
16
-
17
- end
18
- end
19
- end
@@ -1,54 +0,0 @@
1
- require "test_helper"
2
-
3
- class BreakTest < Test::Unit::TestCase
4
- attr_reader :break_node
5
-
6
- context "when creating a new break, it" do
7
- should "not accept invalid values for the clear property" do
8
- assert_raises ArgumentError do
9
- @break_node = Rocx::Elements::Break.new(clear: :obviouslyInvalid)
10
- end
11
- end
12
-
13
- should "not accept invalid values for the break_type property" do
14
- assert_raises ArgumentError do
15
- @break_node = Rocx::Elements::Break.new(break_type: :invalidType)
16
- end
17
- end
18
- end
19
-
20
- context "after initial creation, it" do
21
- should "still not accept invalid values for the clear property" do
22
- assert_raises ArgumentError do
23
- @break_node = Rocx::Elements::Break.new
24
- break_node.clear = :invalid
25
- end
26
- end
27
-
28
- should "still not accept invalid values for the break_type property" do
29
- assert_raises ArgumentError do
30
- @break_node = Rocx::Elements::Break.new
31
- break_node.break_type :weird
32
- end
33
- end
34
- end
35
-
36
- context "when generating XML" do
37
- context "and both property is nil, it" do
38
- should "omit the attributes" do
39
- @break_node = Rocx::Elements::Break.new
40
- break_xml = build_xml { |xml| break_node.to_xml(xml) }
41
- assert_equal element_xml("break"), break_xml
42
- end
43
- end
44
-
45
- context "and a property isn't nil, it" do
46
- should "include that attribute" do
47
- @break_node = Rocx::Elements::Break.new(break_type: :page, clear: :left)
48
- break_xml = build_xml { |xml| break_node.to_xml(xml) }
49
- assert_equal element_xml("break_with_attributes"), break_xml
50
- end
51
- end
52
- end
53
-
54
- end
@@ -1,37 +0,0 @@
1
- require "test_helper"
2
-
3
- class ParagraphTest < Test::Unit::TestCase
4
- attr_reader :paragraph
5
-
6
- context "with runs, it" do
7
- setup do
8
- @paragraph = Rocx::Elements::Paragraph.new
9
- paragraph.indentation = {start: 720, end: -1440}
10
- run = Rocx::Elements::Run.new
11
- run << Rocx::Elements::Text.new("Hey Run 1")
12
- paragraph << run
13
- run = Rocx::Elements::Run.new
14
- run << Rocx::Elements::Text.new("Hey Run 2")
15
- paragraph << run
16
- end
17
-
18
- should "generate the proper XML" do
19
- paragraph_xml = build_xml { |xml| paragraph.to_xml(xml) }
20
- assert_equal element_xml("paragraph_with_runs"), paragraph_xml
21
- end
22
- end
23
-
24
- context "without runs, it" do
25
- setup do
26
- @paragraph = Rocx::Elements::Paragraph.new
27
- paragraph.alignment = :center
28
- end
29
-
30
- should "also generate the proper XML" do
31
- paragraph_xml = build_xml { |xml| paragraph.to_xml(xml) }
32
-
33
- assert_equal element_xml("paragraph"), paragraph_xml
34
- end
35
- end
36
-
37
- end
@@ -1,18 +0,0 @@
1
- require "test_helper"
2
-
3
- class RunTest < Test::Unit::TestCase
4
- attr_reader :run_node
5
-
6
- context "after creation, it" do
7
- setup do
8
- @run_node = Rocx::Elements::Run.new
9
- run_node.italics = true
10
- end
11
-
12
- should "render properties in the properties XML" do
13
- run_xml = build_xml { |xml| run_node.to_xml(xml) }
14
- assert_equal element_xml("run"), run_xml
15
- end
16
- end
17
-
18
- end
@@ -1,23 +0,0 @@
1
- require "test_helper"
2
-
3
- class SymbolTest < Test::Unit::TestCase
4
- attr_reader :symbol
5
-
6
- should "require that its char property be 4 hexadecimal characters" do
7
- @symbol = Rocx::Elements::Symbol.new
8
- assert_raises ArgumentError do
9
- symbol.char = "not valid"
10
- end
11
-
12
- assert_nothing_raised do
13
- symbol.char = "43fd"
14
- end
15
- end
16
-
17
- should "output the right XML" do
18
- @symbol = Rocx::Elements::Symbol.new(char: "43fd", font: "Wingdings")
19
- xml = build_xml { |xml| symbol.to_xml(xml) }
20
- assert_equal element_xml("symbol"), xml
21
- end
22
-
23
- end
@@ -1,26 +0,0 @@
1
- require "test_helper"
2
-
3
- class TextTest < Test::Unit::TestCase
4
- attr_reader :text
5
-
6
- should "require space to be :preserve or nil" do
7
- assert_nothing_raised do
8
- @text = Rocx::Elements::Text.new("Banana", space: :preserve)
9
- end
10
-
11
- assert_nothing_raised do
12
- @text = Rocx::Elements::Text.new("Banana")
13
- end
14
-
15
- assert_raises ArgumentError do
16
- @text = Rocx::Elements::Text.new("Banana", space: :the_final_frontier)
17
- end
18
- end
19
-
20
- should "generate the proper XML" do
21
- @text = Rocx::Elements::Text.new("Banana", space: :preserve)
22
- text_xml = build_xml { |xml| text.to_xml(xml) }
23
- assert_equal element_xml("text"), text_xml
24
- end
25
-
26
- end
@@ -1,48 +0,0 @@
1
- require "test_helper"
2
-
3
- class PackageTest < Test::Unit::TestCase
4
- attr_reader :package
5
-
6
- context "when starting a new package, it" do
7
- setup do
8
- @package = Rocx::Package.new
9
- end
10
-
11
- should "create the content types part" do
12
- assert_kind_of Rocx::Parts::ContentTypes, package.content_types
13
- end
14
-
15
- should "create the document part" do
16
- assert_kind_of Rocx::Parts::Document, package.document
17
- end
18
-
19
- should "create the global rels part" do
20
- assert_kind_of Rocx::Parts::GlobalRels, package.global_rels
21
- end
22
-
23
- should "create the _rels part" do
24
- assert_kind_of Rocx::Parts::Rels, package.rels
25
- end
26
-
27
- should "create the settings part" do
28
- assert_kind_of Rocx::Parts::Settings, package.settings
29
- end
30
-
31
- should "create the styles part" do
32
- assert_kind_of Rocx::Parts::Styles, package.styles
33
- end
34
- end
35
-
36
- context "when saving a package, it" do
37
- setup do
38
- @package = Rocx::Package.new
39
- end
40
-
41
- should "write to a OpenXmlPackage" do
42
- path = "some_file.docx"
43
- mock.instance_of(OpenXmlPackage).write_to(path)
44
- package.save(path)
45
- end
46
- end
47
-
48
- end
@@ -1,37 +0,0 @@
1
- require "test_helper"
2
-
3
- class ContentTypesTest < Test::Unit::TestCase
4
- attr_reader :content_types
5
-
6
- context "when first creating the content types, it" do
7
- setup do
8
- @content_types = Rocx::Parts::ContentTypes.new
9
- end
10
-
11
- should "install the preset defaults" do
12
- assert_equal 3, content_types.defaults.length, "Expected the number of defaults generated to match the number of preset defaults"
13
- end
14
-
15
- should "install the preset overrides" do
16
- assert_equal 2, content_types.overrides.length, "Expected the number of overrides generated to match the number of preset overrides"
17
- end
18
- end
19
-
20
- context "after initially creating the content types, it" do
21
- setup do
22
- @content_types = Rocx::Parts::ContentTypes.new
23
- end
24
-
25
- should "be able to add additional defaults" do
26
- content_types.default "coolml", "text/coolml"
27
- assert content_types.defaults.member?({"Extension" => "coolml", "ContentType" => "text/coolml"})
28
- end
29
- end
30
-
31
- context "transforming to XML" do
32
- should "output the correct XML" do
33
- @content_types = Rocx::Parts::ContentTypes.new
34
- assert_equal part_xml('content_types').strip, content_types.read
35
- end
36
- end
37
- end
@@ -1,31 +0,0 @@
1
- require "test_helper"
2
-
3
- class DocumentTest < Test::Unit::TestCase
4
- attr_reader :document
5
-
6
- context "with child elements, it" do
7
- setup do
8
- @document = Rocx::Parts::Document.new
9
- paragraph = Rocx::Elements::Paragraph.new
10
- first_run = Rocx::Elements::Run.new
11
- first_run << Rocx::Elements::Text.new("This is just a test run.")
12
- paragraph << first_run
13
- second_run = Rocx::Elements::Run.new
14
- second_run << Rocx::Elements::Text.new("But this isn't!")
15
- paragraph << second_run
16
- document << paragraph
17
- end
18
-
19
- should "output the correct XML" do
20
- assert_equal part_xml("document_with_children").strip, document.read
21
- end
22
- end
23
-
24
- context "transforming to XML" do
25
- should "output the correct XML" do
26
- @document = Rocx::Parts::Document.new
27
- assert_equal part_xml("empty_document").strip, document.read
28
- end
29
- end
30
-
31
- end
@@ -1,13 +0,0 @@
1
- require "test_helper"
2
-
3
- class GlobalRelsTest < Test::Unit::TestCase
4
- attr_reader :global_rels
5
-
6
- context "transforming to XML" do
7
- should "output the correct XML" do
8
- @global_rels = Rocx::Parts::GlobalRels.new
9
- assert_equal part_xml('global_rels').strip, global_rels.read
10
- end
11
- end
12
-
13
- end
@@ -1,48 +0,0 @@
1
- require "test_helper"
2
-
3
- class RelsTest < Test::Unit::TestCase
4
- attr_reader :rels
5
-
6
- context "when initially setting up the rels, it" do
7
- setup do
8
- @rels = Rocx::Parts::Rels.new
9
- end
10
-
11
- should "automatically create the relationship to the settings file" do
12
- expected_relation = { "Type" => "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",
13
- "Target" => "/word/settings.xml",
14
- "Id" => "R1efaa81aac7a4831" }
15
- assert rels.relationships.member?(expected_relation), "Expected the default settings relation to be present"
16
- end
17
-
18
- should "automatically create the relationship to the styles file" do
19
- expected_relation = { "Type" => "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",
20
- "Target" => "/word/styles.xml",
21
- "Id" => "Rf06246a95c004384" }
22
- assert rels.relationships.member?(expected_relation), "Expected the default styles relation to be present"
23
- end
24
- end
25
-
26
- context "after setting up the rels, it" do
27
- setup do
28
- @rels = Rocx::Parts::Rels.new
29
- end
30
-
31
- should "be possible to add additional relationships" do
32
- new_relationship = { "Type" => "http://coolml.org/coolDocument",
33
- "Target" => "/cool/cool.xml",
34
- "Id" => "123456789"
35
- }
36
- rels.relationship *new_relationship.values
37
- assert rels.relationships.member?(new_relationship), "Expected the new relationship to have been added"
38
- end
39
- end
40
-
41
- context "transforming to XML" do
42
- should "output the correct XML" do
43
- @rels = Rocx::Parts::Rels.new
44
- assert_equal part_xml('rels').strip, rels.read
45
- end
46
- end
47
-
48
- end
@@ -1,13 +0,0 @@
1
- require "test_helper"
2
-
3
- class SettingsTest < Test::Unit::TestCase
4
- attr_reader :settings
5
-
6
- context "transforming to XML" do
7
- should "output the correct XML" do
8
- @settings = Rocx::Parts::Settings.new
9
- assert_equal part_xml('settings').strip, settings.read
10
- end
11
- end
12
-
13
- end
@@ -1,29 +0,0 @@
1
- require "test_helper"
2
-
3
- class StylesTest < Test::Unit::TestCase
4
- attr_reader :styles
5
-
6
- context "adding a custom style" do
7
- setup do
8
- paragraph_styles = {
9
- "w:ind" => {"w:firstLine" => "0", "w:left" => "0", "w:right" => "0"},
10
- "w:jc" => {"w:val" => "left"}
11
- }
12
- style = Rocx::Style.new("coolStyle", "paragraph", {}, paragraph_styles)
13
- @styles = Rocx::Parts::Styles.new
14
- styles << style
15
- end
16
-
17
- should "output the style in the generated XML" do
18
- assert_equal part_xml("styles_with_custom_style").strip, styles.read
19
- end
20
- end
21
-
22
- context "transforming to XML" do
23
- should "output the correct XML" do
24
- @styles = Rocx::Parts::Styles.new
25
- assert_equal part_xml('styles').strip, styles.read
26
- end
27
- end
28
-
29
- end
@@ -1,50 +0,0 @@
1
- require "test_helper"
2
-
3
- class AutoAdjustRightIndentTest < PropertyTest
4
- attr_reader :auto_adjust_right_ind
5
-
6
- context "always" do
7
- setup do
8
- @auto_adjust_right_ind = AutoAdjustRightIndent.new(false)
9
- end
10
-
11
- should "have the right tag" do
12
- assert_equal :adjustRightInd, auto_adjust_right_ind.tag
13
- end
14
-
15
- should "have the right name" do
16
- assert_equal "auto_adjust_right_ind", auto_adjust_right_ind.name
17
- end
18
- end
19
-
20
- context "when the value is true, it" do
21
- setup do
22
- @auto_adjust_right_ind = AutoAdjustRightIndent.new(true)
23
- end
24
-
25
- should "return XML" do
26
- assert_equal "<w:adjustRightInd w:val=\"true\"/>", xml(auto_adjust_right_ind)
27
- end
28
- end
29
-
30
- context "when the value is false, it" do
31
- setup do
32
- @auto_adjust_right_ind = AutoAdjustRightIndent.new(false)
33
- end
34
-
35
- should "not return XML" do
36
- assert_equal "", xml(auto_adjust_right_ind)
37
- end
38
- end
39
-
40
- context "when the value is nil, it" do
41
- setup do
42
- @auto_adjust_right_ind = AutoAdjustRightIndent.new(nil)
43
- end
44
-
45
- should "not return XML" do
46
- assert_equal "", xml(auto_adjust_right_ind)
47
- end
48
- end
49
-
50
- end