Sha256: b5ab444f97d1d17d0c48b1141670063ed041e49c37ba34aedc1e49c2e1e2e3d5
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
require File.expand_path("../lib/scrivener", File.dirname(__FILE__)) class S < Scrivener attr_accessor :a attr_accessor :b end scope do test "raise when there are extra fields" do atts = { :a => 1, :b => 2, :c => 3 } assert_raise NoMethodError do s = S.new(atts) end end test "not raise when there are less fields" do atts = { :a => 1 } assert s = S.new(atts) end test "return attributes" do atts = { :a => 1, :b => 2 } s = S.new(atts) assert_equal atts, s.attributes end end class T < Scrivener attr_accessor :a attr_accessor :b def validate assert_present :a assert_present :b end end scope do test "validations" do atts = { :a => 1, :b => 2 } t = T.new(atts) assert t.valid? end test "validation errors" do atts = { :a => 1 } t = T.new(atts) assert_equal false, t.valid? assert_equal [], t.errors[:a] assert_equal [:not_present], t.errors[:b] end test "attributes without @errors" do atts = { :a => 1, :b => 2 } t = T.new(atts) t.valid? assert_equal atts, t.attributes end end class Quote include Scrivener::Validations attr_accessor :foo def validate assert_present :foo end end scope do test "validations without Scrivener" do q = Quote.new q.foo = 1 assert q.valid? q = Quote.new assert_equal false, q.valid? assert_equal [:not_present], q.errors[:foo] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
scrivener-0.0.2 | test/scrivener_test.rb |