wait, nevermind turns out there was a callback that was being hidden - and triggering a different error
all's well On Nov 21, 9:34 am, Andy Koch <andy.k...@pc-doctor.com> wrote: > Hi, > > I'm getting invalid results when testing a Regex in a format > validation on a Rails model. > > Code is... > > # in Model > # allow '- n/a -' or alphanum with _ -- no spaces > validates_format_of :test_name, :with => /\A[A-Za-z0-9_]+\z/, :unless > => lambda{|x| x.test_name == '- n/a -'} > > # in spec > hardware_test = Factory.build(:hardware_test, :test_name => '- n/a -') > hardware_test.should be_valid, "'#{hardware_test.test_name}' - should > be valid" > > # spec result > 3) > 'HardwareTest should properly validate test_name format' FAILED > '- n/a -' - should be valid > ./spec/models/hardware_test_spec.rb:34: > > # finally, from console > a...@hst-26-147 (Rails234)->sc > Loading development environment (Rails 2.3.4)>> a = > HardwareTest.new(:test_name => '- n/a -') > > => #<HardwareTest id: nil, test_name: "- n/a -", code_module_id: nil, > test_description: nil, test_reviewed: false, interactive: false, > loopback: false, factory: false, media: false, test_category_id: nil, > created_at: nil, updated_at: nil, creator_id: nil, updater_id: nil>>> a.valid? > > => true > > Granted the console is in dev, not test, but I still don't get it. > Literally pulled on my hair on this one. I've tried altering the > Regex many times - adding the :unless => lambda was my last effort. > > I can't see how this isn't passing. > > Thanks for any help > _______________________________________________ > rspec-users mailing list > rspec-us...@rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users