Sha256: 55f0ed9c3a5b7a166dd2cb4e8893d3634fa451fd08b275875b4b24ba47ee1e0c
Contents?: true
Size: 1.68 KB
Versions: 8
Compression:
Stored size: 1.68 KB
Contents
require 'test_helper' require 'representable/json' # FIXME. require 'representable/xml/collection' require 'representable/xml/hash' require 'representable/xml' class XMLBindingTest < MiniTest::Spec module SongRepresenter include Representable::XML property :name self.representation_wrap = :song end class SongWithRepresenter < ::Song include Representable include SongRepresenter self.representation_wrap = :song end before do @doc = Nokogiri::XML::Document.new @song = SongWithRepresenter.new("Thinning the Herd") end describe "AttributeBinding" do describe "with plain text items" do before do @property = Representable::XML::Binding::Attribute.new(Representable::Definition.new(:name, :attribute => true), nil, nil) end it "extracts with #read" do assert_equal "The Gargoyle", @property.read(Nokogiri::XML("<song name=\"The Gargoyle\" />").root) end it "inserts with #write" do parent = Nokogiri::XML::Node.new("song", @doc) @property.write(parent, "The Gargoyle") assert_xml_equal("<song name=\"The Gargoyle\" />", parent.to_s) end end end describe "ContentBinding" do before do @property = Representable::XML::Binding::Content.new(Representable::Definition.new(:name, :content => true), nil, nil) end it "extracts with #read" do assert_equal "The Gargoyle", @property.read(Nokogiri::XML("<song>The Gargoyle</song>").root) end it "inserts with #write" do parent = Nokogiri::XML::Node.new("song", @doc) @property.write(parent, "The Gargoyle") assert_xml_equal("<song>The Gargoyle</song>", parent.to_s) end end end
Version data entries
8 entries across 8 versions & 1 rubygems