caterpillar 1.4.3 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ = 1.4.4
2
+ - XML fixes
3
+ - added /caterpillar view
4
+
1
5
  = 1.4.3
2
6
  - regression fix for XML format; Liferay is very picky about newlines
3
7
 
@@ -8,7 +8,7 @@
8
8
  #++
9
9
 
10
10
  module Caterpillar
11
- VERSION = '1.4.3' unless defined? Caterpillar::VERSION
11
+ VERSION = '1.4.4' unless defined? Caterpillar::VERSION
12
12
  end
13
13
 
14
14
  this_file = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__
@@ -165,9 +165,6 @@ module Caterpillar # :nodoc:
165
165
  else
166
166
  _p.update(:category => categories.first)
167
167
  end
168
- # debug
169
- #puts _p.inspect
170
-
171
168
  end
172
169
  end
173
170
 
@@ -190,33 +187,41 @@ module Caterpillar # :nodoc:
190
187
  portlets.each do |portlet|
191
188
  # <portlet>
192
189
  app.elements << self.portlet_element(portlet)
193
- # <role-mapper>s
194
- roles.each {|role| app.elements << role}
195
190
  end
196
191
 
197
- xml = ''
198
- doc.write(xml, -1) # no indentation, tag and text should be on same line
199
- #doc.write(xml, 4) # without identation is very dificult to reconfigure those files in production
200
- return xml.gsub('\'', '"') # fix rexml attribute single quotes to double quotes
192
+ # define role-mappers only once, at the end
193
+ roles.each {|role| app.elements << role}
194
+
195
+ return Util.xml_to_s(doc)
201
196
  end
202
197
 
203
198
  # liferay-display XML
204
199
  def display_xml(portlets)
205
200
  liferay_display_file = File.join(self.WEB_INF,'liferay-display.xml')
206
-
207
- doc = REXML::Document.new File.new(liferay_display_file)
208
- display = doc.root
209
-
201
+
202
+ # read existing configuration
203
+ _doc = REXML::Document.new File.new(liferay_display_file)
204
+ display = _doc.root
205
+
206
+ doc = REXML::Document.new
207
+ doc << REXML::XMLDecl.new('1.0', 'utf-8')
208
+ doc << REXML::DocType.new('display',
209
+ 'PUBLIC '+\
210
+ '"-//Liferay//DTD Display %s//EN" ' % (self.dtd_version) +\
211
+ '"http://www.liferay.com/dtd/liferay-display_%s.dtd"' % self.dtd_version.gsub('.','_')
212
+ )
213
+ doc << display
214
+
210
215
  # include portlets
211
216
  Util.categorize(portlets).each_pair do |category_name, portlets|
212
217
  category = nil
213
218
  display.each_element {|e| if e.attributes['name'] == category_name.to_s then category = e; break end}
214
-
219
+
215
220
  unless category
216
221
  category = REXML::Element.new('category', display)
217
222
  category.attributes['name'] = category_name.to_s
218
223
  end
219
-
224
+
220
225
  portlets.each do |portlet|
221
226
  if category.has_elements?
222
227
  # unless he holds does not add again
@@ -229,14 +234,10 @@ module Caterpillar # :nodoc:
229
234
  else
230
235
  category.add_element 'portlet', {'id' => portlet[:name]}
231
236
  end
232
- end
233
-
237
+ end
234
238
  end
235
239
 
236
- xml = ''
237
- doc.write(xml, -1) # no indentation, tag and text should be on same line
238
- #doc.write(xml, 4) # without identation is very dificult to reconfigure those files in production
239
- return xml.gsub('\'', '"') # fix rexml attribute single quotes to double quotes
240
+ return Util.xml_to_s(doc)
240
241
  end
241
242
 
242
243
  protected
@@ -14,6 +14,7 @@ else
14
14
  end
15
15
 
16
16
  module Caterpillar
17
+
17
18
  # Formulates generic JSR286 portlet XML
18
19
  class Portlet
19
20
  class << self
@@ -54,18 +55,20 @@ module Caterpillar
54
55
  end
55
56
 
56
57
  # create XML element tree
58
+ # (in proper order so the validation passes)
57
59
  portlets.each do |portlet|
58
60
  # <portlet>
59
61
  app.elements << self.portlet_element(portlet, session, app)
62
+ end
63
+ portlets.each do |portlet|
60
64
  # <filter>
61
65
  app.elements << self.filter_element(portlet)
66
+ end
67
+ portlets.each do |portlet|
62
68
  # filter mapping
