caterpillar 0.9.16 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. data/ChangeLog +9 -1
  2. data/README +36 -6
  3. data/generators/caterpillar/USAGE +1 -1
  4. data/generators/caterpillar/caterpillar_generator.rb +44 -25
  5. data/generators/caterpillar/templates/config/portlets.rb +5 -5
  6. data/generators/caterpillar/templates/images/portlet_test_bench/Leafy_Sea_Dragon_1.jpg +0 -0
  7. data/generators/caterpillar/templates/images/portlet_test_bench/debug.jpg +0 -0
  8. data/generators/caterpillar/templates/images/portlet_test_bench/java.png +0 -0
  9. data/generators/caterpillar/templates/images/portlet_test_bench/rails.png +0 -0
  10. data/generators/caterpillar/templates/images/portlet_test_bench/ruby.gif +0 -0
  11. data/generators/caterpillar/templates/javascripts/portlet_test_bench/main.js +3 -0
  12. data/generators/caterpillar/templates/stylesheets/portlet_test_bench/main.css +163 -0
  13. data/init.rb +30 -3
  14. data/lib/caterpillar.rb +36 -1
  15. data/lib/caterpillar/config.rb +12 -2
  16. data/lib/caterpillar/liferay.rb +70 -14
  17. data/lib/caterpillar/portlet.rb +9 -0
  18. data/lib/caterpillar/task.rb +3 -12
  19. data/lib/web/portlet.rb +0 -7
  20. data/portlet_test_bench/controllers/caterpillar/application.rb +13 -0
  21. data/portlet_test_bench/controllers/caterpillar/css_controller.rb +9 -0
  22. data/portlet_test_bench/controllers/caterpillar/http_methods_controller.rb +35 -0
  23. data/portlet_test_bench/controllers/caterpillar/js_controller.rb +74 -0
  24. data/portlet_test_bench/controllers/caterpillar/login_controller.rb +41 -0
  25. data/portlet_test_bench/controllers/caterpillar/resource_controller.rb +23 -0
  26. data/portlet_test_bench/controllers/caterpillar/session_controller.rb +57 -0
  27. data/portlet_test_bench/controllers/caterpillar/user_controller.rb +6 -0
  28. data/portlet_test_bench/helpers/caterpillar/application_helper.rb +3 -0
  29. data/portlet_test_bench/routing.rb +43 -0
  30. data/portlet_test_bench/views/caterpillar/application/_back_to_menu.html.erb +13 -0
  31. data/portlet_test_bench/views/caterpillar/application/index.html.erb +70 -0
  32. data/portlet_test_bench/views/caterpillar/css/background.html.erb +30 -0
  33. data/portlet_test_bench/views/caterpillar/css/simple.html.erb +53 -0
  34. data/portlet_test_bench/views/caterpillar/http_methods/back.html.erb +2 -0
  35. data/portlet_test_bench/views/caterpillar/http_methods/parameter.html.erb +21 -0
  36. data/portlet_test_bench/views/caterpillar/http_methods/post.html.erb +43 -0
  37. data/portlet_test_bench/views/caterpillar/http_methods/post_and_redirect.html.erb +25 -0
  38. data/portlet_test_bench/views/caterpillar/http_methods/redirect.html.erb +4 -0
  39. data/portlet_test_bench/views/caterpillar/js/_scriptaculous_jquery.html.erb +19 -0
  40. data/portlet_test_bench/views/caterpillar/js/dragndrop.html.erb +40 -0
  41. data/portlet_test_bench/views/caterpillar/js/jquery.html.erb +5 -0
  42. data/portlet_test_bench/views/caterpillar/js/link_to_post.html.erb +5 -0
  43. data/portlet_test_bench/views/caterpillar/js/prototype.html.erb +5 -0
  44. data/portlet_test_bench/views/caterpillar/js/scriptaculous.html.erb +10 -0
  45. data/portlet_test_bench/views/caterpillar/js/simple.html.erb +34 -0
  46. data/portlet_test_bench/views/caterpillar/login/index.html.erb +52 -0
  47. data/portlet_test_bench/views/caterpillar/resource/exit_portlet.html.erb +3 -0
  48. data/portlet_test_bench/views/caterpillar/resource/images.html.erb +13 -0
  49. data/portlet_test_bench/views/caterpillar/user/home.html.erb +3 -0
  50. data/portlet_test_bench/views/layouts/basic.html.erb +20 -0
  51. metadata +61 -3
