[ruby] * rewrite SWIG_AsWCharPtrAndSize and SWIG_FromWCharPtrAndSize

* use UTF-32LE and UTF-16LE to avoid BOM
       * add tests
This commit is contained in:
Takashi Tamura 2017-02-20 17:00:52 +09:00
commit 4009da3588
4 changed files with 64 additions and 24 deletions

View file

@ -2,21 +2,36 @@
require 'swig_assert'
require 'li_std_wstring'
x = "h"
swig_assert_equal("Li_std_wstring.test_value(x)", "x", binding)
x = "abc"
swig_assert_equal("Li_std_wstring.test_wchar_overload(x)", "x", binding)
swig_assert_equal("Li_std_wstring.test_ccvalue(x)", "x", binding)
swig_assert_equal("Li_std_wstring.test_value(Li_std_wstring::Wstring.new(x))", "x", binding)
swig_assert_equal("Li_std_wstring.test_wchar_overload()", "nil", binding)
swig_assert_equal("Li_std_wstring.test_pointer(Li_std_wstring::Wstring.new(x))", "nil", binding)
swig_assert_equal("Li_std_wstring.test_const_pointer(Li_std_wstring::Wstring.new(x))", "nil", binding)
swig_assert_equal("Li_std_wstring.test_const_pointer(Li_std_wstring::Wstring.new(x))", "nil", binding)
swig_assert_equal("Li_std_wstring.test_reference(Li_std_wstring::Wstring.new(x))", "nil", binding)
x = "y"
swig_assert_equal("Li_std_wstring.test_value(x)", "x", binding)
x = "hello"
swig_assert_equal("Li_std_wstring.test_const_reference(x)", "x", binding)
a = Li_std_wstring::A.new(x)
swig_assert_equal("Li_std_wstring.test_value(a)", "x", binding)
swig_assert_equal("Li_std_wstring.test_value(x)", "x", binding)
x = "hello"
swig_assert_equal("Li_std_wstring.test_const_reference(x)", "x", binding)
swig_assert_equal("Li_std_wstring.test_pointer_out", "'x'", binding)
swig_assert_equal("Li_std_wstring.test_const_pointer_out", "'x'", binding)
swig_assert_equal("Li_std_wstring.test_reference_out()", "'x'", binding)
s = "abc"
swig_assert("Li_std_wstring.test_equal_abc(s)", binding)
begin
Li_std_wstring.test_throw
rescue RuntimeError => e
swig_assert_equal("e.message", "'x'", binding)
end