From:
svn-streamli... @thinkrelevance.com
Date: Thu, 5 Jun 2008 21:15:42 -0400 (EDT)
Local: Thurs, Jun 5 2008 9:15 pm
Subject: [Streamlined][871] Major refactoring to support Rails 2.1
Revision 871
Author stu
Date 2008-06-05 21:15:42 -0400 (Thu, 05 Jun 2008)
Log Message
Major refactoring to support Rails 2.1
* rendering now converts :action,:template, and :partial arguments to full file paths
* internally, streamlined uses new render_streamlined_file helper to render w/o checking outside streamlined
* generic_view implementation now shared by views, controllers, and Test::Unit
* render deprecated_status argument has *different* default values in different versions of Rails
Modified Paths
Diff
Modified: edge/streamlined/faux_rails_root/app/views/layouts/streamlined.html.erb (870 => 871)
--- edge/streamlined/faux_rails_root/app/views/layouts/streamlined.html.erb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/faux_rails_root/app/views/layouts/streamlined.html.erb 2008-06-06 01:15:42 UTC (rev 871)
@@ -23,7 +23,7 @@
<div id="left">
<%= render(:partial => "shared/streamlined/side_menu")%>
<% if advanced_filtering %>
- <%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/filter' %>
+ <%= render_streamlined_file '/shared/_filter.rhtml' %>
<% end %>
</div>
<div id="center">
Modified: edge/streamlined/faux_rails_root/app/views/layouts/streamlined.rhtml (870 => 871)
--- edge/streamlined/faux_rails_root/app/views/layouts/streamlined.rhtml 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/faux_rails_root/app/views/layouts/streamlined.rhtml 2008-06-06 01:15:42 UTC (rev 871)
@@ -23,7 +23,7 @@
<div id="left">
<%= render(:partial => "shared/streamlined/side_menu")%>
<% if advanced_filtering %>
- <%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/filter' %>
+ <%= render :file => STREAMLINED_TEMPLATE_ROOT + '/shared/_filter' %>
<% end %>
</div>
<div id="center">
Modified: edge/streamlined/files/app/views/layouts/streamlined.rhtml (870 => 871)
--- edge/streamlined/files/app/views/layouts/streamlined.rhtml 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/files/app/views/layouts/streamlined.rhtml 2008-06-06 01:15:42 UTC (rev 871)
@@ -23,7 +23,7 @@
<div id="left">
<%= render(:partial => "shared/streamlined/side_menu")%>
<% if advanced_filtering %>
- <%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/filter' %>
+ <%= render_streamlined_file '/shared/_filter.rhtml' %>
<% end %>
</div>
<div id="center">
Modified: edge/streamlined/lib/streamlined/controller/crud_methods.rb (870 => 871)
--- edge/streamlined/lib/streamlined/controller/crud_methods.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/lib/streamlined/controller/crud_methods.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -172,7 +172,7 @@
def export_xml
if params[:format] == "EnhancedXML"
@xml_file = false
- render :template => STREAMLINED_TEMPLATE_ROOT + '/generic_views/list.rxml', :layout => false
+ render_streamlined_file '/generic_views/list.rxml', :layout => false
else
render :xml => @streamlined_items.to_xml
end
@@ -182,13 +182,13 @@
@xml_file = true
headers["Content-Type"] = "text/xml"
headers["Content-Disposition"] = "attachment; filename=\"#{Inflector.tableize(model_name)}_#{Time.now.strftime('%Y%m%d')}.xml\""
- render :template => STREAMLINED_TEMPLATE_ROOT + '/generic_views/list.rxml', :layout => false
+ render_streamlined_file '/generic_views/list.rxml', :layout => false
end
def export_xml_stylesheet
headers["Content-Type"] = "text/xml"
headers["Content-Disposition"] = "attachment; filename=\"#{model_underscore}.xsl\""
- render :template => STREAMLINED_TEMPLATE_ROOT + '/generic_views/stylesheet.rxml', :layout => false
+ render_streamlined_file '/generic_views/stylesheet.rxml', :layout => false
end
def exporting
Modified: edge/streamlined/lib/streamlined/controller/enumeration_methods.rb (870 => 871)
--- edge/streamlined/lib/streamlined/controller/enumeration_methods.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/lib/streamlined/controller/enumeration_methods.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -23,7 +23,7 @@
def update_enumeration
self.instance = model.find(params[:id])
item = (params[:item] == 'nil') ? nil : params[:item]
- instance.update_attribute(params[:rel_name].to_sym, item)
+ instance.update_attribute(params[:rel_name], item)
render(:nothing => true)
end
-end
\ No newline at end of file
+end
Modified: edge/streamlined/lib/streamlined/controller/filter_methods.rb (870 => 871)
--- edge/streamlined/lib/streamlined/controller/filter_methods.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/lib/streamlined/controller/filter_methods.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -5,7 +5,7 @@
@column = params[:filter_column]
@value = params[:filter_value]
@conditions = build_filter(:add, nil, @column, @value)
- render :template => STREAMLINED_TEMPLATE_ROOT + '/shared/add_filter.rjs'
+ render_streamlined_file '/shared/add_filter.rjs'
# if filter_session_expired
# render :update do |page|
# page.replace_html "advanced_filter", :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/new_filter', :layout => false
@@ -25,7 +25,7 @@
def delete_filter
if filter_session_expired
- render :template => STREAMLINED_TEMPLATE_ROOT + '/shared/filter_session_expired.rjs'
+ render_streamlined_file '/shared/filter_session_expired.rjs'
# render :update do |page|
# page << "$('page_options_advanced_filter').value = \"\" "
# page.replace_html "advanced_filter", ""
@@ -34,7 +34,7 @@
else
@filter_num = params[:id]
@conditions = build_filter(:delete, @filter_num, nil, nil)
- render :template => STREAMLINED_TEMPLATE_ROOT + '/shared/delete_filter.rjs'
+ render_streamlined_file '/shared/delete_filter.rjs'
# render :update do |page|
# page.remove "filter_#{@filter_num}"
# page << "$('page_options_advanced_filter').value = \"#{@conditions}\" "
@@ -46,7 +46,7 @@
# Update a filter in repsonse to it being changed on the screen
def update_filter
if filter_session_expired
- render :template => STREAMLINED_TEMPLATE_ROOT + '/shared/filter_session_expired.rjs'
+ render_streamlined_file '/shared/filter_session_expired.rjs'
# render :update do |page|
# page << "$('page_options_advanced_filter').value = \"\" "
# page.replace_html "advanced_filter", ""
@@ -57,7 +57,7 @@
@column = params["filter_column__" + @filter_num.to_s]
@value = params["filter_value__" + @filter_num.to_s]
@conditions = build_filter(:update, @filter_num, @column, @value)
- render :template => STREAMLINED_TEMPLATE_ROOT + '/shared/update_filter.rjs'
+ render_streamlined_file '/shared/update_filter.rjs'
# render :update do |page|
# page << "$('page_options_advanced_filter').value = \"#{@conditions}\" "
# page.hide "filter_session_expired_msg"
@@ -67,7 +67,7 @@
def clear_all_filters
clear_filters
- render :template => STREAMLINED_TEMPLATE_ROOT + '/shared/clear_all_filters.rjs'
+ render_streamlined_file '/shared/clear_all_filters.rjs'
# render :update do |page|
# page << "$('page_options_advanced_filter').value = \"\" "
# page.replace_html "advanced_filter", ""
Modified: edge/streamlined/lib/streamlined/controller/render_methods.rb (870 => 871)
--- edge/streamlined/lib/streamlined/controller/render_methods.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/lib/streamlined/controller/render_methods.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -40,14 +40,16 @@
if partial && managed_partials_include?(partial)
unless specific_template_exists?("#{controller_path}/_#{partial}")
options.delete(:partial)
- options[:template] = generic_view("_#{partial}")
+ options[:file] = generic_view("_#{partial}")
+ options[:use_full_path] = false
options[:layout] = false unless options.has_key?(:layout)
end
end
options
end
- def render(options = {}, &block)
+ DEPRECATED_STATUS_DEFAULT = (Rails::VERSION::MAJOR == 1) ? nil : { }
+ def render(options = {}, deprecated_status = DEPRECATED_STATUS_DEFAULT, &block)
options = convert_all_options(options)
super(options, &block)
end
Modified: edge/streamlined/lib/streamlined/environment.rb (870 => 871)
--- edge/streamlined/lib/streamlined/environment.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/lib/streamlined/environment.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -27,7 +27,7 @@
# Find the streamlined template root -- we use a relative path here to stay compatible with Rails 1.2.x
def find_template_root
- File.join(Pathname.new(STREAMLINED_ROOT).relative_path_from(Pathname.new(RAILS_ROOT+"/app/views").expand_path), "/templates")
+ File.join(STREAMLINED_ROOT, "templates")
end
# Bootstrap the Streamlined environment
@@ -41,4 +41,4 @@
end
-Streamlined::Environment.init_environment # Just do it, brah!
\ No newline at end of file
+Streamlined::Environment.init_environment # Just do it, brah!
Modified: edge/streamlined/lib/streamlined/functional_tests.rb (870 => 871)
--- edge/streamlined/lib/streamlined/functional_tests.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/lib/streamlined/functional_tests.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -31,9 +31,9 @@
# have to allow for both path-to-name and name
def assert_streamlined_template(expected, message=nil)
- rendered = @response.rendered_file
+ rendered = File.basename(@response.rendered_file,".*")
msg = build_message(message, "expecting <?> but rendering with <?>", expected, rendered)
- assert rendered =~/\b#{expected}$/, msg
+ assert_equal expected, rendered, msg
end
def test_list
Modified: edge/streamlined/lib/streamlined/render_methods.rb (870 => 871)
--- edge/streamlined/lib/streamlined/render_methods.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/lib/streamlined/render_methods.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -1,15 +1,32 @@
-# render overrides shared by controllers and views
-module Streamlined::RenderMethods
- private
+# render overrides shared by controllers and views
+module Streamlined::GenericView
+ protected
def generic_view(template)
- generic_override = File.join(STREAMLINED_GENERIC_OVERRIDE_ROOT, template)
- if File.exist?(File.join(RAILS_ROOT, 'app', 'streamlined', 'views', template + ".rhtml"))
- generic_override
- else
- "#{STREAMLINED_GENERIC_VIEW_ROOT}/#{template}"
+ test = Proc.new do |*args|
+ file = File.join(*args)
+ File.exist?(file) && file
end
+ test[STREAMLINED_GENERIC_OVERRIDE_ROOT, "#{template}.rhtml"] ||
+ test[STREAMLINED_GENERIC_OVERRIDE_ROOT, "#{template}.html.erb"] ||
+ test[STREAMLINED_GENERIC_OVERRIDE_ROOT, "#{template}.rxml"] ||
+ test[STREAMLINED_GENERIC_OVERRIDE_ROOT, "#{template}.xml.erb"] ||
+ test[STREAMLINED_GENERIC_OVERRIDE_ROOT, "#{template}.rjs"]
+ test[STREAMLINED_GENERIC_VIEW_ROOT, "#{template}.rhtml"] ||
+ test[STREAMLINED_GENERIC_VIEW_ROOT, "#{template}.html.erb"] ||
+ test[STREAMLINED_GENERIC_VIEW_ROOT, "#{template}.rxml"] ||
+ test[STREAMLINED_GENERIC_VIEW_ROOT, "#{template}.xml.erb"] ||
+ test[STREAMLINED_GENERIC_VIEW_ROOT, "#{template}.rjs"]
end
+end
+module Streamlined::RenderMethods
+ include Streamlined::GenericView
+ private
+
+ def render_streamlined_file(file, options={})
+ render({:file => File.join(STREAMLINED_TEMPLATE_ROOT,file), :use_full_path => false}.merge(options))
+ end
+
def managed_views_include?(action)
managed_views.include?(action)
end
@@ -46,7 +63,9 @@
if action && managed_views_include?(options[:action])
unless specific_template_exists?("#{controller_path}/#{options[:action]}")
options.delete(:action)
- options[:template] = generic_view(action)
+ options[:layout] = true unless options.has_key?(:layout)
+ options[:use_full_path] = false
+ options[:file] = Pathname.new(generic_view(action)).expand_path.to_s
end
end
options
@@ -61,4 +80,4 @@
def current_action
params[:action].intern
end
-end
\ No newline at end of file
+end
Modified: edge/streamlined/lib/streamlined/view/render_methods.rb (870 => 871)
--- edge/streamlined/lib/streamlined/view/render_methods.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/lib/streamlined/view/render_methods.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -12,6 +12,7 @@
if partial && managed_partials_include?(partial)
unless specific_template_exists?("#{controller_path}/_#{partial}")
options.delete(:partial)
+ options[:use_full_path] = false
options[:file] = generic_view("_#{partial}")
generic_views_rendered << options[:file]
options[:layout] = false unless options.has_key?(:layout)
Modified: edge/streamlined/templates/generic_views/list.html.erb (870 => 871)
--- edge/streamlined/templates/generic_views/list.html.erb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/templates/generic_views/list.html.erb 2008-06-06 01:15:42 UTC (rev 871)
@@ -1,7 +1,7 @@
-<%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/notice' %>
-<%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/header_partials' %>
+<%= render_streamlined_file '/shared/_notice.rhtml' %>
+<%= render_streamlined_file '/shared/_header_partials.rhtml' %>
<% form_for :page_options, @page_options,
- :url => { :action => "list"}, :html=> {:id => :page_options, :style => 'display: none;'} do |form| %>
+ :url => { :action => "list"}, :html=> {:method => "get", :id => :page_options, :style => 'display: none;'} do |form| %>
<%# TODO: hide this form when JavaScript is available, then use it behind scenes%>
Filter <%= form.text_field 'filter', {:autocomplete=>"off"} %>
Advanced Filter <%= form.text_field 'advanced_filter', {:autocomplete=>"off"} %>
@@ -26,12 +26,12 @@
<div class="streamlined_header">
<h2><%= image_tag_if_exists("#{model_table}.png", {:align => 'top'}) %> <%= model_name.titleize.pluralize %></h2>
</div>
- <%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/after_header_partials' %>
+ <%= render_streamlined_file '/shared/_after_header_partials.rhtml' %>
<div id="show_export">
- <%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/generic_views/show_export' %>
+ <%= render_streamlined_file '/generic_views/_show_export.rhtml' %>
</div>
<div id="model_list">
- <%= render :partial=>'list' %>
+ <%= render_streamlined_file '/generic_views/_list.html.erb' %>
</div>
<div class="#streamlined_list-footer">
<div id="controls">
@@ -43,7 +43,7 @@
</div>
</div>
</div>
-<%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/footer_partials' %>
+<%= render_streamlined_files '/shared/_footer_partials.rhtml' %>
<%= update_page_tag do |page|
page.hide 'show_export'
end
Modified: edge/streamlined/templates/generic_views/list.rhtml (870 => 871)
--- edge/streamlined/templates/generic_views/list.rhtml 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/templates/generic_views/list.rhtml 2008-06-06 01:15:42 UTC (rev 871)
@@ -1,5 +1,5 @@
-<%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/notice' %>
-<%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/header_partials' %>
+<%= render_streamlined_file '/shared/_notice.rhtml' %>
+<%= render_streamlined_file 'shared/_header_partials.rhtml' %>
<% form_for :page_options, @page_options,
:url => { :action => "list"}, :html=> {:id => :page_options, :style => 'display: none;'} do |form| %>
<%# TODO: hide this form when JavaScript is available, then use it behind scenes%>
@@ -26,12 +26,12 @@
<div class="streamlined_header">
<h2><%= image_tag_if_exists("#{model_table}.png", {:align => 'top'}) %> <%= model_name.titleize.pluralize %></h2>
</div>
- <%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/after_header_partials' %>
+ <%= render_streamlined_file '/shared/_after_header_partials.rhtml' %>
<div id="show_export">
- <%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/generic_views/show_export' %>
+ <%= render_streamlined_file '/generic_views/_show_export.rhtml' %>
</div>
<div id="model_list">
- <%= render :partial=>'list' %>
+ <%= render_streamlined_file '/generic_views/_list.rhtml' %>
</div>
<div class="#streamlined_list-footer">
<div id="controls">
@@ -43,7 +43,7 @@
</div>
</div>
</div>
-<%= render :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/footer_partials' %>
+<%= render_streamlined_file '/shared/_footer_partials.rhtml' %>
<%= update_page_tag do |page|
page.hide 'show_export'
end
Modified: edge/streamlined/templates/shared/add_filter.rjs (870 => 871)
--- edge/streamlined/templates/shared/add_filter.rjs 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/templates/shared/add_filter.rjs 2008-06-06 01:15:42 UTC (rev 871)
@@ -1,7 +1,7 @@
if @expired
- page.replace_html "advanced_filter", :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/new_filter'
+ page.replace_html "advanced_filter", :file => STREAMLINED_TEMPLATE_ROOT + '/shared/_new_filter.rhtml', :use_full_path => false
else
- page.insert_html :bottom, "advanced_filter", :partial => STREAMLINED_TEMPLATE_ROOT + '/shared/new_filter'
+ page.insert_html :bottom, "advanced_filter", :file => STREAMLINED_TEMPLATE_ROOT + '/shared/_new_filter.rhtml', :use_full_path => false
end
page.form.reset 'add_filter_form'
page << "$('page_options_advanced_filter').value = \"#{@conditions}\" "
Modified: edge/streamlined/test/functional/streamlined/controller/enumeration_methods_test.rb (870 => 871)
--- edge/streamlined/test/functional/streamlined/controller/enumeration_methods_test.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/functional/streamlined/controller/enumeration_methods_test.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -38,7 +38,8 @@
it "update enumeration" do
setup_mocks(:enumeration => ['all', 'items'])
- should_update_and_render_nothing
+ @item.should_receive(:update_attribute).with("foo", nil).once
+ flexmock(self).should_receive(:render).with(:nothing => true).and_return('render_results').once
assert_equal 'render_results', update_enumeration
assert_equal 'selected_item', instance.foo
end
@@ -63,8 +64,4 @@
flexmock(self).should_receive(:render).with(render_options).and_return('render_results').once
end
- def should_update_and_render_nothing
- @item.should_receive(:update_attribute).with(:foo, nil).once
- flexmock(self).should_receive(:render).with(:nothing => true).and_return('render_results').once
- end
-end
\ No newline at end of file
+end
Modified: edge/streamlined/test/functional/streamlined/view/render_methods_test.rb (870 => 871)
--- edge/streamlined/test/functional/streamlined/view/render_methods_test.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/functional/streamlined/view/render_methods_test.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -8,7 +8,11 @@
it "convert partial options for managed partial" do
assert_true @view.send(:managed_partials_include?, "list")
- assert_equal({:file=>"../../../templates/generic_views/_list", :layout=>false}, @view.convert_partial_options(:partial => "list"))
+ assert_equal({
+ :file => File.join(STREAMLINED_GENERIC_VIEW_ROOT, "_list.rhtml"),
+ :layout => false,
+ :use_full_path => false
+ }, @view.convert_partial_options(:partial => "list"))
end
it "convert partial options leaves non managed partial alone" do
Modified: edge/streamlined/test/functional/streamlined_controller_functional_test.rb (870 => 871)
--- edge/streamlined/test/functional/streamlined_controller_functional_test.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/functional/streamlined_controller_functional_test.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -357,9 +357,8 @@
it "edit" do
get :edit, :id => 1
- assert_generic_views_rendered :form
+ assert_generic_views_rendered "_form"
assert_response :success
- assert_template generic_view("edit")
assert_not_nil assigns(:streamlined_item)
assert assigns(:streamlined_item).valid?
assert_select '#sl_field_person_first_name' do
@@ -373,18 +372,17 @@
# render methods might also need to set this variable to take advantage of
# this assertion.
def assert_generic_views_rendered(*views)
- generic_views = @response.template.generic_views_rendered
+ generic_views = @response.template.generic_views_rendered.map{|v| File.basename(v,".*")}
views.each do |view|
- assert(generic_views.member?("../../../templates/generic_views/_#{view}"),
+ assert(generic_views.member?(view),
"Should have rendered generic view #{view}, rendered generic views #{generic_views.inspect}")
end
end
it "new" do
get :new
- assert_generic_views_rendered :form
+ assert_generic_views_rendered "_form"
assert_response :success
- assert_template generic_view("new")
assert_not_nil assigns(:streamlined_item)
assert assigns(:streamlined_item).valid?
assert_select '#sl_field_person_first_name' do
@@ -412,7 +410,7 @@
Streamlined.ui_for("Poet")
xhr :get, :quick_add, :select_id => "foo", :model_class_name => "Poet"
assert_response :success
- assert_template "quick_add"
+ assert_template "quick_add.rhtml"
assert_match %r{<label for="poet_first_name">First Name</label>}, @response.body
assert_match %r{<label for="poet_last_name">Last Name</label>}, @response.body
end
Modified: edge/streamlined/test/test_functional_helper.rb (870 => 871)
--- edge/streamlined/test/test_functional_helper.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/test_functional_helper.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -4,14 +4,15 @@
require File.join(base, "lib", 'ar_helper')
require 'active_record/fixtures'
+$: << File.join(base,"fixtures")
# getting messy: Poet needed by Poem
-require "#{base}/fixtures/poet.rb"
+require "poet"
# Require sample fixtures, models, and UI classes
# .sort.each added to ensure that the list is sorted and person.rb is "required"
# before person_ui.rb; person_ui.rb references the Person class.
Dir.glob("#{base}/fixtures/*.rb").sort.each do |file|
- require file
+ require File.basename(file, ".*")
end
EXPECTED_USERS = [/\d[[:punct:]]Justin[[:punct:]]Gehtland/, /\d[[:punct:]]Stu[[:punct:]]Halloway/,/\d[[:punct:]]Jason[[:punct:]]Rudolph/,/\d[[:punct:]]Glenn[[:punct:]]Vanderburg/]
Modified: edge/streamlined/test/test_helper.rb (870 => 871)
--- edge/streamlined/test/test_helper.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/test_helper.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -36,6 +36,7 @@
class Test::Unit::TestCase
include Relevance::RailsAssertions
+ include Streamlined::GenericView
include Arts
def reset_streamlined!
@@ -47,10 +48,6 @@
HTML::Document.new(html).root
end
- def generic_view(template)
- "../../../templates/generic_views/#{template}"
- end
-
def assert_difference(object, method = nil, difference = 1)
initial_value = object.send(method)
yield
Modified: edge/streamlined/test/unit/environment_test.rb (870 => 871)
--- edge/streamlined/test/unit/environment_test.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/unit/environment_test.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -30,8 +30,8 @@
Streamlined::Environment.find_streamlined_root.should == path
end
- it "should use relative path for streamlined template root to stay backwards compatible" do
- Pathname.new(Streamlined::Environment.find_template_root).should.be.relative
+ it "should use absolute path for streamlined template root" do
+ Pathname.new(Streamlined::Environment.find_template_root).should.not.be.relative
end
# avoid errors by not actually setting constants in the test
Modified: edge/streamlined/test/unit/streamlined/controller/render_methods_test.rb (870 => 871)
--- edge/streamlined/test/unit/streamlined/controller/render_methods_test.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/unit/streamlined/controller/render_methods_test.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -86,14 +86,14 @@
pretend_template_exists(false)
options = {:partial=>"list", :other=>"1"}
convert_partial_options(options)
- assert_equal({:layout=>false, :template=>generic_view("_list"), :other=>"1"}, options)
+ assert_equal({:layout=>false, :file=>generic_view("_list"), :other=>"1", :use_full_path => false}, options)
end
it "convert partial options and layout for generic" do
pretend_template_exists(false)
options = {:partial=>"list", :other=>"1", :layout=>true}
convert_partial_options(options)
- assert_equal({:layout=>true, :template=>generic_view("_list"), :other=>"1"}, options)
+ assert_equal({:layout=>true, :file=>generic_view("_list"), :other=>"1", :use_full_path => false}, options)
end
it "convert partial options for specific" do
Modified: edge/streamlined/test/unit/streamlined/render_methods_test.rb (870 => 871)
--- edge/streamlined/test/unit/streamlined/render_methods_test.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/unit/streamlined/render_methods_test.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -1,19 +1,9 @@
require File.expand_path(File.join(File.dirname(__FILE__), '../../test_helper'))
require 'streamlined/render_methods'
-describe "Streamlined::RenderMethods" do
+describe "Streamlined::RenderMethods#specific_template_exists" do
include Streamlined::RenderMethods
- # begin stub methods
- def controller_name
- "people"
- end
-
- def controller_path
- "people"
- end
- # end stub methods
-
it "specific template exists?" do
assert specific_template_exists?("templates/template")
assert specific_template_exists?("templates/template.rhtml")
@@ -22,20 +12,43 @@
assert !specific_template_exists?("templates/non_existing_template")
end
- it "convert action options for generic" do
+ # partials are view/controller specific and are tested separately
+
+end
+
+describe 'Streamlined::RenderMethods#convert_action_options' do
+ include Streamlined::RenderMethods
+
+ before do
self.stubs(:managed_views).returns(['new'])
+ self.stubs(:controller_path).returns("people")
+ end
+
+ it "convert action options for a streamlined generic view without layout" do
options = {:action=>"new", :id=>"1"}
- convert_action_options(options)
- assert_equal({:template=>generic_view("new"), :id=>"1"}, options)
+ expected = {
+ :file=>generic_view("new"),
+ :id=>"1",
+ :layout => true,
+ :use_full_path => false
+ }
+ convert_action_options(options).should == expected
end
- it "convert action options for specific" do
- self.stubs(:managed_views).returns([])
- options = {:action=>"new", :id=>"1"}
- convert_action_options(options)
- assert_equal({:action=>"new", :id=>"1"}, options)
+ it "convert action options for a streamlined generic view with layout" do
+ options = {:action=>"new", :id=>"1", :layout => "cool"}
+ expected = {
+ :file=>generic_view("new"),
+ :id=>"1",
+ :layout => "cool",
+ :use_full_path => false
+ }
+ convert_action_options(options).should == expected
end
- # partials are view/controller specific and are tested separately
-
-end
\ No newline at end of file
+ it "convert action options for a non-streamlined view is a no-op" do
+ options = {:action=>"foo", :id=>"1"}
+ convert_action_options(options).should.be(options)
+ end
+
+end
Modified: edge/streamlined/test/unit/streamlined/view/render_methods_test.rb (870 => 871)
--- edge/streamlined/test/unit/streamlined/view/render_methods_test.rb 2008-06-04 23:41:12 UTC (rev 870)
+++ edge/streamlined/test/unit/streamlined/view/render_methods_test.rb 2008-06-06 01:15:42 UTC (rev 871)
@@ -17,14 +17,14 @@
setup_mocks(false)
options = {:partial=>"list", :other=>"1"}
convert_partial_options(options)
- assert_equal({:layout=>false, :file=>generic_view("_list"), :other=>"1"}, options)
+ assert_equal({:layout=>false, :file=>generic_view("_list"), :other=>"1", :use_full_path => false}, options)
end
it "convert partial options and layout for generic" do
setup_mocks(false)
options = {:partial=>"list", :other=>"1", :layout=>true}
convert_partial_options(options)
- assert_equal({:layout=>true, :file=>generic_view("_list"), :other=>"1"}, options)
+ assert_equal({:layout=>true, :file=>generic_view("_list"), :other=>"1", :use_full_path => false}, options)
end
it "convert partial options for specific" do
You must
Sign in before you can post messages.
You do not have the permission required to post.