63
69
  app.elements << self.filter_mapping(portlet)
64
70
  end
65
- xml = ''
66
- doc.write(xml, -1) # no indentation, tag and text should be on same line
67
- #doc.write(xml, 4) # without identation is very dificult to reconfigure those files in production
68
- return xml.gsub('\'', '"') # fix rexml attribute single quotes to double quotes
71
+ return Util.xml_to_s(doc)
69
72
  end
70
73
 
71
74
  # <portlet> element.
@@ -106,14 +106,18 @@ module Caterpillar # :nodoc:
106
106
  # Return Rails' session key
107
107
  def self.get_session_key
108
108
  # Rails before 2.3 had a different way
109
- if RAILS_GEM_VERSION.gsub('.','').to_i < 230
109
+ if defined?(RAILS_GEM_VERSION) and RAILS_GEM_VERSION.gsub('.','').to_i < 230
110
110
  ActionController::Base.session_options_for(nil,nil)[:session_key]
111
111
  # On Rails 2.3:
112
112
  else
113
113
  key = ActionController::Base.session_options[:key]
114
114
  return key unless key.nil?
115
115
  # try session_key
116
- ActionController::Base.session_options[:session_key]
116
+ key = ActionController::Base.session_options[:session_key]
117
+ return key unless key.nil?
118
+ # XXX: Rails changed sometime during 2.3.8 ..
119
+ STDERR.puts 'Failed to read session key - consider this a bug'
120
+ return nil
117
121
  end
118
122
  end
119
123
 
@@ -140,7 +140,7 @@ module Caterpillar
140
140
  end
141
141
 
142
142
  task :makexml => tasks
143
- puts 'Done!'
143
+ #puts 'Done!'
144
144
  end
145
145
 
146
146
  # Prints the list of portlets.
@@ -124,6 +124,19 @@ module Caterpillar
124
124
  return ret
125
125
  end
126
126
 
127
+ def xml_to_s(doc)
128
+ # Serializes the REXML::Document to String.
129
+ # It has to pass Ruby unit test validation and Liferay runtime validation.
130
+ # The XML requires strict ordering of the child nodes,
131
+ # and also tags and values have to be on a single line.
132
+ require 'rexml/formatters/pretty'
133
+ str = String.new
134
+ fmt = REXML::Formatters::Pretty.new(4)
135
+ fmt.compact = true
136
+ fmt.write(doc,str)
137
+ return str.gsub('\'', '"') # fix rexml attribute single quotes to double quotes
138
+ end
139
+
127
140
  end # static
128
141
  end
129
142
  end
@@ -41,7 +41,7 @@ class RailsGemChooser
41
41
  config = f.read
42
42
  f.close
43
43
  rails_gem_version = config[/^RAILS_GEM_VERSION.*(\d\.\d\.\d)/,1]
44
- STDOUT.puts 'Detected Rails version %s from the config file %s' % [rails_gem_version,config_file]
44
+ #STDOUT.puts 'Detected Rails version %s from the config file %s' % [rails_gem_version,config_file]
45
45
  return rails_gem_version
46
46
  end
47
47
  end
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+ class Caterpillar::XhrController < Caterpillar::ApplicationController
3
+
4
+ def prototype
5
+ # the page with the XHR triggers
6
+ @javascripts = %w{prototype}
7
+ render :action => 'time'
8
+ end
9
+
10
+ def jquery
11
+ # the page with the XHR triggers
12
+ @javascripts = %w{jquery-1.4.2.min}
13
+ render :action => 'time'
14
+ end
15
+
16
+ def get_time
17
+ send_data Time.now.to_s, :type => 'text/html'
18
+ end
19
+
20
+ end
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
-
4
3
  module Caterpillar #:nodoc:
5
4
  # Routes for Portlet Test Bench.
6
5
  module Routing
@@ -10,7 +9,7 @@ module Caterpillar #:nodoc:
10
9
  @set.add_named_route(
11
10
  'portlet_test_bench',
12
11
  'caterpillar/test_bench',
13
- {:controller => 'Caterpillar::Application'})
12
+ {:controller => 'Caterpillar::Application', :action => 'portlet_test_bench'})
14
13
 
15
14
  @set.add_route(
16
15
  'caterpillar/test_bench/http_methods/:action',
@@ -44,6 +43,10 @@ module Caterpillar #:nodoc:
44
43
  'caterpillar/test_bench/liferay/:action',
45
44
  {:controller => 'Caterpillar::Liferay'})
46
45
 
