Sha256: 41ca271965b9e23c72bab0adffea39f8414deffc78fb158d04d69d9a8a4f1d3d

Contents?: true

Size: 1.16 KB

Versions: 8

Compression:

Stored size: 1.16 KB

Contents

#! /usr/bin/ruby

$: << File.dirname(__FILE__) + '/../lib'

require 'test/unit'
require 'ole/types/property_set'

class TestPropertySet < Test::Unit::TestCase
	include Ole::Types

	def setup
		@io = open File.dirname(__FILE__) + '/test_SummaryInformation', 'rb'
	end

	def teardown
		@io.close
	end

	def test_property_set
		propset = PropertySet.new @io
		assert_equal :mac, propset.os
		assert_equal 1, propset.sections.length
		section = propset.sections.first
		assert_equal 14, section.length
		assert_equal 'f29f85e0-4ff9-1068-ab91-08002b27b3d9', section.guid.format
		assert_equal PropertySet::FMTID_SummaryInformation, section.guid
		assert_equal 'Charles Lowe', section.to_a.assoc(4).last
		assert_equal 'Charles Lowe', propset.doc_author
		assert_equal 'Charles Lowe', propset.to_h[:doc_author]

		# knows the difference between existent and non-existent properties
		assert_raise(NoMethodError) { propset.non_existent_key }
		assert_raise(NotImplementedError) { propset.doc_author = 'New Author'}
		assert_raise(NoMethodError) { propset.non_existent_key = 'Value'}
		
		# a valid property that has no value in this property set
		assert_equal nil, propset.security
	end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
ruby-ole-patched-for-home_run-1.2.10.1.1 test/test_property_set.rb
ruby-ole-1.2.10.1 test/test_property_set.rb
ruby-ole-1.2.9 test/test_property_set.rb
ruby-ole-1.2.10 test/test_property_set.rb
ruby-ole-1.2.8 test/test_property_set.rb
ruby-ole-1.2.8.2 test/test_property_set.rb
ruby-ole-1.2.7 test/test_property_set.rb
ruby-ole-1.2.8.1 test/test_property_set.rb