summaryrefslogtreecommitdiff
path: root/spec/ruby/library/win32ole/win32ole_param/optional_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/win32ole/win32ole_param/optional_spec.rb')
-rw-r--r--spec/ruby/library/win32ole/win32ole_param/optional_spec.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/ruby/library/win32ole/win32ole_param/optional_spec.rb b/spec/ruby/library/win32ole/win32ole_param/optional_spec.rb
new file mode 100644
index 0000000000..ca676e0950
--- /dev/null
+++ b/spec/ruby/library/win32ole/win32ole_param/optional_spec.rb
@@ -0,0 +1,22 @@
+require_relative "../../../spec_helper"
+platform_is :windows do
+ require 'win32ole'
+
+ describe "WIN32OLE::Param#optional?" do
+ before :each do
+ ole_type_detail = WIN32OLE::Type.new("Microsoft Scripting Runtime", "FileSystemObject")
+ m_copyfile = WIN32OLE::Method.new(ole_type_detail, "CopyFile")
+ @param_overwritefiles = m_copyfile.params[2]
+ end
+
+ it "raises ArgumentError if argument is given" do
+ -> { @param_overwritefiles.optional?(1) }.should.raise ArgumentError
+ end
+
+ it "returns true for 3rd parameter of FileSystemObject's 'CopyFile' method" do
+ @param_overwritefiles.optional?.should == true
+ end
+
+ end
+
+end