46
+ @set.add_route(
47
+ 'caterpillar/test_bench/xhr/:action',
48
+ {:controller => 'Caterpillar::Xhr'})
49
+
47
50
  # Liferay GID
48
51
  @set.add_route(
49
52
  'caterpillar/test_bench/liferay/:action/gid/:gid',
@@ -54,6 +57,12 @@ module Caterpillar #:nodoc:
54
57
  'caterpillar/test_bench/junit/:action',
55
58
  {:controller => 'Caterpillar::Junit'})
56
59
 
60
+ # index
61
+ @set.add_named_route(
62
+ 'caterpillar',
63
+ 'caterpillar/',
64
+ {:controller => 'Caterpillar::Application'})
65
+
57
66
  end
58
67
  end
59
68
  end
@@ -1,143 +1,5 @@
1
- <body>
2
- <style type="text/css">
3
- body {
4
- background: white;
5
- }
6
- #testBenchContainer {
7
- background: #FFFFCC;
8
- border: 1px solid #B9B9B9;
9
- padding: 8px;
10
- font-size: 11px;
11
- line-height: 15px;
12
- }
13
- #testBenchContainer h1 {
14
- border-bottom: 1px solid #B9B9B9;
15
- color: #990000;
16
- font-size: 18px;
17
- font-weight: bold;
18
- margin-bottom: 20px;
19
- padding: 0 0 0 15px;
20
- }
21
- #testBenchContainer h2 {
22
- border: 1px solid #B9B9B9;
23
- color: #990000;
24
- font-size: 14px;
25
- font-weight: bold;
26
- padding: 4px 0 3px 25px;
27
- background: white;
28
- }
29
- .testContainer {
30
- padding: 12px;
31
- }
32
- </style>
1
+ Caterpillar <%= Caterpillar::VERSION %>
33
2
 
34
- <div id="testBenchContainer">
3
+ <hr />
35
4
 
