diff options
author | José Valim <jose.valim@gmail.com> | 2009-12-25 21:35:40 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-12-25 21:35:40 +0100 |
commit | ee70d1b6ad9b79d2c3d284e78af4e20416575ea8 (patch) | |
tree | 41b15c70dd3611417d4081725fdf738c530bd36b /actionmailer/test/adv_attr_test.rb | |
parent | 135d32c8bd91608c12a394ca5dbd65f358bbce42 (diff) | |
download | rails-ee70d1b6ad9b79d2c3d284e78af4e20416575ea8.tar.gz rails-ee70d1b6ad9b79d2c3d284e78af4e20416575ea8.tar.bz2 rails-ee70d1b6ad9b79d2c3d284e78af4e20416575ea8.zip |
adv_attr_accessors in ActionMailer are not sent to the views, use the mailer object if you need to access the subject, recipients, from, etc.
Diffstat (limited to 'actionmailer/test/adv_attr_test.rb')
-rw-r--r-- | actionmailer/test/adv_attr_test.rb | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/actionmailer/test/adv_attr_test.rb b/actionmailer/test/adv_attr_test.rb index fd909a5627..f22d733bc5 100644 --- a/actionmailer/test/adv_attr_test.rb +++ b/actionmailer/test/adv_attr_test.rb @@ -1,18 +1,36 @@ require 'abstract_unit' require 'action_mailer/adv_attr_accessor' -class AdvAttrTest < Test::Unit::TestCase +class AdvAttrTest < ActiveSupport::TestCase class Person - include ActionMailer::AdvAttrAccessor + cattr_reader :protected_instance_variables + @@protected_instance_variables = [] + + extend ActionMailer::AdvAttrAccessor adv_attr_accessor :name end + def setup + @person = Person.new + end + def test_adv_attr - bob = Person.new - assert_nil bob.name - bob.name 'Bob' - assert_equal 'Bob', bob.name + assert_nil @person.name + @person.name 'Bob' + assert_equal 'Bob', @person.name + end + + def test_adv_attr_writer + assert_nil @person.name + @person.name = 'Bob' + assert_equal 'Bob', @person.name + end + + def test_raise_an_error_with_multiple_args + assert_raise(ArgumentError) { @person.name('x', 'y') } + end - assert_raise(ArgumentError) {bob.name 'x', 'y'} + def test_ivar_is_added_to_protected_instnace_variables + assert Person.protected_instance_variables.include?('@name') end end |