spec/bencodr/dictionary_spec.rb in bencodr-1.2.0 vs spec/bencodr/dictionary_spec.rb in bencodr-2.0.0
- old
+ new
@@ -1,79 +1,6 @@
# encoding: UTF-8
-
-require "spec"
require "spec_helper"
-describe Hash do
- describe "#bencodr" do
- it "should encode an empty hash" do
- {}.bencode.should == "de"
- end
-
- context "a key should always be encoded as a string" do
- it "should encode a string key as a string" do
- {"string" => "string"}.bencode.should == "d6:string6:stringe"
- end
-
- it "should encode a symbol key as a string" do
- {:symbol => :symbol}.bencode.should == "d6:symbol6:symbole"
- end
-
- it "should encode a uri key as a string" do
- uri = URI.parse("http://github.com/blatyo/bencode")
- {uri => uri}.bencode.should == "d32:http://github.com/blatyo/bencode32:http://github.com/blatyo/bencodee"
- end
-
- it "should encode an integer key as a string" do
- {1 => 1}.bencode.should == "d1:1i1ee"
- end
-
- it "should encode a float key as a string" do
- {1.1 => 1.1}.bencode.should == "d3:1.1i1ee"
- end
-
- it "should encode a time key as a string" do
- time = Time.utc(0)
- {time => time}.bencode.should == "d23:2000-01-01 00:00:00 UTCi946684800ee"
- end
-
- it "should encode an array key as a string" do
- array = (1..4).to_a
- {array => array}.bencode.should == "d12:[1, 2, 3, 4]li1ei2ei3ei4eee"
- end
-
- it "should encode a hash key as a string" do
- {{} => {}}.bencode.should == "d2:{}dee"
- end
- end
-
- it "should encode keys in sorted (as raw strings) order" do
- {:a => 1, "A" => 1, 1=> 1}.bencode.should == "d1:1i1e1:Ai1e1:ai1ee"
- end
- end
-end
-
describe BEncodr::Dictionary do
- describe "#register" do
- context "once an object has been registered as a BEncode dictionary" do
- before :all do
- klass = Class.new do
- def to_h
- {:a => "a", :b => "b"}
- end
- end
- BEncodr::Dictionary.register klass
- @instance = klass.new
- end
-
- context "an instance of that object" do
- it "should respond to bencodr" do
- @instance.should respond_to :bencode
- end
-
- it "should encode to a bencoded dictionary" do
- @instance.bencode.should == "d1:a1:a1:b1:be"
- end
- end
- end
- end
+ it_behaves_like "BEncodr::Dictionary", BEncodr::Dictionary
end
\ No newline at end of file