spec/COM_spec.rb in wixgem-0.32.0 vs spec/COM_spec.rb in wixgem-0.33.0

- old
+ new

@@ -1,11 +1,14 @@ require 'rspec' require './lib/wixgem.rb' require './spec/wixpath.rb' -require './WindowsInstaller.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 @@ -13,30 +16,41 @@ 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, { debug: true, files: ['COMObject/bin/Release/COMObject.dll']}) + Wix.make_installation(installation_file, installation_hash) expect(File.exists?(installation_file)).to be(true) end - WindowsInstaller.install(installation_file) + 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') + 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') + 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 - WindowsInstaller.uninstall(installation_file) if(WindowsInstaller.installed?(installation_file)) + 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