diff test/unit/user_preference_test.rb @ 1115:433d4f72a19b redmine-2.2

Update to Redmine SVN revision 11137 on 2.2-stable branch
author Chris Cannam
date Mon, 07 Jan 2013 12:01:42 +0000
parents cbb26bc654de
children 622f24f53b42 261b3d9a4903
line wrap: on
line diff
--- a/test/unit/user_preference_test.rb	Wed Jun 27 14:54:18 2012 +0100
+++ b/test/unit/user_preference_test.rb	Mon Jan 07 12:01:42 2013 +0000
@@ -1,5 +1,5 @@
 # Redmine - project management software
-# Copyright (C) 2006-2011  Jean-Philippe Lang
+# Copyright (C) 2006-2012  Jean-Philippe Lang
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
@@ -40,4 +40,33 @@
     user.reload
     assert_equal 'value', user.pref['preftest']
   end
+
+  def test_others_hash
+    user = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo")
+    user.login = "newuser"
+    user.password, user.password_confirmation = "password", "password"
+    assert user.save
+    assert_nil user.preference
+    up = UserPreference.new(:user => user)
+    assert_kind_of Hash, up.others
+    up.others = nil
+    assert_nil up.others
+    assert up.save
+    assert_kind_of Hash, up.others
+  end
+
+  def test_reading_value_from_nil_others_hash
+    up = UserPreference.new(:user => User.new)
+    up.others = nil
+    assert_nil up.others
+    assert_nil up[:foo]
+  end
+
+  def test_writing_value_to_nil_others_hash
+    up = UserPreference.new(:user => User.new)
+    up.others = nil
+    assert_nil up.others
+    up[:foo] = 'bar'
+    assert_equal 'bar', up[:foo]
+  end
 end