Sha256: 7bdca1feb45fb8e2228b132601c9e2a0609ee9ccd845499265536ec90de61701

Contents?: true

Size: 1.83 KB

Versions: 5

Compression:

Stored size: 1.83 KB

Contents

require 'tc_helper'

class TestDLbls < Test::Unit::TestCase

  def setup
    @d_lbls = Axlsx::DLbls.new(Axlsx::Pie3DChart)
  end

  def test_initialization
    assert_equal(:bestFit, @d_lbls.d_lbl_pos)
    Axlsx::DLbls::BOOLEAN_ATTRIBUTES.each do |attr|
      assert_equal(false, @d_lbls.send(attr))
    end
  end

  def test_initialization_with_optoins
    options_hash = Hash[*[Axlsx::DLbls::BOOLEAN_ATTRIBUTES.map { |name| [name, true] }] ]
    d_lbls = Axlsx::DLbls.new(Axlsx::Pie3DChart, options_hash.merge( { :d_lbl_pos => :t }))
    Axlsx::DLbls::BOOLEAN_ATTRIBUTES.each do |attr|
      assert_equal(true, d_lbls.send(attr), "boolean attributes set by options")
    end
    assert_equal(:t, d_lbls.d_lbl_pos, "d_lbl_pos set by options")
  end
  def test_d_lbl_pos
    assert_raise(ArgumentError, 'invlaid label positions are rejected') { @d_lbls.d_lbl_pos = :upside_down }
    assert_nothing_raised('accepts valid label position') { @d_lbls.d_lbl_pos = :ctr }
  end

  def test_boolean_attributes
    Axlsx::DLbls::BOOLEAN_ATTRIBUTES.each do |attr|
      assert_raise(ArgumentError, "rejects non boolean value for #{attr}") { @d_lbls.send("#{attr}=", :foo) }
      assert_nothing_raised("accepts boolean value for #{attr}") { @d_lbls.send("#{attr}=", true) }
      assert_nothing_raised("accepts boolean value for #{attr}") { @d_lbls.send("#{attr}=", false) }
    end
  end

  def test_to_xml_string
      str = '<?xml version="1.0" encoding="UTF-8"?>'
      str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '" xmlns:a="' << Axlsx::XML_NS_A << '" xmlns:r="' << Axlsx::XML_NS_R << '">'
      @d_lbls.to_xml_string(str) 
      str << '</c:chartSpace>'
      doc = Nokogiri::XML(str)
      @d_lbls.instance_values.each do |name, value|
        assert(doc.xpath("//c:#{Axlsx::camel(name, false)}[@val='#{value}']"), "#{name} is properly serialized")
      end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
axlsx-1.3.1 test/drawing/tc_d_lbls.rb
axlsx-1.2.3 test/drawing/tc_d_lbls.rb
axlsx-1.2.2 test/drawing/tc_d_lbls.rb
axlsx-1.2.1 test/drawing/tc_d_lbls.rb
axlsx-1.2.0 test/drawing/tc_d_lbls.rb