Sha256: 7130a61b790f13df5ff49cfc859943de5c8dd210fe2311e5d283f83386d62dab

Contents?: true

Size: 1.2 KB

Versions: 3

Compression:

Stored size: 1.2 KB

Contents

require 'test/unit'
require 'simple-spreadsheet-extractor'
require 'libxml'

class TestExtraction < Test::Unit::TestCase
  
  SCHEMA_FILE_PATH = File.dirname(__FILE__) + "/../doc/schema-v1.xsd"
  
  include SysMODB::SpreadsheetExtractor
  
  def test_from_file_object    
    test_sheet = File.dirname(__FILE__) + "/files/test-spreadsheet.xls"
    f=open(test_sheet,"rb")    
    xml = spreadsheet_to_xml(f)     
    assert_not_nil xml      
  end
  
  def test_validate_xml
    test_sheet = File.dirname(__FILE__) + "/files/test-spreadsheet.xls"
    f=open(test_sheet,"rb")    
    xml = spreadsheet_to_xml(f)
    validate_against_schema(xml)
  end
  
  def test_failure
    test_sheet = File.dirname(__FILE__) + "/files/not-a-spreadsheet.xls"
    f=open(test_sheet,"rb")
    assert_raise SysMODB::SpreadsheetExtractionException do 
      spreadsheet_to_xml(f)      
    end
  end
  
  def validate_against_schema xml
    document = LibXML::XML::Document.string(xml)    
    schema = LibXML::XML::Schema.new(SCHEMA_FILE_PATH)    
    begin
      document.validate_schema(schema)
    rescue LibXML::XML::Error => e          
      puts xml
      assert false,"Error validating against schema: #{e.message}"
    end
  end
  
  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simple-spreadsheet-extractor-0.3.5 test/test_extraction.rb
simple-spreadsheet-extractor-0.3.4 test/test_extraction.rb
simple-spreadsheet-extractor-0.3.3 test/test_extraction.rb