Sha256: 4da0312b1369637527b3259850c9a0fe453f80306c3e4ae7023021987e10392e

Contents?: true

Size: 1.84 KB

Versions: 1

Compression:

Stored size: 1.84 KB

Contents

require 'rspec'
require './lib/wixgem.rb'
require './spec/wixpath.rb'
require './spec/WindowsInstaller.rb'
require './spec/test_files_exist.rb'
require 'win32ole'
require './admin.rb'

if(admin?)
describe 'Wixgem' do
  describe 'Installation of a COM object' do
	it 'should not be able to instance a COM object' do
	  expect { WIN32OLE.new('COMObject.ComClassExample') }.to raise_error
	end

	installation_file = 'test/wixgem_com_test.msi'
	while(WindowsInstaller.installed?(installation_file))
	  WindowsInstaller.uninstall(installation_file)
	end
	
	installation_hash = { debug: true, modify_file_paths: {/^.+Release\// => ''}, all_users: 'perMachine', files: ['COMObject/bin/Release/COMObject.dll']}
	it "should create an installation file using: #{installation_file}" do
      Wix.make_installation(installation_file, installation_hash)
	  expect(File.exists?(installation_file)).to be(true)	  
	end
    
	it 'should install' do
	  WindowsInstaller.install(installation_file)
	  expect(WindowsInstaller.installed?(installation_file)).to be(true)
	end

	it 'should have installed the COMObject.dll' do
      test_files_exist(installation_file, installation_hash)
	end
	
	it 'should be able to instance a COM object with a GUID' do
		object = WIN32OLE.new('{863AEADA-EE73-4f4a-ABC0-3FB384CB41AA}')
		expect(object.nil?).to eq(false)
		puts "Text: #{object.GetText}"
		expect(object.GetText).to eq('Hello World')
	end

	it 'should be able to instance a COM object with a Program Id' do		
		object = WIN32OLE.new('COMObject.ComClassExample')
		expect(object.nil?).to eq(false)
		puts "Text: #{object.GetText}"
		expect(object.GetText).to eq('Hello World')
	end
	
	it 'should uninstall' do
	  WindowsInstaller.uninstall(installation_file) if(WindowsInstaller.installed?(installation_file))	     
	  expect(WindowsInstaller.installed?(installation_file)).to be(false)	  
	end
  end
end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wixgem-0.33.0 spec/COM_spec.rb