From af5301089f38b9aad9a92424d5fa8f9a9b27c4e1 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Wed, 17 Jun 2009 20:36:21 -0500 Subject: Add simple attribute implementation backed by ivars --- activemodel/test/cases/attributes_test.rb | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 activemodel/test/cases/attributes_test.rb (limited to 'activemodel/test/cases/attributes_test.rb') diff --git a/activemodel/test/cases/attributes_test.rb b/activemodel/test/cases/attributes_test.rb new file mode 100644 index 0000000000..5f3ea839a4 --- /dev/null +++ b/activemodel/test/cases/attributes_test.rb @@ -0,0 +1,30 @@ +require 'cases/helper' + +class AttributesTest < ActiveModel::TestCase + class Person + include ActiveModel::Attributes + attr_accessor :name + end + + test "reads attribute" do + p = Person.new + assert_equal nil, p.read_attribute(:name) + + p.name = "Josh" + assert_equal "Josh", p.read_attribute(:name) + end + + test "writes attribute" do + p = Person.new + assert_equal nil, p.name + + p.write_attribute(:name, "Josh") + assert_equal "Josh", p.name + end + + test "returns all attributes" do + p = Person.new + p.name = "Josh" + assert_equal({"name" => "Josh"}, p.attributes) + end +end -- cgit v1.2.3