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