test/tc_bencode.rb in bencode-0.3.2 vs test/tc_bencode.rb in bencode-0.4.0
- old
+ new
@@ -6,16 +6,22 @@
def test_string
assert_equal "3:foo", "foo".bencode
assert_equal "0:", "".bencode
end
+ def test_tab_string
+ assert_equal "1:\t", "\t".bencode
+ assert_equal "2:\t\t", "\t\t".bencode
+ end
+
def test_multiline_string
assert_equal "1:\n", "\n".bencode
assert_equal "2:\n\n", "\n\n".bencode
end
def test_integer
+ assert_equal "i0e", 0.bencode
assert_equal "i42e", 42.bencode
assert_equal "i-3e", -3.bencode
end
def test_float
@@ -23,15 +29,26 @@
42.4.bencode
end
end
def test_array
+ assert_equal "le", [].bencode
assert_equal "li1ei2ei3ee", [1, 2, 3].bencode
end
def test_hash
+ assert_equal "de", {}.bencode
assert_equal "d1:a3:foo1:g3:bar1:z3:baze",
{"a" => "foo", "g" => "bar", "z" => "baz"}.bencode
+ end
+
+ def test_illegal_hash_keys
+ assert_raise BencodeError do
+ {1 => 'foo'}.bencode
+ end
+ assert_raise BencodeError do
+ {1 => 'foo', 2 => 'bar'}.bencode
+ end
end
def test_hash_julien
assert_equal "d1:ai1e2:bbi1e1:ci1ee",
{'a' => 1, 'c' => 1, 'bb' => 1}.bencode