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,4 +143,23 @@ class ApplicationControllerTest < Test::Unit::TestCase
143 assert_no_tag :tag => 'a', :content => /Category 2/ 143 assert_no_tag :tag => 'a', :content => /Category 2/
144 end 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 end 165 end
test/unit/language_helper_test.rb
@@ -4,6 +4,7 @@ class LanguageHelperTest < Test::Unit::TestCase @@ -4,6 +4,7 @@ class LanguageHelperTest < Test::Unit::TestCase
4 4
5 include LanguageHelper 5 include LanguageHelper
6 6
  7 +
7 should 'return current language' do 8 should 'return current language' do
8 locale = mock 9 locale = mock
9 locale.expects(:to_s).returns('pt_BR') 10 locale.expects(:to_s).returns('pt_BR')
@@ -36,25 +37,20 @@ class LanguageHelperTest < Test::Unit::TestCase @@ -36,25 +37,20 @@ class LanguageHelperTest < Test::Unit::TestCase
36 37
37 end 38 end
38 39
  40 + include ActionView::Helpers::FormOptionsHelper
  41 + include ActionView::Helpers::FormTagHelper
39 should 'generate drodown language chooser correcly' do 42 should 'generate drodown language chooser correcly' do
40 Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once 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 result = self.language_chooser(:element => 'dropdown') 46 result = self.language_chooser(:element => 'dropdown')
44 assert_match /<option value="en" selected="selected">English<\/option>/, result 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 end 54 end
59 55
60 protected 56 protected