Google Groups Home
Help | Sign in
[871] Major refactoring to support Rails 2.1
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  1 message - Collapse all
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
svn-streamli...@thinkrelevance.com  
View profile
 More options Jun 5, 9:15 pm
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

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google