aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/lib
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/test/lib')
-rw-r--r--actionpack/test/lib/fixture_template.rb13
1 files changed, 8 insertions, 5 deletions
diff --git a/actionpack/test/lib/fixture_template.rb b/actionpack/test/lib/fixture_template.rb
index d287fae470..b49ccd39ca 100644
--- a/actionpack/test/lib/fixture_template.rb
+++ b/actionpack/test/lib/fixture_template.rb
@@ -1,5 +1,7 @@
module ActionView #:nodoc:
class FixtureResolver < PathResolver
+ attr_reader :hash
+
def initialize(hash = {})
super()
@hash = hash
@@ -7,19 +9,20 @@ module ActionView #:nodoc:
private
- def query(partial, path, exts)
+ def query(path, exts, formats)
query = Regexp.escape(path)
exts.each do |ext|
- query << '(?:' << ext.map {|e| e && Regexp.escape(".#{e}") }.join('|') << ')'
+ query << '(' << ext.map {|e| e && Regexp.escape(".#{e}") }.join('|') << '|)'
end
templates = []
@hash.select { |k,v| k =~ /^#{query}$/ }.each do |path, source|
- handler, format = extract_handler_and_format(path)
+ handler, format = extract_handler_and_format(path, formats)
templates << Template.new(source, path, handler,
- :partial => partial, :virtual_path => path, :format => format)
+ :virtual_path => path, :format => format)
end
- templates.sort_by {|t| -t.formats.size }
+
+ templates.sort_by {|t| -t.identifier.match(/^#{query}$/).captures.reject(&:blank?).size }
end
end