36
- <h1>Rails-portlet test bench</h1>
37
-
38
- <p style="font-size: 14px;">
39
- These are isolated test cases of the Rails-portlet, for manual testing in the browser. The <%= link_to_exit_portlet 'source code', 'http://rails-portlet.rubyforge.org/svn/trunk/caterpillar/portlet_test_bench/' -%> can be used as a reference for using the same features in other Rails apps.
40
- </p>
41
-
42
- <h2>HTTP</h2>
43
- <div class="testContainer">
44
-
45
- <%= link_to 'URL parameter passing',
46
- :controller => 'Caterpillar::HttpMethods', :action => :parameter -%><br />
47
-
48
- <%= link_to 'HTTP POST form',
49
- :controller => 'Caterpillar::HttpMethods', :action => :post -%><br />
50
-
51
- <%= link_to 'HTTP POST and GET redirect',
52
- :controller => 'Caterpillar::HttpMethods', :action => :post_and_redirect -%><br />
53
-
54
- <%= link_to 'HTTP referer (back)',
55
- :controller => 'Caterpillar::HttpMethods', :action => :back -%><br />
56
-
57
- <%= link_to 'HTTP redirect',
58
- :controller => 'Caterpillar::HttpMethods', :action => :redirect -%><br />
59
-
60
- </div>
61
-
62
-
63
- <h2>JavaScripts</h2>
64
- <div class="testContainer">
65
-
66
- <%= link_to 'Simple JavaScript',
67
- :controller => 'Caterpillar::Js', :action => :simple -%><br />
68
-
69
- <%= link_to 'Prototype JavaScript',
70
- :controller => 'Caterpillar::Js', :action => :prototype -%><br />
71
-
72
- <%= link_to 'Script.aculo.us JavaScript',
73
- :controller => 'Caterpillar::Js', :action => :scriptaculous -%><br />
74
-
75
- <%= link_to 'jQuery JavaScript',
76
- :controller => 'Caterpillar::Js', :action => :jquery -%><br />
77
-
78
- <%= link_to 'Drag and drop',
79
- :controller => 'Caterpillar::Js', :action => :dragndrop -%><br />
80
-
81
- <%= link_to 'link_to :method => :post',
82
- :controller => 'Caterpillar::Js', :action => :link_to_post -%><br />
83
-
84
- </div>
85
-
86
-
87
- <h2>CSS</h2>
88
- <div class="testContainer">
89
-
90
- <%= link_to 'Simple CSS',
91
- :controller => 'Caterpillar::Css', :action => :simple -%><br />
92
-
93
- <%= link_to 'CSS background image',
94
- :controller => 'Caterpillar::Css', :action => :background -%><br />
95
-
96
- </div>
97
-
98
-
99
- <h2>Misc</h2>
100
- <div class="testContainer">
101
-
102
- <%= link_to 'Image resources',
103
- :controller => 'Caterpillar::Resource', :action => :images -%><br />
104
-
105
- <%= link_to 'Inline text',
106
- :controller => 'Caterpillar::Resource', :action => :inline -%><br />
107
-
108
- <%= link_to 'Link outside the portlet',
109
- :controller => 'Caterpillar::Resource', :action => :exit_portlet -%><br />
110
-
111
- <%= link_to 'Liferay session variables',
112
- url_for(
113
- :controller => 'Caterpillar::Liferay',
114
- :action => :session_variables
115
- )+'/uid/%UID%/gid/%GID%'
116
- -%><br />
117
-
118
- <%= link_to 'Flash message',
119
- :controller => 'Caterpillar::Session', :action => :flash_msg -%><br />
120
-
121
- </div>
122
-
123
-
124
- <h2>JUnit</h2>
125
-
126
- The JUnit tests are used for automatic testing and they output XML.
127
-
128
- <div class="testContainer">
129
-
130
- <%= link_to 'Session cookie',
131
- :controller => 'Caterpillar::Junit', :action => :session_cookie -%><br />
132
-
133
- <%= link_to 'Redirect',
134
- :controller => 'Caterpillar::Junit', :action => :redirect -%><br />
135
-
136
- <%= link_to 'Session cookies & redirect',
137
- :controller => 'Caterpillar::Junit', :action => :cookies_with_redirect -%><br />
138
-
139
- </div>
140
-
141
-
142
- </div>
143
- </body>
5
+ Includes <%= link_to 'portlet test bench', portlet_test_bench_url %>.
@@ -0,0 +1,155 @@
1
+ <body>
2
+ <style type="text/css">
3
+ body {
4
+ background: white;
5
+ }
6
+ .testBenchContainer {
7
+ background: #FFFFCC;
8
+ border: 1px solid #B9B9B9;
9
+ padding: 8px;
10
+ font-size: 11px;
11
+ line-height: 15px;
12
+ }
13
+ .testBenchHeader {
14
+ border-bottom: 1px solid #B9B9B9;
15
+ color: #990000;
16
+ font-size: 18px;
17
+ font-weight: bold;
18
+ margin-bottom: 20px;
19
+ padding: 0 0 0 15px;
20
+ }
21
+ .testBenchSuite {
22
+ border: 1px solid #B9B9B9;
23
+ color: #990000;
24
+ font-size: 14px;
25
+ font-weight: bold;
26
+ padding: 4px 0 3px 25px;
27
+ background: white;
28
+ }
29
+ .testContainer {
30
+ padding: 12px;
31
+ }
32
+ </style>
33
+
34
+ <div class="testBenchContainer">
35
+
36
+ <div class="testBenchHeader">Rails-portlet test bench</div>
37
+
38
+ <p style="font-size: 14px;">
39
+ These are isolated test cases of the Rails-portlet, for manual testing in the browser. The <%= link_to_exit_portlet 'source code', 'http://rails-portlet.rubyforge.org/svn/trunk/caterpillar/portlet_test_bench/' -%> can be used as a reference for using the same features in other Rails apps.
40
+ </p>
41
+
42
+ <div class="testBenchSuite">HTTP</div>
43
+ <div class="testContainer">
44
+
45
+ <%= link_to 'URL parameter passing',
46
+ :controller => 'Caterpillar::HttpMethods', :action => :parameter -%><br />
47
+
48
+ <%= link_to 'HTTP POST form',
49
+ :controller => 'Caterpillar::HttpMethods', :action => :post -%><br />
50
+
51
+ <%= link_to 'HTTP POST and GET redirect',
52
+ :controller => 'Caterpillar::HttpMethods', :action => :post_and_redirect -%><br />
53
+
54
+ <%= link_to 'HTTP referer (back)',
55
+ :controller => 'Caterpillar::HttpMethods', :action => :back -%><br />
56
+
57
+ <%= link_to 'HTTP redirect',
58
+ :controller => 'Caterpillar::HttpMethods', :action => :redirect -%><br />
59
+
60
+ </div>
61
+
62
+
63
+ <div class="testBenchSuite">JavaScripts</div>
64
+ <div class="testContainer">
65
+
66
+ <%= link_to 'Simple JavaScript',
67
+ :controller => 'Caterpillar::Js', :action => :simple -%><br />
68
+
69
+ <%= link_to 'Prototype JavaScript',
70
+ :controller => 'Caterpillar::Js', :action => :prototype -%><br />
71
+
72
+ <%= link_to 'Script.aculo.us JavaScript',
73
+ :controller => 'Caterpillar::Js', :action => :scriptaculous -%><br />
74
+
75
+ <%= link_to 'jQuery JavaScript',
76
+ :controller => 'Caterpillar::Js', :action => :jquery -%><br />
77
+
78
+ <%= link_to 'Drag and drop',
79
+ :controller => 'Caterpillar::Js', :action => :dragndrop -%><br />
80
+
81
+ <%= link_to 'link_to :method => :post',
82
+ :controller => 'Caterpillar::Js', :action => :link_to_post -%><br />
83
+
84
+ </div>
85
+
86
+
87
+ <div class="testBenchSuite">CSS</div>
88
+ <div class="testContainer">
89
+
90
+ <%= link_to 'Simple CSS',
91
+ :controller => 'Caterpillar::Css', :action => :simple -%><br />
92
+
93
+ <%= link_to 'CSS background image',
94
+ :controller => 'Caterpillar::Css', :action => :background -%><br />
95
+
96
+ </div>
97
+
98
+
99
+ <div class="testBenchSuite">XHR</div>
100
+ <div class="testContainer">
101
+
102
+ <%= link_to 'Get time (Prototype)',
103
+ :controller => 'Caterpillar::Xhr', :action => :prototype -%><br />
104
+
105
+ <%= link_to 'Get time (jQuery)',
106
+ :controller => 'Caterpillar::Xhr', :action => :jquery -%><br />
107
+
108
+ </div>
109
+
110
+
111
+ <div class="testBenchSuite">Misc</div>
112
+ <div class="testContainer">
113
+
114
+ <%= link_to 'Image resources',
115
+ :controller => 'Caterpillar::Resource', :action => :images -%><br />
116
+
117
+ <%= link_to 'Inline text',
118
+ :controller => 'Caterpillar::Resource', :action => :inline -%><br />
119
+
120
+ <%= link_to 'Link outside the portlet',
121
+ :controller => 'Caterpillar::Resource', :action => :exit_portlet -%><br />
122
+
123
+ <%= link_to 'Liferay session variables',
124
+ url_for(
125
+ :controller => 'Caterpillar::Liferay',
126
+ :action => :session_variables
127
+ )+'/uid/%UID%/gid/%GID%'
128
+ -%><br />
129
+
130
+ <%= link_to 'Flash message',
131
+ :controller => 'Caterpillar::Session', :action => :flash_msg -%><br />
132
+
133
+ </div>
134
+
135
+
136
+ <div class="testBenchSuite">JUnit</div>
137
+
138
+ The JUnit tests are used for automatic testing and they output XML.
139
+
140
+ <div class="testContainer">
141
+
142
+ <%= link_to 'Session cookie',
143
+ :controller => 'Caterpillar::Junit', :action => :session_cookie -%><br />
144
+
145
+ <%= link_to 'Redirect',
146
+ :controller => 'Caterpillar::Junit', :action => :redirect -%><br />
147
+
148
+ <%= link_to 'Session cookies & redirect',
149
+ :controller => 'Caterpillar::Junit', :action => :cookies_with_redirect -%><br />
150
+
151
+ </div>
152
+
153
+
154
+ </div>
155
+ </body>
@@ -0,0 +1,29 @@
1
+ <% if @javascripts.include? 'prototype' %>
2
+ <h2>Prototype</h2>
3
+ <p>
4
+ <%= link_to_remote 'What time it is?', :update => 'result1', :url => {:action => 'get_time'} %>
5
+ </p>
6
+ <div id="result1"></div>
7
+
8
+
9
+ <% else %>
10
+ <h2>jQuery</h2>
11
+ <p>
12
+ <a href="#" id="jq_link">What time it is?</a>
13
+ <script type="text/javascript">
14
+ $('#jq_link').click(function(){
15
+ $.ajax({
16
+ url: "<%= url_for :action => 'get_time' %>",
17
+ type: 'POST',
18
+ data: '',
19
+ success: function(data) {
20
+ $('#result2').html(data);
21
+ }
22
+ });
23
+ });
24
+ </script>
25
+ </p>
26
+ <div id="result2"></div>
27
+
28
+
29
+ <% end %>
@@ -15,6 +15,13 @@ class PortletsTest < Caterpillar::TestCase # :nodoc:
15
15
  # end
