diff test/integration/lib/redmine/themes_test.rb @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents e248c7af89ec
children
line wrap: on
line diff
--- a/test/integration/lib/redmine/themes_test.rb	Tue Sep 09 09:28:31 2014 +0100
+++ b/test/integration/lib/redmine/themes_test.rb	Tue Sep 09 09:29:00 2014 +0100
@@ -32,16 +32,14 @@
     get '/'
 
     assert_response :success
-    assert_tag :tag => 'link',
-      :attributes => {:href => %r{^/themes/#{@theme.dir}/stylesheets/application.css}}
+    assert_select "link[rel=stylesheet][href^=/themes/#{@theme.dir}/stylesheets/application.css]"
   end
 
   def test_without_theme_js
     get '/'
 
     assert_response :success
-    assert_no_tag :tag => 'script',
-      :attributes => {:src => %r{^/themes/#{@theme.dir}/javascripts/theme.js}}
+    assert_select "script[src^=/themes/#{@theme.dir}/javascripts/theme.js]", 0
   end
 
   def test_with_theme_js
@@ -50,24 +48,51 @@
     get '/'
 
     assert_response :success
-    assert_tag :tag => 'script',
-      :attributes => {:src => %r{^/themes/#{@theme.dir}/javascripts/theme.js}}
-
+    assert_select "script[src^=/themes/#{@theme.dir}/javascripts/theme.js]", 1
   ensure
     @theme.javascripts.delete 'theme'
   end
 
+  def test_use_default_favicon_if_theme_provides_none
+    get '/'
+
+    assert_response :success
+    assert_select 'link[rel=shortcut icon][href^=/favicon.ico]'
+  end
+
+  def test_use_theme_favicon_if_theme_provides_one
+    # Simulate a theme favicon
+    @theme.favicons << 'a.ico'
+    get '/'
+
+    assert_response :success
+    assert_select "link[rel=shortcut icon][href^=/themes/#{@theme.dir}/favicon/a.ico]"
+  ensure
+    @theme.favicons.delete 'a.ico'
+  end
+
+  def test_use_only_one_theme_favicon_if_theme_provides_many
+    @theme.favicons.concat %w{b.ico a.png}
+    get '/'
+
+    assert_response :success
+    assert_select "link[rel=shortcut icon]", 1
+    assert_select "link[rel=shortcut icon][href^=/themes/#{@theme.dir}/favicon/b.ico]"
+  ensure
+    @theme.favicons.delete("b.ico")
+    @theme.favicons.delete("a.png")
+  end
+
   def test_with_sub_uri
     Redmine::Utils.relative_url_root = '/foo'
     @theme.javascripts << 'theme'
+    @theme.favicons << 'a.ico'
     get '/'
 
     assert_response :success
-    assert_tag :tag => 'link',
-      :attributes => {:href => %r{^/foo/themes/#{@theme.dir}/stylesheets/application.css}}
-    assert_tag :tag => 'script',
-      :attributes => {:src => %r{^/foo/themes/#{@theme.dir}/javascripts/theme.js}}
-
+    assert_select "link[rel=stylesheet][href^=/foo/themes/#{@theme.dir}/stylesheets/application.css]"
+    assert_select "script[src^=/foo/themes/#{@theme.dir}/javascripts/theme.js]"
+    assert_select "link[rel=shortcut icon][href^=/foo/themes/#{@theme.dir}/favicon/a.ico]"
   ensure
     Redmine::Utils.relative_url_root = ''
   end