Sha256: ec9a198d277534269e9d4b3e4b6e23f89a1c47e260854f381e30c3d8a2a4b420

Contents?: true

Size: 1.32 KB

Versions: 23

Compression:

Stored size: 1.32 KB

Contents

require 'test/unit'
require 'axlsx.rb'

class TestOverride < Test::Unit::TestCase
  def setup    
  end
  def teardown
  end
  def test_initialization_requires_Extension_and_ContentType
    err = "requires PartName and ContentType options"
    assert_raise(ArgumentError, err) { Axlsx::Override.new }
    assert_raise(ArgumentError, err) { Axlsx::Override.new :PartName=>"xml" }
    assert_raise(ArgumentError, err) { Axlsx::Override.new :ContentType=>"asdf" }
    assert_nothing_raised {Axlsx::Override.new :PartName=>"foo", :ContentType=>Axlsx::CHART_CT}
  end

  def test_content_type_restriction
    assert_raise(ArgumentError, "requires known content type") { Axlsx::Override.new :ContentType=>"asdf" }
  end
  
  def test_to_xml
    schema = Nokogiri::XML::Schema(File.open(Axlsx::CONTENT_TYPES_XSD))
    type = Axlsx::Override.new :PartName=>"somechart.xml", :ContentType=>Axlsx::CHART_CT
    builder = Nokogiri::XML::Builder.new(:encoding => Axlsx::ENCODING) do |xml|
      xml.Types(:xmlns => Axlsx::XML_NS_T) {
        type.to_xml(xml)
      }
    end
    doc = Nokogiri::XML(builder.to_xml)
    errors = []
    schema.validate(doc).each do |error|
      puts error.message
      errors << error
    end
    assert_equal(errors.size, 0, "Override content type caused invalid content_type doc" + errors.map{ |e| e.message }.to_s)
    
  end


end

Version data entries

23 entries across 16 versions & 1 rubygems

Version Path
axlsx-1.0.16 test/content_type/tc_override.rb
axlsx-1.0.15 test/content_type/tc_override.rb
axlsx-1.0.14 test/content_type/tc_override.rb
axlsx-1.0.12 test/content_type/tc_override.rb
axlsx-1.0.11 test/content_type/tc_override.rb
axlsx-1.0.10 test/content_type/tc_override.rb
axlsx-1.0.10a test/content_type/tc_override.rb
axlsx-1.0.9 test/content_type/tc_override.rb
axlsx-1.0.8 test/content_type/tc_override.rb
axlsx-1.0.7 test/content_type/tc_override.rb
axlsx-1.0.7 test/content_type/tc_override.rb~
axlsx-1.0.6 test/content_type/tc_override.rb
axlsx-1.0.6 test/content_type/tc_override.rb~
axlsx-1.0.5 test/content_type/tc_override.rb
axlsx-1.0.5 test/content_type/tc_override.rb~
axlsx-1.0.4 test/content_type/tc_override.rb
axlsx-1.0.4 test/content_type/tc_override.rb~
axlsx-1.0.3 test/content_type/tc_override.rb
axlsx-1.0.3 test/content_type/tc_override.rb~
axlsx-1.0.1 test/content_type/tc_override.rb~