module ActiveRecord; class Base; end; end require 'rubygems' require 'active_support' require 'test/unit' require File.join(File.dirname(__FILE__), *%w[.. lib local_time]) # test requires tzinfo_timezone plugin to be installed in same dir in order to run require File.join(File.dirname(__FILE__), *%w[.. .. tzinfo_timezone lib tzinfo_timezone]) class LocalTimeTest < Test::Unit::TestCase include LocalTime local_time :time def test_local_time_should_show_time_difference assert_equal time + 2.hours, local_time end def test_setting_local_time_should_set_time_correctly new_time = (4.days.from_now).getutc self.local_time = new_time assert_equal new_time, local_time assert_equal new_time - 2.hours, time end protected def timezone 'Paris' end def time @time ||= Time.now.getutc end def time=(val) @time = val end def write_attribute(attr, val) send "#{attr}=".to_sym, val end def read_attribute(attr) send attr end end