@@ -0,0 +1,57 @@
1
+ class Caterpillar::SessionController < Caterpillar::ApplicationController
2
+
3
+ def initialize
4
+
5
+ end
6
+
7
+ def index
8
+ render :inline => VERSION
9
+ end
10
+
11
+
12
+ # inspect the session variables
13
+ def raw
14
+ render :inline => session.inspect
15
+ end
16
+
17
+
18
+ # inspect the session cookie
19
+ def cookie
20
+
21
+ s = "<html><body><pre>"
22
+
23
+ cookies.each do |cookie|
24
+ # s += "name: " + cookie[0]
25
+ s += cookie.inspect
26
+ s += "<br />"
27
+ # s += "id: " + cookie[1].to_s
28
+ # s += "<br />"
29
+ # cookie.methods.each { |m| s += m.to_s + "<br />" }
30
+
31
+ end
32
+
33
+ s += "</pre></body></html>"
34
+ render :inline => s
35
+ end
36
+
37
+ def _id
38
+ render :inline => session.session_id.inspect
39
+ end
40
+
41
+
42
+ # inspect the request variables
43
+ def req
44
+ s = "<html><body>"
45
+
46
+ request.env.each_pair do |key,value|
47
+ s += key
48
+ s += " => "
49
+ s += value unless value.nil?
50
+ s += "<br />"
51
+ end
52
+
53
+ s += "</body></html>"
54
+ render :inline => s
55
+ end
56
+
57
+ end
@@ -0,0 +1,6 @@
1
+ class Caterpillar::UserController < Caterpillar::ApplicationController
2
+
3
+ def initialize
4
+ @user = {:name => "user1"}
5
+ end
6
+ end
@@ -0,0 +1,3 @@
1
+ module Caterpillar::ApplicationHelper # :nodoc:
2
+ include Caterpillar::Helpers::Liferay
3
+ end
@@ -0,0 +1,43 @@
1
+ module Caterpillar #:nodoc:
2
+ # Routes for Portlet Test Bench.
3
+ module Routing
4
+ module MapperExtensions # :nodoc:
5
+ def caterpillar
6
+
7
+ @set.add_named_route(
8
+ 'portlet_test_bench',
9
+ 'caterpillar/test_bench',
10
+ {:controller => 'Caterpillar::Application'})
11
+
12
+ @set.add_route(
13
+ 'caterpillar/test_bench/http_methods/:action',
14
+ {:controller => 'Caterpillar::HttpMethods'})
15
+
16
+ @set.add_route(
17
+ 'caterpillar/test_bench/javascript/:action',
18
+ {:controller => 'Caterpillar::Js'})
19
+
20
+ @set.add_route(
21
+ 'caterpillar/test_bench/css/:action',
22
+ {:controller => 'Caterpillar::Css'})
23
+
24
+ @set.add_route(
25
+ 'caterpillar/test_bench/login/:action',
26
+ {:controller => 'Caterpillar::Login'})
27
+
28
+ @set.add_route(
29
+ 'caterpillar/test_bench/resource/:action',
30
+ {:controller => 'Caterpillar::Resource'})
31
+
32
+ @set.add_route(
33
+ 'caterpillar/test_bench/session/:action',
34
+ {:controller => 'Caterpillar::Session'})
35
+
36
+ @set.add_route(
37
+ 'caterpillar/test_bench/user/:action',
38
+ {:controller => 'Caterpillar::User'})
39
+
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,13 @@
1
+ <p style="
2
+ border: 2px groove gray;
3
+ margin-top: 10px;
4
+ margin-bottom: 10px;
5
+ width: auto;
6
+ padding: 3px;
7
+ background: #FFFFFF;
8
+ overflow: hidden;
9
+ margin-left: 0px;
10
+ margin-right: 0px;
11
+ ">
12
+ <%= link_to "All tests", portlet_test_bench_url -%>
13
+ </p>
@@ -0,0 +1,70 @@
1
+ <body>
2
+
3
+ <h1>HTTP</h1>
4
+
5
+ <%= link_to 'URL parameters',
6
+ :controller => 'Caterpillar::HttpMethods', :action => :parameter -%><br />
7
+
8
+ <%= link_to 'HTTP POST form',
9
+ :controller => 'Caterpillar::HttpMethods', :action => :post -%><br />
10
+
11
+ <%= link_to 'HTTP POST and GET redirect',
12
+ :controller => 'Caterpillar::HttpMethods', :action => :post_and_redirect -%><br />
13
+
14
+ <%= link_to 'HTTP referer (back)',
15
+ :controller => 'Caterpillar::HttpMethods', :action => :back -%><br />
16
+
17
+ <%= link_to 'HTTP redirect',
18
+ :controller => 'Caterpillar::HttpMethods', :action => :redirect -%><br />
19
+
20
+
21
+ <h1>JavaScripts</h1>
22
+
23
+ <%= link_to 'Simple JavaScript',
24
+ :controller => 'Caterpillar::Js', :action => :simple -%><br />
25
+
26
+ <%= link_to 'Prototype JavaScript',
27
+ :controller => 'Caterpillar::Js', :action => :prototype -%><br />
28
+
29
+ <%= link_to 'Script.aculo.us JavaScript',
30
+ :controller => 'Caterpillar::Js', :action => :scriptaculous -%><br />
31
+
32
+ <%= link_to 'jQuery JavaScript',
33
+ :controller => 'Caterpillar::Js', :action => :jquery -%><br />
34
+
35
+ <%= link_to 'Drag and drop',
36
+ :controller => 'Caterpillar::Js', :action => :dragndrop -%><br />
37
+
38
+ <%= link_to 'link_to :method => :post',
39
+ :controller => 'Caterpillar::Js', :action => :link_to_post -%><br />
40
+
41
+
42
+
43
+ <h1>CSS</h1>
44
+
45
+ <%= link_to 'Simple CSS',
46
+ :controller => 'Caterpillar::Css', :action => :simple -%><br />
47
+
48
+ <%= link_to 'CSS background image',
49
+ :controller => 'Caterpillar::Css', :action => :background -%><br />
50
+
51
+
52
+ <h1>Misc</h1>
53
+
54
+ <%= link_to 'Image resources',
55
+ :controller => 'Caterpillar::Resource', :action => :images -%><br />
56
+
57
+ <%= link_to 'Inline text',
58
+ :controller => 'Caterpillar::Resource', :action => :inline -%><br />
59
+
60
+ <%= link_to 'Link outside the portlet',
61
+ :controller => 'Caterpillar::Resource', :action => :exit_portlet -%><br />
62
+
63
+
64
+
65
+ <%#= link_to 'Login',
66
+ :controller => 'Caterpillar::Login', :action => :index -%><br />
67
+
68
+
69
+
70
+ </body>
@@ -0,0 +1,30 @@
1
+ <head>
2
+ <title>Simple CSS test</title>
3
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
4
+
5
+ <%= stylesheet_link_tag 'portlet_test_bench/main' %>
6
+
7
+ <style type="text/css">
8
+ /* Leafy Sea Dragon */
9
+
10
+ #background_image {
11
+ background-image: url('/images/portlet_test_bench/Leafy_Sea_Dragon_1.jpg');
12
+ background-repeat: no-repeat;
13
+ border: 5px outset gray;
14
+ width: 297px;
15
+ height: 320px;
16
+ }
17
+ </style>
18
+ </head>
19
+ <body>
20
+ <%= render :partial => 'caterpillar/application/back_to_menu' %>
21
+
22
+ <p class="info">
23
+ In the div below, the background should display a Leafy Sea Dragon, defined in the css.
24
+ </p>
25
+
26
+ <center>
27
+ <div id="background_image"></div>
28
+ </center>
29
+
30
+ </body>
@@ -0,0 +1,53 @@
1
+ <head>
2
+ <title>Simple CSS test</title>
3
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
4
+
5
+ <%= stylesheet_link_tag 'portlet_test_bench/main' %>
6
+
7
+ <style type="text/css" id="style_in_head">
8
+ /* simple.html.erb */
9
+ #head_ref {
10
+ margin: 25px; padding: 10px; border: 1px solid #000000;
11
+ background: #6FFF3A;
12
+ }
13
+ </style>
14
+ </head>
15
+ <body>
16
+ <%= render :partial => 'caterpillar/application/back_to_menu' %>
17
+
18
+ <style type="text/css" id="style_in_body">
19
+ #body_ref {
20
+ margin: 25px; padding: 10px; border: 1px solid #000000;
21
+ background: #FFB751;
22
+ }
23
+ </style>
24
+
25
+ Body<br />
26
+ <b>background-color: #FFFFFCC; font: 11px Arial,Helvetica;</b>
27
+ <p class="info">
28
+ All the following divs should appear the same, with different background colors.<br />
29
+ <b>margin: 25px; padding: 10px; border: 1px solid #000000;</b>
30
+ </p>
31
+ <div style="margin: 25px; padding: 10px; border: 1px solid #000000; background: #FFFFFF;">
32
+ This is a div with self-contained style parameters. <br />
33
+ <b>background: #FFEE31;</b>
34
+ </div>
35
+
36
+ <div id="simple_content">
37
+ This is a div with style definitions in <i>main.css</i>.<br />
38
+ <b>background: #93FFE4;</b>
39
+ </div>
40
+
41
+ <div id="head_ref">
42
+ This is a div with style definitions in <i>&lt;head&gt;</i>.<br />
43
+ <b>background: #6FFF3A;</b>
44
+ </div>
45
+
46
+ <div id="body_ref">
47
+ This is a div with style definitions in <i>&lt;body&gt;</i>.<br />
48
+ <b>background: #FFB751;</b>
49
+ </div>
50
+
51
+ <br />
52
+
53
+ </body>
@@ -0,0 +1,2 @@
1
+ To test JavaScript history.back(), <%= link_to "click here to go back", :back -%><br />
2
+ To test HTTP_REFERER, <%= link_to "click here to get back here", url_for(:action => :redirect_back) -%>
@@ -0,0 +1,21 @@
1
+ <h1>URL parameters</h1>
2
+
3
+ <p style="border: 2px dashed gray; background: #FFFBB4; margin: 20px; width: 40%;">
4
+ <%= @params.inspect -%><br />
5
+ <hr />
6
+ Interpreted as:<br />
7
+ foo: <%= @params[:foo] -%><br />
8
+ count: <%= @params[:count] -%><br />
9
+ </p>
10
+
11
+ <ul>
12
+ <li>
13
+ <%= link_to 'Send parameters "foo=bar" and "count=3"',
14
+ url_for( :action => 'parameter', :foo => 'bar', :count => 3 ) -%>
15
+ </li>
16
+
17
+ <li>
18
+ <%= link_to 'Clear parameters',
19
+ url_for( :action => 'parameter' ) -%>
20
+ </li>
21
+ </ul>
@@ -0,0 +1,43 @@
1
+ <div id="http_post">
2
+ <h1>POST test</h1>
3
+
4
+ <div id="http_postform">
5
+ <%= form_tag :action => "post" %>
6
+ <p>
7
+ <span>Input text:</span>
8
+ <%= text_field_tag "msg", "The Java language was created by James Gosling in June 1991", :size => 42 %>
9
+ </p>
10
+
11
+ <p>
12
+ <span>Input checkbox:</span>
13
+ <input type="checkbox" name="checkbox" value="yay" true />
14
+ </p>
15
+
16
+ <p id="submit_tags">
17
+ <input type="submit" value="Submit values" />
18
+ <input type="reset" value="Reset to defaults" />
19
+ </p>
20
+ </form>
21
+ </div>
22
+
23
+
24
+ <h2>Message from last POST:</h2>
25
+ <span id="post_msg">
26
+ <%= @msg -%>
27
+ </span>
28
+ <br />
29
+ <span id="post_info">
30
+ <% if @checkbox -%>
31
+ Checkbox was checked
32
+ <% else -%>
33
+ <% if @checkbox == false %>
34
+ <!--
35
+ Checkbox was unchecked
36
+ -->
37
+ <% end %>
38
+ <% end -%>
39
+ </span>
40
+
41
+
42
+
43
+ </div>
@@ -0,0 +1,25 @@
1
+ <div id="http_post">
2
+ <h1>POST + GET redirect test</h1>
3
+
4
+ <div id="http_postform">
5
+ <%= form_tag :action => "post_and_redirect" %>
6
+ <p>
7
+ <span>Input text:</span>
8
+ <%= text_field_tag "msg", "try me", :size => 42 %>
9
+ </p>
10
+
11
+ <p id="submit_tags">
12
+ <input type="submit" value="Submit values" />
13
+ </p>
14
+ </form>
15
+ </div>
16
+
17
+
18
+ <h2>Message from last POST:</h2>
19
+ <span id="post_msg">
20
+ <%= @msg -%>
21
+ </span>
22
+ <br />
23
+
24
+
25
+ </div>
@@ -0,0 +1,4 @@
1
+ <%= link_to "Click to visit an action that redirects back to this page", url_for(:action => :redirect_action) -%><br />
2
+
3
+ <%= flash[:info] if flash[:info] -%><br />
4
+ <%= 'Redirected: ' + params[:x] if params[:x] -%>
@@ -0,0 +1,19 @@
1
+ <div id="highlight_test">
2
+ <%= link_to_remote("Highlight test", :url => { :action => 'highlight_test' }) -%>
3
+ </div>
4
+
5
+ <div>
6
+ <%= link_to_remote("Appear test", :url => { :action => 'appear_test' }) -%>
7
+ <div id="appear_test" style="display: none;">
8
+ Appear works
9
+ </div>
10
+ </div>
11
+
12
+
13
+ <div>
14
+ <%= link_to_remote("Toggle test", :url => { :action => 'toggle_blind_test' }) -%>
15
+ <div id="toggle_blind_test" style="display: none;">
16
+ Toggle works
17
+ </div>
18
+ </div>
19
+
@@ -0,0 +1,40 @@
1
+ <h1>Drag and drop test</h1>
2
+
3
+
4
+ <div id="draggables" class="dragdrop">
5
+ <span class="dragdrop_id">Draggables</span>
6
+ <div id="java">
7
+ <%= image_tag 'portlet_test_bench/java.png', :id => :java_handle, :class => :draggable -%>
8
+ </div>
9
+ <%= image_tag 'portlet_test_bench/ruby.gif', :id => :ruby, :class => :draggable -%>
10
+ </div>
11
+
12
+ <%= draggable_element :java, :revert => true, :handle => "'java_handle'" -%>
13
+ <%= draggable_element 'ruby', :revert => true -%>
14
+
15
+
16
+ <div id="droppables" class="dragdrop">
17
+ <span class="dragdrop_id">Droppables</span>
18
+ <span id="drop_status" style="display: none;"></span>
19
+ </div>
20
+
21
+
22
+ <%#= drop_receiving_element( :droppables, :hoverclass => 'hover', :accept => 'draggable',
23
+ :onHover => "function(draggable, droppable, overlap){
24
+ $('hover_notice').update('you drag');
25
+ }"
26
+ ) -%>
27
+
28
+ <%#= drop_receiving_element( :droppables, :hoverclass => 'hover',
29
+ :onHover => "function(){ $('hover_notice').update('Hovering!'); }"
30
+ ) -%>
31
+
32
+ <%#= drop_receiving_element( :droppables, :onHover => "function(){ alert('Hovering!'); }") -%>
33
+
34
+ <%= drop_receiving_element( :droppables, :url => { :action => :receive_drop }) -%>
35
+
36
+ <%#= javascript_tag "Droppables.add('droppables'){onHover:function(){ alert('Hovering!'); }}" %>
37
+
38
+
39
+ <span id="hover_notice"></span>
40
+