swig/Examples/test-suite/ruby/li_cdata_bytes_runme.rb

31 lines
613 B
Ruby

#!/usr/bin/env ruby
#
# Put description here
#
require 'swig_assert'
require 'li_cdata_bytes'
include Li_cdata_bytes
def test
m = predefStr()
s = cdata(m, 512)
for i in (0..255) do
swig_assert(s[i].ord == i, binding, "Value #{ s[i].ord } should be #{ i } at index #{ i }")
i2 = i + 256
swig_assert(s[i2].ord == i, binding, "Value #{ s[i2].ord } should be #{ i } at index #{ i2 }")
end
for i in (0..255) do
d = (255 - i).chr
s[i] = d
s[i + 256] = d
end
m2 = malloc(512)
memmove(m2, s)
swig_assert(verifyBytes(m2) == 0, binding, "verifyBytes fail")
free(m2)
end
test