#!/usr/bin/env ruby
require 'swig_assert'
require 'cpp17_string_view'
include Cpp17_string_view
test_value("Fee")
raise RuntimeError unless test_value("Fi") == "Fi"
exceptionRaised = false
begin
test_value(0)
rescue TypeError
exceptionRaised = true
ensure
raise RuntimeError unless exceptionRaised
end
test_const_reference("Fo")
raise RuntimeError unless test_const_reference("Fum") == "Fum"
exceptionRaised = false
begin
test_const_reference(0)
rescue TypeError
exceptionRaised = true
ensure
raise RuntimeError unless exceptionRaised
end
exceptionRaised = false
begin
test_pointer("foo")
rescue TypeError
exceptionRaised = true
ensure
raise RuntimeError unless exceptionRaised
end
result = test_pointer_out()
raise RuntimeError if result.is_a? String
exceptionRaised = false
begin
test_const_pointer("bar")
rescue TypeError
exceptionRaised = true
ensure
raise RuntimeError unless exceptionRaised
end
result = test_const_pointer_out()
raise RuntimeError if result.is_a? String
result = test_reference_out()
raise RuntimeError if result.is_a? String
myStructure = Structure.new
if (myStructure.ConstMemberString != "const member string")
raise RuntimeError
end
if (Structure.ConstStaticMemberString != "const static member string")
raise RuntimeError
end
if (stdstringview_empty() != "")
puts "raise RuntimeError"
end
if (c_empty() != "")
raise RuntimeError
end
if (c_null() != nil)
raise RuntimeError
end
if (get_null(c_null()) != nil)
raise RuntimeError
end
if (get_null(c_empty()) != "non-null")
raise RuntimeError
end
if (get_null(stdstringview_empty()) != "non-null")
raise RuntimeError
end