comparison test/unit/lib/redmine/views/builders/xml_test.rb @ 117:af80e5618e9b redmine-1.1

* Update to Redmine 1.1-stable branch (Redmine SVN rev 4707)
author Chris Cannam
date Thu, 13 Jan 2011 12:53:21 +0000
parents
children cbb26bc654de
comparison
equal deleted inserted replaced
39:150ceac17a8d 117:af80e5618e9b
1 # Redmine - project management software
2 # Copyright (C) 2006-2010 Jean-Philippe Lang
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
18 require File.expand_path('../../../../../../test_helper', __FILE__)
19
20 class Redmine::Views::Builders::XmlTest < HelperTestCase
21
22 def test_hash
23 assert_xml_output('<person><name>Ryan</name><age>32</age></person>') do |b|
24 b.person do
25 b.name 'Ryan'
26 b.age 32
27 end
28 end
29 end
30
31 def test_array
32 assert_xml_output('<books type="array"><book title="Book 1"/><book title="Book 2"/></books>') do |b|
33 b.array :books do |b|
34 b.book :title => 'Book 1'
35 b.book :title => 'Book 2'
36 end
37 end
38 end
39
40 def test_array_with_content_tags
41 assert_xml_output('<books type="array"><book author="B. Smith">Book 1</book><book author="G. Cooper">Book 2</book></books>') do |b|
42 b.array :books do |b|
43 b.book 'Book 1', :author => 'B. Smith'
44 b.book 'Book 2', :author => 'G. Cooper'
45 end
46 end
47 end
48
49 def assert_xml_output(expected, &block)
50 builder = Redmine::Views::Builders::Xml.new
51 block.call(builder)
52 assert_equal('<?xml version="1.0" encoding="UTF-8"?>' + expected, builder.output)
53 end
54 end