[Streamlined][871] Major refactoring to support Rails 2.1

0 views
Skip to first unread message

svn-str...@thinkrelevance.com

unread,
Jun 5, 2008, 9:15:42 PM6/5/08
to streamli...@googlegroups.com
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
Reply all
Reply to author
Forward
0 new messages