In tracking down a bug in AuthLogic I realized that I had made the same error in one of my libraries. Knowing what the error was made creating a test to expose it (using cucumber) rather trivial. However, it has occurred to me that this sort of issue is far more subtle than I first appreciated. So, I am looking for some opinions on how to test for this sort of thing in a more general sense.
At issue is the setting of config values in environment.rb files and their influence on user code. In the specific case I encountered this code demonstrates the essence of the situation: def active_row? time_now = DateTime.now return true if (effective_from <= time_now and (not superseded_after or superseded_after >= time_now )) return false end The error is that the time_now assignment is not testing whether or not the default AR time is utc. The correct code is: def active_row? if self.class.default_timezone == :utc time_now = DateTime.now.utc else time_now = DateTime.now end return true if (effective_from <= time_now and (not superseded_after or superseded_after >= time_now )) return false end My question is: How does one vary the config.default_timezone, or any configuration value for that matter, in a cucumber step definition or RSpec test? -- Posted via http://www.ruby-forum.com/. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users