mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Merge branch 'master' into nested_has_many_through
This commit is contained in:
@@ -69,7 +69,7 @@ module ActionView
|
||||
def register_javascript_expansion(expansions)
|
||||
js_expansions = JavascriptIncludeTag.expansions
|
||||
expansions.each do |key, values|
|
||||
js_expansions[key] = (js_expansions[key] || []) | Array(values) if values
|
||||
js_expansions[key] = (js_expansions[key] || []) | Array(values)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -46,7 +46,7 @@ module ActionView
|
||||
def register_stylesheet_expansion(expansions)
|
||||
style_expansions = StylesheetIncludeTag.expansions
|
||||
expansions.each do |key, values|
|
||||
style_expansions[key] = (style_expansions[key] || []) | Array(values) if values
|
||||
style_expansions[key] = (style_expansions[key] || []) | Array(values)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -303,8 +303,17 @@ class AssetTagHelperTest < ActionView::TestCase
|
||||
end
|
||||
|
||||
def test_custom_javascript_expansions_with_undefined_symbol
|
||||
assert_raise(ArgumentError) { javascript_include_tag('first', :unknown, 'last') }
|
||||
end
|
||||
|
||||
def test_custom_javascript_expansions_with_nil_value
|
||||
ActionView::Helpers::AssetTagHelper::register_javascript_expansion :monkey => nil
|
||||
assert_raise(ArgumentError) { javascript_include_tag('first', :monkey, 'last') }
|
||||
assert_dom_equal %(<script src="/javascripts/first.js" type="text/javascript"></script>\n<script src="/javascripts/last.js" type="text/javascript"></script>), javascript_include_tag('first', :monkey, 'last')
|
||||
end
|
||||
|
||||
def test_custom_javascript_expansions_with_empty_array_value
|
||||
ActionView::Helpers::AssetTagHelper::register_javascript_expansion :monkey => []
|
||||
assert_dom_equal %(<script src="/javascripts/first.js" type="text/javascript"></script>\n<script src="/javascripts/last.js" type="text/javascript"></script>), javascript_include_tag('first', :monkey, 'last')
|
||||
end
|
||||
|
||||
def test_custom_javascript_and_stylesheet_expansion_with_same_name
|
||||
@@ -379,9 +388,18 @@ class AssetTagHelperTest < ActionView::TestCase
|
||||
assert_dom_equal %(<link href="/stylesheets/london.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/wellington.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/stylesheets/amsterdam.css" media="screen" rel="stylesheet" type="text/css" />), stylesheet_link_tag('london', :cities)
|
||||
end
|
||||
|
||||
def test_custom_stylesheet_expansions_with_undefined_symbol
|
||||
def test_custom_stylesheet_expansions_with_unknown_symbol
|
||||
assert_raise(ArgumentError) { stylesheet_link_tag('first', :unknown, 'last') }
|
||||
end
|
||||
|
||||
def test_custom_stylesheet_expansions_with_nil_value
|
||||
ActionView::Helpers::AssetTagHelper::register_stylesheet_expansion :monkey => nil
|
||||
assert_raise(ArgumentError) { stylesheet_link_tag('first', :monkey, 'last') }
|
||||
assert_dom_equal %(<link href="/stylesheets/first.css" rel="stylesheet" type="text/css" media="screen" />\n<link href="/stylesheets/last.css" rel="stylesheet" type="text/css" media="screen" />), stylesheet_link_tag('first', :monkey, 'last')
|
||||
end
|
||||
|
||||
def test_custom_stylesheet_expansions_with_empty_array_value
|
||||
ActionView::Helpers::AssetTagHelper::register_stylesheet_expansion :monkey => []
|
||||
assert_dom_equal %(<link href="/stylesheets/first.css" rel="stylesheet" type="text/css" media="screen" />\n<link href="/stylesheets/last.css" rel="stylesheet" type="text/css" media="screen" />), stylesheet_link_tag('first', :monkey, 'last')
|
||||
end
|
||||
|
||||
def test_registering_stylesheet_expansions_merges_with_existing_expansions
|
||||
|
||||
@@ -163,10 +163,6 @@
|
||||
end
|
||||
|
||||
[Santiago Pastorino]
|
||||
<<<<<<< Updated upstream
|
||||
>>>>>>> association_fixes
|
||||
=======
|
||||
>>>>>>> Stashed changes
|
||||
|
||||
* Setting the id of a belongs_to object will update the reference to the
|
||||
object. [#2989 state:resolved]
|
||||
|
||||
@@ -33,8 +33,13 @@ module ActiveRecord
|
||||
through_options
|
||||
).run
|
||||
|
||||
# TODO: Verify that this is actually necessary and not just a symptom of an
|
||||
# underlying inefficiency
|
||||
identity_map = {}
|
||||
|
||||
Hash[owners.map do |owner|
|
||||
through_records = Array.wrap(owner.send(through_reflection.name))
|
||||
through_records.map! { |record| identity_map[record] ||= record }
|
||||
|
||||
# Dont cache the association - we would only be caching a subset
|
||||
if reflection.options[:source_type] && through_reflection.collection?
|
||||
|
||||
Reference in New Issue
Block a user