summaryrefslogtreecommitdiff
path: root/spec/ruby/library/win32ole/win32ole/shared/setproperty.rb
blob: b9267aef71aee8d695fdbe1e4118959ddebcb294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
platform_is :windows do
  require_relative '../../fixtures/classes'

  describe :win32ole_setproperty, shared: true do
    before :each do
      @dict = WIN32OLESpecs.new_ole('Scripting.Dictionary')
    end

    it "raises ArgumentError if no argument is given" do
      -> { @dict.send(@method) }.should raise_error ArgumentError
    end

    it "sets key to newkey and returns nil" do
      oldkey = 'oldkey'
      newkey = 'newkey'
      @dict.add(oldkey, 'value')
      result = @dict.send(@method, 'Key', oldkey, newkey)
      result.should == nil
      @dict[oldkey].should == nil
      @dict[newkey].should == 'value'
    end
  end
end