Commit 8398fa805d2c6106b446280566cb9c87d430711d
1 parent
b0370b85
Exists in
master
and in
29 other branches
ActionItem373: make tests for language selector
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1931 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
29 additions
and
14 deletions
Show diff stats
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 |