diff options
| author | Stefan Daschek <[email protected]> | 2012-05-03 19:46:50 +0200 |
|---|---|---|
| committer | Stefan Daschek <[email protected]> | 2012-05-03 19:46:50 +0200 |
| commit | 58effe424218aa8ba6aa8157b49233df05646308 (patch) | |
| tree | b61306ee59d2d2d52b7a25faa5b1b5105b7e8556 /test/workbook/worksheet/tc_page_setup.rb | |
| parent | c87151a4bd740391b13d3fcf564e9fa7b0f21b29 (diff) | |
| download | caxlsx-58effe424218aa8ba6aa8157b49233df05646308.tar.gz caxlsx-58effe424218aa8ba6aa8157b49233df05646308.zip | |
Add support for pageSetup.
Diffstat (limited to 'test/workbook/worksheet/tc_page_setup.rb')
| -rw-r--r-- | test/workbook/worksheet/tc_page_setup.rb | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/test/workbook/worksheet/tc_page_setup.rb b/test/workbook/worksheet/tc_page_setup.rb new file mode 100644 index 00000000..ff323c75 --- /dev/null +++ b/test/workbook/worksheet/tc_page_setup.rb @@ -0,0 +1,103 @@ +require 'tc_helper.rb' + +class TestPageSetup < Test::Unit::TestCase + + def setup + p = Axlsx::Package.new + ws = p.workbook.add_worksheet :name => "hmmm" + @ps = ws.page_setup + end + + def test_initialize + assert_equal(nil, @ps.fit_to_height) + assert_equal(nil, @ps.fit_to_width) + assert_equal(nil, @ps.orientation) + assert_equal(nil, @ps.paper_height) + assert_equal(nil, @ps.paper_width) + assert_equal(nil, @ps.scale) + end + + def test_initialize_with_options + optioned = Axlsx::PageSetup.new(:fit_to_height => 1, :fit_to_width => 2, :orientation => :landscape, :paper_height => "297mm", :paper_width => "210mm", :scale => 50) + assert_equal(1, optioned.fit_to_height) + assert_equal(2, optioned.fit_to_width) + assert_equal(:landscape, optioned.orientation) + assert_equal("297mm", optioned.paper_height) + assert_equal("210mm", optioned.paper_width) + assert_equal(50, optioned.scale) + end + + def test_set_all_values + @ps.set(:fit_to_height => 1, :fit_to_width => 2, :orientation => :landscape, :paper_height => "297mm", :paper_width => "210mm", :scale => 50) + assert_equal(1, @ps.fit_to_height) + assert_equal(2, @ps.fit_to_width) + assert_equal(:landscape, @ps.orientation) + assert_equal("297mm", @ps.paper_height) + assert_equal("210mm", @ps.paper_width) + assert_equal(50, @ps.scale) + end + + def test_set_some_values + @ps.set(:fit_to_width => 2, :orientation => :portrait) + assert_equal(2, @ps.fit_to_width) + assert_equal(:portrait, @ps.orientation) + assert_equal(nil, @ps.fit_to_height) + assert_equal(nil, @ps.paper_height) + assert_equal(nil, @ps.paper_width) + assert_equal(nil, @ps.scale) + end + + def test_to_xml_all_values + @ps.set(:fit_to_height => 1, :fit_to_width => 2, :orientation => :landscape, :paper_height => "297mm", :paper_width => "210mm", :scale => 50) + doc = Nokogiri::XML.parse(@ps.to_xml_string) + assert_equal(1, doc.xpath(".//pageSetup[@fitToHeight='1'][@fitToWidth='2'][@orientation='landscape'][@paperHeight='297mm'][@paperWidth='210mm'][@scale='50']").size) + end + + def test_to_xml_some_values + @ps.set(:orientation => :portrait) + doc = Nokogiri::XML.parse(@ps.to_xml_string) + assert_equal(1, doc.xpath(".//pageSetup[@orientation='portrait']").size) + assert_equal(0, doc.xpath(".//pageSetup[@fitToHeight]").size) + assert_equal(0, doc.xpath(".//pageSetup[@fitToWidth]").size) + assert_equal(0, doc.xpath(".//pageSetup[@paperHeight]").size) + assert_equal(0, doc.xpath(".//pageSetup[@paperWidth]").size) + assert_equal(0, doc.xpath(".//pageSetup[@scale]").size) + end + + def test_fit_to_height + assert_raise(ArgumentError) { @ps.fit_to_height = 1.5 } + assert_nothing_raised { @ps.fit_to_height = 2 } + assert_equal(2, @ps.fit_to_height) + end + + def test_fit_to_width + assert_raise(ArgumentError) { @ps.fit_to_width = false } + assert_nothing_raised { @ps.fit_to_width = 1 } + assert_equal(1, @ps.fit_to_width) + end + + def test_orientation + assert_raise(ArgumentError) { @ps.orientation = "" } + assert_nothing_raised { @ps.orientation = :default } + assert_equal(:default, @ps.orientation) + end + + def test_paper_height + assert_raise(ArgumentError) { @ps.paper_height = 99 } + assert_nothing_raised { @ps.paper_height = "11in" } + assert_equal("11in", @ps.paper_height) + end + + def test_paper_width + assert_raise(ArgumentError) { @ps.paper_width = "22" } + assert_nothing_raised { @ps.paper_width = "29.7cm" } + assert_equal("29.7cm", @ps.paper_width) + end + + def test_scale + assert_raise(ArgumentError) { @ps.scale = 50.5 } + assert_nothing_raised { @ps.scale = 99 } + assert_equal(99, @ps.scale) + end + +end |
