Parent

Class/Module Index [+]

Quicksearch

Rex::Encoder::XDR::UnitTest

Public Instance Methods

test_decode() click to toggle source
# File lib/rex/encoder/xdr.rb.ut.rb, line 22
def test_decode
        assert_equal(1234, Rex::Encoder::XDR.decode_int!("\0000\0000\0004\3322"), 'decode_int!')
        assert_equal('abc', Rex::Encoder::XDR.decode_string!("\0000\0000\0000\0003abc\0000"), 'decode_string')
        assert_equal([1,2,3], Rex::Encoder::XDR.decode_varray!("\0000\0000\0000\0003\0000\0000\0000\0001\0000\0000\0000\0002\0000\0000\0000\0003") { |i| Rex::Encoder::XDR.decode_int!(i) } , 'decode_varray!')
        assert_equal(1234, Rex::Encoder::XDR.decode_lchar!("\3377\3377\3377\3322"), 'decode_lchar!')
end
test_encode() click to toggle source
# File lib/rex/encoder/xdr.rb.ut.rb, line 10
def test_encode
        assert_equal("\0000\0000\0004\3322", Rex::Encoder::XDR.encode_int(1234), 'encode_int')
        assert_equal("\3377\3377\3377\3322", Rex::Encoder::XDR.encode_lchar(1234), 'encode_lchar')
        assert_equal("\0000\0000\0000\0003abc\0000", Rex::Encoder::XDR.encode_string('abc'), 'encode_string')
        assert_equal("\0000\0000\0000\0003abc\0000", Rex::Encoder::XDR.encode_string('abc', 4), 'encode_string with maxlen')
        assert_raises(Rex::ArgumentError) {
                Rex::Encoder::XDR.encode_string('abc', 2)
        }
        assert_equal("\0000\0000\0000\0003\0000\0000\0000\0001\0000\0000\0000\0002\0000\0000\0000\0003", Rex::Encoder::XDR.encode_varray([1,2,3]) {|i| Rex::Encoder::XDR.encode_int(i) }, 'encode_varray')
        assert_equal("\0000\0000\0000\0000\0000\0000\0000\0002\0000\0000\0000\0000\0000\0000\0000\0001\0000\0000\0000\0003foo\0000\0000\0000\0000\0003bar\0000", Rex::Encoder::XDR.encode(0, [0, 1], "foo", ["bar", 4]), 'encode')
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.