Sha256: 8f32c7a44ec430604fab268ea7d9388039546b48f4c21988c14df8b3371fca2b
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
require "minitest/spec" require "minitest/autorun" require "fossyl" describe Fossyl do it "encodes strings" do Fossyl.dump("Fossyl").must_equal("6:Fossyl") end it "encodes integers" do Fossyl.dump(12).must_equal("i12e") Fossyl.dump(-12).must_equal("i-12e") Fossyl.dump(0).must_equal("i0e") Fossyl.dump(-0).must_equal("i0e") end it "encodes lists" do Fossyl.dump([1, "Fossyl", -12]).must_equal("li1e6:Fossyli-12ee") end it "encodes dictionaries" do Fossyl.dump(string: "Fossyl", integer: -12, list: [0, 12]).must_equal("d7:integeri-12e4:listli0ei12ee6:string6:Fossyle") end it "decodes strings" do Fossyl.load("6:Fossyl").must_equal("Fossyl") end it "decodes integers" do Fossyl.load("i12e").must_equal(12) Fossyl.load("i-12e").must_equal(-12) Fossyl.load("i0e").must_equal(0) end it "decodes lists" do Fossyl.load("li1e6:Fossyli-12ee").must_equal([1, "Fossyl", -12]) end it "decodes dictionaries" do Fossyl.load("d7:integeri-12e4:listli0ei12ee6:string6:Fossyle").must_equal("string" => "Fossyl", "integer" => -12, "list" => [0, 12]) end it "does not decode invalid data" do ->{ Fossyl.load("d6:invalidli0e6:stringe") }.must_raise Fossyl::InvalidBencoding end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fossyl-0.5.1 | spec/fossyl_spec.rb |
fossyl-0.5.0 | spec/fossyl_spec.rb |