aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2006-06-03 00:01:08 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2006-06-03 00:01:08 +0000
commit48052d70ec065a3a8d9e6e121cab5ae857f8da1a (patch)
treed007080f5222dbfc585f705c9046d72e3447c4d2 /activerecord/test
parent49060cda24d40d13bb428b0a1a4f3d35ef3e3c23 (diff)
downloadrails-48052d70ec065a3a8d9e6e121cab5ae857f8da1a.tar.gz
rails-48052d70ec065a3a8d9e6e121cab5ae857f8da1a.tar.bz2
rails-48052d70ec065a3a8d9e6e121cab5ae857f8da1a.zip
to_xml fixes, features, and speedup. Closes #4989.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4413 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test')
-rwxr-xr-xactiverecord/test/base_test.rb46
-rw-r--r--activerecord/test/fixtures/topics.yml4
2 files changed, 25 insertions, 25 deletions
diff --git a/activerecord/test/base_test.rb b/activerecord/test/base_test.rb
index 6ea46d8e85..5a6870faa3 100755
--- a/activerecord/test/base_test.rb
+++ b/activerecord/test/base_test.rb
@@ -439,18 +439,18 @@ class BasicsTest < Test::Unit::TestCase
def test_increment_counter
Topic.increment_counter("replies_count", 1)
- assert_equal 1, Topic.find(1).replies_count
+ assert_equal 2, Topic.find(1).replies_count
Topic.increment_counter("replies_count", 1)
- assert_equal 2, Topic.find(1).replies_count
+ assert_equal 3, Topic.find(1).replies_count
end
def test_decrement_counter
Topic.decrement_counter("replies_count", 2)
- assert_equal 1, Topic.find(2).replies_count
+ assert_equal -1, Topic.find(2).replies_count
Topic.decrement_counter("replies_count", 2)
- assert_equal 0, Topic.find(1).replies_count
+ assert_equal -2, Topic.find(2).replies_count
end
def test_update_all
@@ -987,12 +987,12 @@ class BasicsTest < Test::Unit::TestCase
end
def test_increment_attribute
- assert_equal 0, topics(:first).replies_count
+ assert_equal 1, topics(:first).replies_count
topics(:first).increment! :replies_count
- assert_equal 1, topics(:first, :reload).replies_count
+ assert_equal 2, topics(:first, :reload).replies_count
topics(:first).increment(:replies_count).increment!(:replies_count)
- assert_equal 3, topics(:first, :reload).replies_count
+ assert_equal 4, topics(:first, :reload).replies_count
end
def test_increment_nil_attribute
@@ -1003,13 +1003,13 @@ class BasicsTest < Test::Unit::TestCase
def test_decrement_attribute
topics(:first).increment(:replies_count).increment!(:replies_count)
- assert_equal 2, topics(:first).replies_count
+ assert_equal 3, topics(:first).replies_count
topics(:first).decrement!(:replies_count)
- assert_equal 1, topics(:first, :reload).replies_count
+ assert_equal 2, topics(:first, :reload).replies_count
topics(:first).decrement(:replies_count).decrement!(:replies_count)
- assert_equal -1, topics(:first, :reload).replies_count
+ assert_equal 0, topics(:first, :reload).replies_count
end
def test_toggle_attribute
@@ -1217,14 +1217,14 @@ class BasicsTest < Test::Unit::TestCase
written_on_in_current_timezone = topics(:first).written_on.xmlschema
last_read_in_current_timezone = topics(:first).last_read.xmlschema
assert_equal "<topic>", xml.first(7)
- assert xml.include?(%(<title>The First Topic</title>))
- assert xml.include?(%(<author-name>David</author-name>))
+ assert xml.include?(%(<title type="string">The First Topic</title>))
+ assert xml.include?(%(<author-name type="string">David</author-name>))
assert xml.include?(%(<id type="integer">1</id>))
- assert xml.include?(%(<replies-count type="integer">0</replies-count>))
+ assert xml.include?(%(<replies-count type="integer">1</replies-count>))
assert xml.include?(%(<written-on type="datetime">#{written_on_in_current_timezone}</written-on>))
- assert xml.include?(%(<content>Have a nice day</content>))
- assert xml.include?(%(<author-email-address>david@loudthinking.com</author-email-address>))
- assert xml.include?(%(<parent-id></parent-id>))
+ assert xml.include?(%(<content type="string">Have a nice day</content>))
+ assert xml.include?(%(<author-email-address type="string">david@loudthinking.com</author-email-address>))
+ assert xml.match(%r{<parent-id (type="integer"\s*|nil="true"\s*){2}/>})
if current_adapter?(:SybaseAdapter) or current_adapter?(:SQLServerAdapter)
assert xml.include?(%(<last-read type="datetime">#{last_read_in_current_timezone}</last-read>))
else
@@ -1236,23 +1236,23 @@ class BasicsTest < Test::Unit::TestCase
assert xml.include?(%(<bonus-time type="datetime">#{bonus_time_in_current_timezone}</bonus-time>))
end
end
-
+
def test_to_xml_skipping_attributes
xml = topics(:first).to_xml(:indent => 0, :skip_instruct => true, :except => :title)
assert_equal "<topic>", xml.first(7)
- assert !xml.include?(%(<title>The First Topic</title>))
- assert xml.include?(%(<author-name>David</author-name>))
+ assert !xml.include?(%(<title type="string">The First Topic</title>))
+ assert xml.include?(%(<author-name type="string">David</author-name>))
xml = topics(:first).to_xml(:indent => 0, :skip_instruct => true, :except => [ :title, :author_name ])
- assert !xml.include?(%(<title>The First Topic</title>))
- assert !xml.include?(%(<author-name>David</author-name>))
+ assert !xml.include?(%(<title type="string">The First Topic</title>))
+ assert !xml.include?(%(<author-name type="string">David</author-name>))
end
def test_to_xml_including_has_many_association
xml = topics(:first).to_xml(:indent => 0, :skip_instruct => true, :include => :replies)
assert_equal "<topic>", xml.first(7)
assert xml.include?(%(<replies><reply>))
- assert xml.include?(%(<title>The Second Topic's of the day</title>))
+ assert xml.include?(%(<title type="string">The Second Topic's of the day</title>))
end
def test_to_xml_including_belongs_to_association
@@ -1277,7 +1277,7 @@ class BasicsTest < Test::Unit::TestCase
)
assert_equal "<firm>", xml.first(6)
- assert xml.include?(%(<client><name>Summit</name></client>))
+ assert xml.include?(%(<client><name type="string">Summit</name></client>))
assert xml.include?(%(<clients><client>))
end
diff --git a/activerecord/test/fixtures/topics.yml b/activerecord/test/fixtures/topics.yml
index 810bbcf4e8..b1e5159be2 100644
--- a/activerecord/test/fixtures/topics.yml
+++ b/activerecord/test/fixtures/topics.yml
@@ -8,7 +8,7 @@ first:
bonus_time: 2005-01-30t15:28:00.00+01:00
content: Have a nice day
approved: false
- replies_count: 0
+ replies_count: 1
second:
id: 2
@@ -17,6 +17,6 @@ second:
written_on: 2003-07-15t15:28:00.00+01:00
content: Have a nice day
approved: true
- replies_count: 2
+ replies_count: 0
parent_id: 1
type: Reply