16
16
  # end
17
17
 
18
+ def test_session
19
+ key = Caterpillar::Security.get_session_key()
20
+ assert_not_nil key
21
+ secret = Caterpillar::Security.get_secret()
22
+ assert_not_nil secret
23
+ end
24
+
18
25
  def test_name
19
26
  @portlets.each do |portlet|
20
27
  assert_not_nil portlet[:name], '%s has no name' % portlet
@@ -15,6 +15,7 @@ class XmlTest < Caterpillar::TestCase # :nodoc:
15
15
  @liferay_tld_table = {
16
16
  '5.1.1' => '5.1.0',
17
17
  '5.2.0' => '5.2.0',
18
+ '5.2.3' => '5.2.0',
18
19
  '6.0.1' => '6.0.0'
19
20
  }
20
21
  end
@@ -70,8 +71,8 @@ class XmlTest < Caterpillar::TestCase # :nodoc:
70
71
  @config.container.version = version
71
72
  xml = @config.container.display_xml(@portlets)
72
73
 
73
- assert xml[/liferay-display.*#{tld}/],
74
- 'Failed to create DTD with proper version; liferay %s' % version
74
+ dtd_v = xml[/liferay-display_(._._.)/,1]
75
+ assert_equal(tld.gsub('.','_'), dtd_v, 'Failed to create DTD with proper version')
75
76
 
76
77
  # parse DTD
77
78
  dtd_file = File.join(@dtd_dir,'liferay-display_%s.dtd' % tld.gsub('.','_'))
@@ -89,8 +90,8 @@ class XmlTest < Caterpillar::TestCase # :nodoc:
89
90
  @liferay_tld_table.each_pair do |version,tld|
90
91
  @config.container.version = version
91
92
  xml = @config.container.portletapp_xml(@portlets)
92
- assert xml[/liferay-portlet-app.*#{tld}/],
93
- 'Failed to create DTD with proper version; liferay %s' % version
93
+ dtd_v = xml[/liferay-portlet-app_(._._.)/,1]
94
+ assert_equal(tld.gsub('.','_'), dtd_v, 'Failed to create DTD with proper version')
94
95
 
95
96
  # parse DTD
96
97
  dtd_file = File.join(@dtd_dir,'liferay-portlet-app_%s.dtd' % tld.gsub('.','_'))
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caterpillar
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 15
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 4
9
- - 3
10
- version: 1.4.3
9
+ - 4
10
+ version: 1.4.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mikael Lammentausta
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-03 00:00:00 +03:00
18
+ date: 2010-07-07 00:00:00 +03:00
19
19
  default_executable: caterpillar
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -118,6 +118,7 @@ files:
118
118
  - portlet_test_bench/controllers/caterpillar/resource_controller.rb
119
119
  - portlet_test_bench/controllers/caterpillar/session_controller.rb
120
120
  - portlet_test_bench/controllers/caterpillar/user_controller.rb
121
+ - portlet_test_bench/controllers/caterpillar/xhr_controller.rb
121
122
  - portlet_test_bench/helpers/caterpillar/application_helper.rb
122
123
  - portlet_test_bench/helpers/caterpillar/junit_helper.rb
123
124
  - portlet_test_bench/README.rdoc
@@ -125,6 +126,7 @@ files:
125
126
  - portlet_test_bench/routing.rb
126
127
  - portlet_test_bench/views/caterpillar/application/_back_to_menu.html.erb
127
128
  - portlet_test_bench/views/caterpillar/application/index.html.erb
129
+ - portlet_test_bench/views/caterpillar/application/portlet_test_bench.html.erb
128
130
  - portlet_test_bench/views/caterpillar/css/background.html.erb
129
131
  - portlet_test_bench/views/caterpillar/css/simple.html.erb
130
132
  - portlet_test_bench/views/caterpillar/http_methods/back.html.erb
@@ -162,6 +164,7 @@ files:
162
164
  - portlet_test_bench/views/caterpillar/session/cookie.html.erb
163
165
  - portlet_test_bench/views/caterpillar/session/flash_display.html.erb
164
166
  - portlet_test_bench/views/caterpillar/user/home.html.erb
167
+ - portlet_test_bench/views/caterpillar/xhr/time.html.erb
165
168
  - portlet_test_bench/views/layouts/bare.html.erb
166
169
  - portlet_test_bench/views/layouts/basic.html.erb
167
170
  - test/dtd/liferay-display_5_1_0.dtd