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-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users