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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Gemfile.lock +11 -7
- data/Rakefile +3 -8
- data/lib/rocx/elements/base_container.rb +8 -4
- data/lib/rocx/elements/paragraph.rb +4 -4
- data/lib/rocx/elements/run.rb +40 -1
- data/lib/rocx/properties.rb +5 -0
- data/lib/rocx/properties/alignment.rb +4 -19
- data/lib/rocx/properties/attribute_builder.rb +8 -2
- data/lib/rocx/properties/auto_adjust_right_indent.rb +3 -9
- data/lib/rocx/properties/auto_space_de.rb +1 -8
- data/lib/rocx/properties/auto_space_dn.rb +1 -8
- data/lib/rocx/properties/base_property.rb +20 -11
- data/lib/rocx/properties/bold.rb +1 -4
- data/lib/rocx/properties/boolean_property.rb +1 -1
- data/lib/rocx/properties/border.rb +5 -13
- data/lib/rocx/properties/borders.rb +2 -8
- data/lib/rocx/properties/caps.rb +6 -0
- data/lib/rocx/properties/character_spacing.rb +8 -0
- data/lib/rocx/properties/color.rb +13 -0
- data/lib/rocx/properties/complex_bold.rb +8 -0
- data/lib/rocx/properties/complex_font_size.rb +8 -0
- data/lib/rocx/properties/complex_italics.rb +8 -0
- data/lib/rocx/properties/complex_property.rb +16 -0
- data/lib/rocx/properties/complex_script_formatting.rb +8 -0
- data/lib/rocx/properties/compress_punctuation.rb +1 -4
- data/lib/rocx/properties/conditional_formatting.rb +17 -56
- data/lib/rocx/properties/div_id.rb +1 -18
- data/lib/rocx/properties/double_strikethrough.rb +8 -0
- data/lib/rocx/properties/east_asian_layout.rb +22 -0
- data/lib/rocx/properties/effect.rb +11 -0
- data/lib/rocx/properties/emboss.rb +6 -0
- data/lib/rocx/properties/emphasis.rb +12 -0
- data/lib/rocx/properties/expansion.rb +18 -0
- data/lib/rocx/properties/font.rb +34 -0
- data/lib/rocx/properties/font_size.rb +8 -0
- data/lib/rocx/properties/frame.rb +5 -16
- data/lib/rocx/properties/hidden_text.rb +8 -0
- data/lib/rocx/properties/highlight.rb +11 -0
- data/lib/rocx/properties/imprint.rb +6 -0
- data/lib/rocx/properties/indentation.rb +11 -24
- data/lib/rocx/properties/integer_property.rb +15 -0
- data/lib/rocx/properties/italics.rb +1 -4
- data/lib/rocx/properties/kerning.rb +8 -0
- data/lib/rocx/properties/language.rb +20 -0
- data/lib/rocx/properties/manual_width.rb +12 -0
- data/lib/rocx/properties/math.rb +8 -0
- data/lib/rocx/properties/no_proof.rb +6 -0
- data/lib/rocx/properties/numbering.rb +4 -10
- data/lib/rocx/properties/on_off_property.rb +1 -1
- data/lib/rocx/properties/outline.rb +6 -0
- data/lib/rocx/properties/outline_level.rb +2 -17
- data/lib/rocx/properties/overflow_punctuation.rb +1 -8
- data/lib/rocx/properties/paragraph_style.rb +8 -0
- data/lib/rocx/properties/position.rb +6 -0
- data/lib/rocx/properties/positive_integer_property.rb +15 -0
- data/lib/rocx/properties/right_to_left.rb +8 -0
- data/lib/rocx/properties/run_style.rb +8 -0
- data/lib/rocx/properties/shading.rb +9 -20
- data/lib/rocx/properties/shadow.rb +6 -0
- data/lib/rocx/properties/small_caps.rb +6 -0
- data/lib/rocx/properties/spacing.rb +4 -17
- data/lib/rocx/properties/spec_vanish.rb +6 -0
- data/lib/rocx/properties/strikethrough.rb +8 -0
- data/lib/rocx/properties/style.rb +15 -0
- data/lib/rocx/properties/tab.rb +1 -9
- data/lib/rocx/properties/tabs.rb +1 -9
- data/lib/rocx/properties/text_alignment.rb +11 -0
- data/lib/rocx/properties/text_direction.rb +1 -5
- data/lib/rocx/properties/textbox_tight_wrap.rb +1 -5
- data/lib/rocx/properties/toggle_property.rb +1 -1
- data/lib/rocx/properties/underline.rb +24 -0
- data/lib/rocx/properties/value_property.rb +29 -0
- data/lib/rocx/properties/vertical_alignment.rb +3 -10
- data/lib/rocx/properties/web_hidden.rb +6 -0
- data/lib/rocx/version.rb +1 -1
- data/rocx.gemspec +1 -2
- data/spec/elements/break_spec.rb +47 -0
- data/spec/elements/paragraph_spec.rb +31 -0
- data/spec/elements/run_spec.rb +15 -0
- data/spec/elements/symbol_spec.rb +24 -0
- data/spec/elements/text_spec.rb +23 -0
- data/spec/package_spec.rb +48 -0
- data/spec/parts/content_types_spec.rb +32 -0
- data/spec/parts/document_spec.rb +32 -0
- data/spec/parts/global_rels_spec.rb +13 -0
- data/spec/parts/rels_spec.rb +42 -0
- data/spec/parts/settings_spec.rb +13 -0
- data/spec/parts/styles_spec.rb +27 -0
- data/spec/properties/alignment_spec.rb +58 -0
- data/spec/properties/auto_adjust_right_indent_spec.rb +23 -0
- data/spec/properties/auto_space_de_spec.rb +23 -0
- data/spec/properties/auto_space_dn_spec.rb +23 -0
- data/spec/properties/bidi_spec.rb +23 -0
- data/spec/properties/bold_spec.rb +23 -0
- data/spec/properties/border_spec.rb +156 -0
- data/spec/properties/borders_spec.rb +66 -0
- data/spec/properties/caps_spec.rb +23 -0
- data/spec/properties/character_spacing_spec.rb +26 -0
- data/spec/properties/color_spec.rb +49 -0
- data/spec/properties/complex_bold_spec.rb +23 -0
- data/spec/properties/complex_font_size_spec.rb +24 -0
- data/spec/properties/complex_italics_spec.rb +23 -0
- data/spec/properties/complex_script_formatting_spec.rb +23 -0
- data/spec/properties/compress_punctuation_spec.rb +23 -0
- data/spec/properties/conditional_formatting_spec.rb +160 -0
- data/spec/properties/contextual_spacing_spec.rb +23 -0
- data/spec/properties/div_id_spec.rb +17 -0
- data/spec/properties/double_strikethrough_spec.rb +23 -0
- data/spec/properties/east_asian_layout_spec.rb +115 -0
- data/spec/properties/effect_spec.rb +43 -0
- data/spec/properties/emboss_spec.rb +23 -0
- data/spec/properties/emphasis_spec.rb +37 -0
- data/spec/properties/expansion_spec.rb +34 -0
- data/spec/properties/font_size_spec.rb +24 -0
- data/spec/properties/font_spec.rb +273 -0
- data/spec/properties/frame_spec.rb +338 -0
- data/spec/properties/hidden_text_spec.rb +23 -0
- data/spec/properties/highlight_spec.rb +97 -0
- data/spec/properties/imprint_spec.rb +23 -0
- data/spec/properties/indentation_spec.rb +176 -0
- data/spec/properties/italics_spec.rb +23 -0
- data/spec/properties/keep_lines_spec.rb +23 -0
- data/spec/properties/keep_next_spec.rb +23 -0
- data/spec/properties/kerning_spec.rb +24 -0
- data/spec/properties/kinsoku_spec.rb +23 -0
- data/spec/properties/language_spec.rb +29 -0
- data/spec/properties/manual_width_spec.rb +55 -0
- data/spec/properties/math_spec.rb +23 -0
- data/spec/properties/mirror_indent_spec.rb +23 -0
- data/spec/properties/no_proof_spec.rb +23 -0
- data/spec/properties/numbering_spec.rb +46 -0
- data/spec/properties/outline_level_spec.rb +20 -0
- data/spec/properties/outline_spec.rb +23 -0
- data/spec/properties/overflow_punctuation_spec.rb +23 -0
- data/spec/properties/page_break_before_spec.rb +23 -0
- data/spec/properties/paragraph_style_spec.rb +12 -0
- data/spec/properties/position_spec.rb +26 -0
- data/spec/properties/right_to_left_spec.rb +23 -0
- data/spec/properties/run_style_spec.rb +12 -0
- data/spec/properties/shading_spec.rb +135 -0
- data/spec/properties/shadow_property_spec.rb +23 -0
- data/spec/properties/small_caps_spec.rb +22 -0
- data/spec/properties/snap_to_grid_spec.rb +23 -0
- data/spec/properties/spacing_spec.rb +159 -0
- data/spec/properties/spec_vanish_spec.rb +23 -0
- data/spec/properties/strikethrough_spec.rb +23 -0
- data/spec/properties/supress_auto_hyphens_spec.rb +23 -0
- data/spec/properties/supress_line_numbers_spec.rb +23 -0
- data/spec/properties/supress_overlap_spec.rb +23 -0
- data/spec/properties/tab_spec.rb +45 -0
- data/spec/properties/tabs_spec.rb +39 -0
- data/spec/properties/text_alignment_spec.rb +33 -0
- data/spec/properties/text_direction_spec.rb +42 -0
- data/spec/properties/textbox_tight_wrap_spec.rb +33 -0
- data/spec/properties/underline_spec.rb +161 -0
- data/spec/properties/vertical_alignment_spec.rb +26 -0
- data/spec/properties/web_hidden_spec.rb +23 -0
- data/spec/properties/widow_control_spec.rb +23 -0
- data/spec/properties/word_wrap_spec.rb +23 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/style_spec.rb +34 -0
- data/{test → spec/support}/data/elements/break_element.xml +0 -0
- data/{test → spec/support}/data/elements/break_with_attributes_element.xml +0 -0
- data/{test → spec/support}/data/elements/paragraph_element.xml +0 -0
- data/{test → spec/support}/data/elements/paragraph_with_runs_element.xml +1 -1
- data/{test → spec/support}/data/elements/run_element.xml +0 -0
- data/{test → spec/support}/data/elements/symbol_element.xml +0 -0
- data/{test → spec/support}/data/elements/text_element.xml +0 -0
- data/{test → spec/support}/data/parts/content_types_part.xml +0 -0
- data/{test → spec/support}/data/parts/document_with_children_part.xml +0 -0
- data/{test → spec/support}/data/parts/empty_document_part.xml +0 -0
- data/{test → spec/support}/data/parts/global_rels_part.xml +0 -0
- data/{test → spec/support}/data/parts/rels_part.xml +0 -0
- data/{test → spec/support}/data/parts/settings_part.xml +0 -0
- data/{test → spec/support}/data/parts/styles_part.xml +0 -0
- data/{test → spec/support}/data/parts/styles_with_custom_style_part.xml +0 -0
- data/{test → spec/support}/data/styles/character_styles.xml +0 -0
- data/{test → spec/support}/data/styles/paragraph_styles.xml +0 -0
- data/spec/support/element_test_macros.rb +33 -0
- data/spec/support/part_test_macros.rb +27 -0
- data/spec/support/property_test_macros.rb +116 -0
- data/spec/support/style_test_macros.rb +33 -0
- data/spec/support/value_property_test_macros.rb +69 -0
- metadata +151 -133
- data/lib/rocx/elements/style.rb +0 -19
- data/test/elements/break_test.rb +0 -54
- data/test/elements/paragraph_test.rb +0 -37
- data/test/elements/run_test.rb +0 -18
- data/test/elements/symbol_test.rb +0 -23
- data/test/elements/text_test.rb +0 -26
- data/test/package_test.rb +0 -48
- data/test/parts/content_types_test.rb +0 -37
- data/test/parts/document_test.rb +0 -31
- data/test/parts/global_rels_test.rb +0 -13
- data/test/parts/rels_test.rb +0 -48
- data/test/parts/settings_test.rb +0 -13
- data/test/parts/styles_test.rb +0 -29
- data/test/properties/auto_adjust_right_indent_test.rb +0 -50
- data/test/properties/auto_space_de_test.rb +0 -50
- data/test/properties/auto_space_dn_test.rb +0 -50
- data/test/properties/bidi_test.rb +0 -50
- data/test/properties/bold_test.rb +0 -50
- data/test/properties/border_test.rb +0 -216
- data/test/properties/borders_test.rb +0 -95
- data/test/properties/compress_punctuation_test.rb +0 -50
- data/test/properties/conditional_formatting_test.rb +0 -46
- data/test/properties/contextual_spacing_test.rb +0 -50
- data/test/properties/div_id_test.rb +0 -38
- data/test/properties/frame_test.rb +0 -497
- data/test/properties/italics_test.rb +0 -50
- data/test/properties/keep_lines_test.rb +0 -50
- data/test/properties/keep_next_test.rb +0 -50
- data/test/properties/kinsoku_test.rb +0 -50
- data/test/properties/mirror_indent_test.rb +0 -50
- data/test/properties/numbering_test.rb +0 -86
- data/test/properties/outline_level_test.rb +0 -46
- data/test/properties/overflow_punctuation_test.rb +0 -50
- data/test/properties/page_break_before_test.rb +0 -50
- data/test/properties/shading_test.rb +0 -225
- data/test/properties/snap_to_grid_test.rb +0 -50
- data/test/properties/spacing_test.rb +0 -248
- data/test/properties/style_test.rb +0 -30
- data/test/properties/supress_auto_hyphens_test.rb +0 -50
- data/test/properties/supress_line_numbers_test.rb +0 -50
- data/test/properties/supress_overlap_test.rb +0 -50
- data/test/properties/tab_test.rb +0 -63
- data/test/properties/tabs_test.rb +0 -54
- data/test/properties/text_direction_test.rb +0 -100
- data/test/properties/textbox_tight_wrap_test.rb +0 -88
- data/test/properties/vertical_alignment_test.rb +0 -88
- data/test/properties/widow_control_test.rb +0 -50
- data/test/properties/word_wrap_test.rb +0 -50
- data/test/style_test.rb +0 -54
- 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
|