File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -11,4 +11,5 @@ group :development, :test do
1111 gem 'sqlite3' , '>= 1.2.4'
1212 gem 'activerecord' , '~> 3.1'
1313 gem 'rack' , '< 2.0.0'
14+ gem 'equivalent-xml' , '>= 0.6.0'
1415end
Original file line number Diff line number Diff line change 2020 descendants_tracker (0.0.4 )
2121 thread_safe (~> 0.3 , >= 0.3.1 )
2222 diff-lcs (1.1.3 )
23+ equivalent-xml (0.6.0 )
24+ nokogiri (>= 1.4.3 )
2325 faraday (0.12.2 )
2426 multipart-post (>= 1.2 , < 3 )
2527 git (1.3.0 )
@@ -82,6 +84,7 @@ PLATFORMS
8284DEPENDENCIES
8385 activerecord (~> 3.1 )
8486 activesupport (~> 3.1 )
87+ equivalent-xml (>= 0.6.0 )
8588 jeweler (< 2.2.0 )
8689 nokogiri (>= 1.3.3 )
8790 rack (< 2.0.0 )
Original file line number Diff line number Diff line change @@ -42,6 +42,7 @@ def to_xml(params = {})
4242 ref . update_xml ( root , value )
4343 end
4444 end
45+ params [ :namespaces ] . each { |prefix , url | root . add_namespace_definition ( prefix , url ) } if params [ :namespaces ]
4546 end
4647 end
4748 end
Original file line number Diff line number Diff line change @@ -141,9 +141,10 @@ Gem::Specification.new do |s|
141141 s . add_runtime_dependency ( %q<nokogiri> , [ ">= 1.3.3" ] )
142142 s . add_development_dependency ( %q<rake> , [ ">= 0" ] )
143143 s . add_development_dependency ( %q<jeweler> , [ ">= 0" ] )
144- s . add_development_dependency ( %q<rspec> , [ ">= 2.0 .0" ] )
144+ s . add_development_dependency ( %q<rspec> , [ "~> 2 .0" ] )
145145 s . add_development_dependency ( %q<sqlite3-ruby> , [ ">= 1.2.4" ] )
146146 s . add_development_dependency ( %q<activerecord> , [ ">= 2.2.2" ] )
147+ s . add_development_dependency ( %q<equivalent-xml> , [ ">= 0.6.0" ] )
147148 else
148149 s . add_dependency ( %q<activesupport> , [ ">= 2.3.0" ] )
149150 s . add_dependency ( %q<nokogiri> , [ ">= 1.3.3" ] )
Original file line number Diff line number Diff line change 22require 'rubygems'
33require 'pathname'
44require 'ostruct'
5+ require 'rspec/matchers' # req by equivalent-xml custom matcher `be_equivalent_to`
6+ require 'equivalent-xml'
57
68require_relative './../test/support/fixtures'
79require_relative './../lib/roxml'
Original file line number Diff line number Diff line change @@ -28,7 +28,7 @@ class NetworkConfig
2828
2929 xml_name 'NetworkConfig'
3030 xml_reader :name , :from => '@name'
31- xml_reader :errors , :as => [ ]
31+ xml_reader :errors , :as => [ ] , :from => 'gronk:error'
3232 xml_accessor :fence_mode , :from => 'vmw:FenceMode'
3333 xml_accessor :dhcp? , :from => 'vmw:Dhcp'
3434 end
@@ -50,9 +50,9 @@ class VApp
5050 describe "#to_xml" do
5151 it "should reproduce the input xml" do
5252 output = ROXML ::XML ::Document . new
53- output . root = VApp . from_xml ( @xml ) . to_xml
54- pending "Full namespace write support"
55- output . should == ROXML ::XML . parse_string ( @xml )
53+ namespaces = { 'vmw' => "http://foo.example.com" , 'gronk' => "http://gronk.example.com" }
54+ output . root = VApp . from_xml ( @xml ) . to_xml ( :namespaces => { 'vmw' => "http://foo.example.com" , 'gronk' => "http://gronk.example.com" } )
55+ expect ( ROXML :: XML . parse_string ( output . to_s ) ) . to be_equivalent_to ( ROXML ::XML . parse_string ( @xml ) )
5656 end
5757 end
5858 end
You can’t perform that action at this time.
0 commit comments