aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/abstract/translation_test.rb
blob: 4fdc480b437bc4e4224f09c9a0b6e25f7d3585cc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
require 'abstract_unit'

module AbstractController
  module Testing
    class TranslationController < AbstractController::Base
      include AbstractController::Translation
    end

    class TranslationControllerTest < ActiveSupport::TestCase
      def setup
        @controller = TranslationController.new
      end

      def test_action_controller_base_responds_to_translate
        assert_respond_to @controller, :translate
      end

      def test_action_controller_base_responds_to_t
        assert_respond_to @controller, :t
      end

      def test_action_controller_base_responds_to_localize
        assert_respond_to @controller, :localize
      end

      def test_action_controller_base_responds_to_l
        assert_respond_to @controller, :l
      end

      def test_lazy_lookup
        expected = 'bar'
        @controller.stubs(action_name: :index)
        I18n.stubs(:translate).with('abstract_controller.testing.translation.index.foo').returns(expected)
        assert_equal expected, @controller.t('.foo')
      end

      def test_default_translation
        key, expected = 'one.two', 'bar'
        I18n.stubs(:translate).with(key).returns(expected)
        assert_equal expected, @controller.t(key)
      end

      def test_localize
        time, expected = Time.gm(2000), 'Sat, 01 Jan 2000 00:00:00 +0000'
        I18n.stubs(:localize).with(time).returns(expected)
        assert_equal expected, @controller.l(time)
      end
    end
  end
end