Commit 8398fa805d2c6106b446280566cb9c87d430711d

Authored by JoenioCosta
1 parent b0370b85

ActionItem373: make tests for language selector


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1931 3f533792-8f58-4932-b0fe-aaf55b0a4547
test/functional/application_controller_test.rb
... ... @@ -143,4 +143,23 @@ class ApplicationControllerTest < Test::Unit::TestCase
143 143 assert_no_tag :tag => 'a', :content => /Category 2/
144 144 end
145 145  
  146 + should 'display dropdown for select language' do
  147 + Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once
  148 + get :index, :lang => 'en'
  149 + assert_tag :tag => 'option', :attributes => { :value => 'en', :selected => 'selected' }, :content => 'English'
  150 + assert_no_tag :tag => 'option', :attributes => { :value => 'pt_BR', :selected => 'selected' }, :content => 'Português Brasileiro'
  151 + assert_tag :tag => 'option', :attributes => { :value => 'pt_BR' }, :content => 'Português Brasileiro'
  152 + assert_tag :tag => 'option', :attributes => { :value => 'fr' }, :content => 'Français'
  153 + assert_tag :tag => 'option', :attributes => { :value => 'it' }, :content => 'Italiano'
  154 + end
  155 +
  156 + should 'display links for select language' do
  157 + Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once
  158 + get :index, :lang => 'en'
  159 + assert_no_tag :tag => 'a', :attributes => { :href => /\?lang=en/ }, :content => 'English'
  160 + assert_tag :tag => 'a', :attributes => { :href => /\?lang=pt_BR/ }, :content => 'Português Brasileiro'
  161 + assert_tag :tag => 'a', :attributes => { :href => /\?lang=fr/ }, :content => 'Français'
  162 + assert_tag :tag => 'a', :attributes => { :href => /\?lang=it/ }, :content => 'Italiano'
  163 + end
  164 +
146 165 end
... ...
test/unit/language_helper_test.rb
... ... @@ -4,6 +4,7 @@ class LanguageHelperTest < Test::Unit::TestCase
4 4  
5 5 include LanguageHelper
6 6  
  7 +
7 8 should 'return current language' do
8 9 locale = mock
9 10 locale.expects(:to_s).returns('pt_BR')
... ... @@ -36,25 +37,20 @@ class LanguageHelperTest < Test::Unit::TestCase
36 37  
37 38 end
38 39  
  40 + include ActionView::Helpers::FormOptionsHelper
  41 + include ActionView::Helpers::FormTagHelper
39 42 should 'generate drodown language chooser correcly' do
40 43 Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once
41 44  
42   - self.expects(:language).returns('pt_BR')
  45 + self.expects(:language).returns('en')
43 46 result = self.language_chooser(:element => 'dropdown')
44 47 assert_match /<option value="en" selected="selected">English<\/option>/, result
45   -
46   - #assert_match /<strong>Português Brasileiro<\/strong>/, result
47   - #assert_no_match /<strong>English<\/strong>/, result
48   - #assert_no_match /<strong>Français<\/strong>/, result
49   - #assert_no_match /<strong>Italiano<\/strong>/, result
50   -
51   - #self.expects(:language).returns('fr')
52   - #result = self.language_chooser
53   - #assert_no_match /<strong>Português Brasileiro<\/strong>/, result
54   - #assert_no_match /<strong>English<\/strong>/, result
55   - #assert_match /<strong>Français<\/strong>/, result
56   - #assert_no_match /<strong>Italiano<\/strong>/, result
57   -
  48 + assert_match /<option value="pt_BR">Português Brasileiro<\/option>/, result
  49 + assert_match /<option value="fr">Français<\/option>/, result
  50 + assert_match /<option value="it">Italiano<\/option>/, result
  51 + assert_no_match /<option value="pt_BR" selected="selected">Português Brasileiro<\/option>/, result
  52 + assert_no_match /<option value="fr" selected="selected">Français<\/option>/, result
  53 + assert_no_match /<option value="it" selected="selected">Italiano<\/option>/, result
58 54 end
59 55  
60 56 protected
... ...