annotate test/functional/application_controller_test.rb @ 857:a1a87bc044b8 feature_199

Close obsolete branch feature_199
author Chris Cannam
date Wed, 13 Jul 2011 11:51:42 +0100
parents af80e5618e9b
children 0c939c159af4
rev   line source
Chris@0 1 # redMine - project management software
Chris@0 2 # Copyright (C) 2006-2007 Jean-Philippe Lang
Chris@0 3 #
Chris@0 4 # This program is free software; you can redistribute it and/or
Chris@0 5 # modify it under the terms of the GNU General Public License
Chris@0 6 # as published by the Free Software Foundation; either version 2
Chris@0 7 # of the License, or (at your option) any later version.
Chris@0 8 #
Chris@0 9 # This program is distributed in the hope that it will be useful,
Chris@0 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@0 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@0 12 # GNU General Public License for more details.
Chris@0 13 #
Chris@0 14 # You should have received a copy of the GNU General Public License
Chris@0 15 # along with this program; if not, write to the Free Software
Chris@0 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Chris@0 17
Chris@117 18 require File.expand_path('../../test_helper', __FILE__)
Chris@0 19 require 'application_controller'
Chris@0 20
Chris@0 21 # Re-raise errors caught by the controller.
Chris@0 22 class ApplicationController; def rescue_action(e) raise e end; end
Chris@0 23
Chris@0 24 class ApplicationControllerTest < ActionController::TestCase
Chris@0 25 include Redmine::I18n
Chris@0 26
Chris@0 27 def setup
Chris@0 28 @controller = ApplicationController.new
Chris@0 29 @request = ActionController::TestRequest.new
Chris@0 30 @response = ActionController::TestResponse.new
Chris@0 31 end
Chris@0 32
Chris@0 33 # check that all language files are valid
Chris@0 34 def test_localization
Chris@0 35 lang_files_count = Dir["#{RAILS_ROOT}/config/locales/*.yml"].size
Chris@0 36 assert_equal lang_files_count, valid_languages.size
Chris@0 37 valid_languages.each do |lang|
Chris@0 38 assert set_language_if_valid(lang)
Chris@0 39 end
Chris@0 40 set_language_if_valid('en')
Chris@0 41 end
Chris@0 42
Chris@0 43 def test_call_hook_mixed_in
Chris@0 44 assert @controller.respond_to?(:call_hook)
Chris@0 45 end
Chris@117 46
Chris@117 47 context "test_api_offset_and_limit" do
Chris@117 48 context "without params" do
Chris@117 49 should "return 0, 25" do
Chris@117 50 assert_equal [0, 25], @controller.api_offset_and_limit({})
Chris@117 51 end
Chris@117 52 end
Chris@117 53
Chris@117 54 context "with limit" do
Chris@117 55 should "return 0, limit" do
Chris@117 56 assert_equal [0, 30], @controller.api_offset_and_limit({:limit => 30})
Chris@117 57 end
Chris@117 58
Chris@117 59 should "not exceed 100" do
Chris@117 60 assert_equal [0, 100], @controller.api_offset_and_limit({:limit => 120})
Chris@117 61 end
Chris@117 62
Chris@117 63 should "not be negative" do
Chris@117 64 assert_equal [0, 25], @controller.api_offset_and_limit({:limit => -10})
Chris@117 65 end
Chris@117 66 end
Chris@117 67
Chris@117 68 context "with offset" do
Chris@117 69 should "return offset, 25" do
Chris@117 70 assert_equal [10, 25], @controller.api_offset_and_limit({:offset => 10})
Chris@117 71 end
Chris@117 72
Chris@117 73 should "not be negative" do
Chris@117 74 assert_equal [0, 25], @controller.api_offset_and_limit({:offset => -10})
Chris@117 75 end
Chris@117 76
Chris@117 77 context "and limit" do
Chris@117 78 should "return offset, limit" do
Chris@117 79 assert_equal [10, 50], @controller.api_offset_and_limit({:offset => 10, :limit => 50})
Chris@117 80 end
Chris@117 81 end
Chris@117 82 end
Chris@117 83
Chris@117 84 context "with page" do
Chris@117 85 should "return offset, 25" do
Chris@117 86 assert_equal [0, 25], @controller.api_offset_and_limit({:page => 1})
Chris@117 87 assert_equal [50, 25], @controller.api_offset_and_limit({:page => 3})
Chris@117 88 end
Chris@117 89
Chris@117 90 should "not be negative" do
Chris@117 91 assert_equal [0, 25], @controller.api_offset_and_limit({:page => 0})
Chris@117 92 assert_equal [0, 25], @controller.api_offset_and_limit({:page => -2})
Chris@117 93 end
Chris@117 94
Chris@117 95 context "and limit" do
Chris@117 96 should "return offset, limit" do
Chris@117 97 assert_equal [0, 100], @controller.api_offset_and_limit({:page => 1, :limit => 100})
Chris@117 98 assert_equal [200, 100], @controller.api_offset_and_limit({:page => 3, :limit => 100})
Chris@117 99 end
Chris@117 100 end
Chris@117 101 end
Chris@117 102 end
Chris@0 103 end