test/twin/inherit_test.rb in disposable-0.2.5 vs test/twin/inherit_test.rb in disposable-0.2.6
- old
+ new
@@ -52,6 +52,34 @@
# inherit inline twins when not overriding.
it { Twin::EmptyCompilation.new(album).artist.artist_id.must_equal 1 }
# inherit inline twins when overriding.
it { Twin::Compilation.new(album).artist.artist_id.must_equal 1 }
-end
\ No newline at end of file
+
+ describe "custom accessors get inherited" do
+ class Singer < Disposable::Twin
+ property :name
+
+ def name
+ super.reverse
+ end
+
+ def name=(val)
+ super(val.downcase)
+ end
+ end
+
+ class Star < Singer
+ end
+
+ let (:model) { Model::Artist.new("Helloween") }
+
+ it do
+ artist = Star.new(model)
+ artist.name.must_equal("neewolleh")
+
+ artist.name = "HELLOWEEN"
+ # artist.with_custom_setter = "this gets ignored"
+ artist.name.must_equal("neewolleh")
+ end
+ end
+end