tarantula 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,5 @@
1
+ v0.2.0 Implementation of updated look-and-feel [Jason Rudolph]
2
+
1
3
  v0.1.8 Add timeouts for crawls to help really long builds [Rob Sanheim]
2
4
 
3
5
  v0.1.7 Minor clean up [Rob Sanheim]
data/README.rdoc CHANGED
@@ -9,9 +9,10 @@ Tarantula is a big fuzzy spider. It crawls your Rails application, fuzzing data
9
9
  === Installation
10
10
 
11
11
  The latest and greatest version is always available on GitHub. (See the rakefile for dependencies, or
12
- just let Rubygems handle it.)
12
+ just let RubyGems handle it.)
13
13
 
14
- gem install relevance-tarantula --source http://gems.github.com
14
+ gem sources -a http://gems.github.com
15
+ gem install relevance-tarantula
15
16
 
16
17
  You can also grab it from RubyForge, where we will push stable releases but may not be as bleeding edge
17
18
  as the GitHub gem.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 8
3
2
  :major: 0
4
- :minor: 1
3
+ :minor: 2
4
+ :patch: 0
@@ -115,47 +115,48 @@ body {
115
115
  }
116
116
 
117
117
  div#page ul.tabs {
118
-
119
118
  clear: both;
120
119
  }
121
120
 
122
121
  div#page ul.tabs li{
122
+ border: 1px solid #ABA6A1;
123
123
  display: block;
124
124
  float: left;
125
+ margin-right: 3px;
125
126
  }
126
127
 
127
128
  div#page ul.tabs li a {
128
129
  display: block;
129
130
  float: left;
130
- clear: right;
131
- margin-right: 5px;
131
+ clear: right;
132
+ min-width: 110px;
132
133
  }
133
134
 
134
135
  div#page ul.tabs li a.active, .ui-tabs-selected a {
135
- background: transparent url(../images/button_active.png) no-repeat top left !important;
136
+ background-color: #EC720B !important;
136
137
  color: #050505 !important;
137
138
  }
138
139
 
139
140
  div#page ul.tabs li a {
140
- background: transparent url(../images/button_inactive.png) no-repeat top left;
141
- height: 38px;
142
- width: 110px;
141
+ background-color: #463B38;
142
+ height: 36px;
143
143
  color: #fff;
144
- padding: 8px 0 0 12px;
145
- font-size: 14px;
144
+
145
+ padding: 12px 12px 0 12px;
146
+ font-size: 18px;
146
147
  line-height: 18px;
147
148
  text-decoration: none;
148
149
  }
149
150
 
150
151
  div#page ul.tabs li a:hover {
151
- background: transparent url(../images/button_hover.png) no-repeat top left;
152
+ background-color: #EAA464 !important;
152
153
  color: #613005;
153
154
  }
154
155
 
155
156
  div#page ul.tabs {
156
157
  position: absolute;
157
- top: 7px;
158
- left: 7px;
158
+ top: 3px;
159
+ left: 10px;
159
160
  }
160
161
 
161
162
  .list {
@@ -20,7 +20,6 @@
20
20
  <div id="page">
21
21
  <ul class="tabs">
22
22
  <li><a href="../index.html">&laquo; Back</a></li>
23
- <!-- TODO dynamically hide/show body/log sections based on selected "tab" - dynamically assign the "active" class to the selected tab -->
24
23
  <li><a href="#fragment-1" class="active">Body</a></li>
25
24
  <li><a href="#fragment-2" class="active">Log</a></li>
26
25
  </ul>
@@ -5,17 +5,23 @@ namespace :tarantula do
5
5
  desc 'Run tarantula tests.'
6
6
  task :test do
7
7
  rm_rf "tmp/tarantula"
8
- task = Rake::TestTask.new(:tarantula_test) do |t|
8
+ Rake::TestTask.new(:tarantula_test) do |t|
9
9
  t.libs << 'test'
10
10
  t.pattern = 'test/tarantula/**/*_test.rb'
11
11
  t.verbose = true
12
12
  end
13
-
13
+
14
14
  Rake::Task[:tarantula_test].invoke
15
15
  end
16
-
16
+
17
17
  desc 'Run tarantula tests and open results in your browser.'
18
- task :report => :test do
18
+ task :report do
19
+ begin
20
+ Rake::Task['tarantula:test'].invoke
21
+ rescue RuntimeError => e
22
+ puts e.message
23
+ end
24
+
19
25
  Dir.glob("tmp/tarantula/**/index.html") do |file|
20
26
  if PLATFORM['darwin']
21
27
  system("open #{file}")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tarantula
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Relevance, Inc.
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-07 00:00:00 -04:00
12
+ date: 2009-05-29 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -68,29 +68,14 @@ files:
68
68
  - examples/relevance/tarantula/tidy_handler_example.rb
69
69
  - examples/relevance/tarantula/transform_example.rb
70
70
  - examples/relevance/tarantula_example.rb
71
- - laf/images/button_active.png
72
- - laf/images/button_hover.png
73
- - laf/images/button_inactive.png
74
71
  - laf/images/header_bg.jpg
75
72
  - laf/images/logo.png
76
73
  - laf/images/tagline.png
77
74
  - laf/javascripts/jquery-1.2.3.js
78
75
  - laf/javascripts/jquery-ui-tabs.js
79
76
  - laf/javascripts/jquery.tablesorter.js
80
- - laf/javascripts/niftyLayout.js
81
- - laf/javascripts/niftycube-details.js
82
- - laf/javascripts/niftycube.js
83
77
  - laf/javascripts/tarantula.js
84
78
  - laf/stylesheets/tarantula.css
85
- - laf/v2/detail.html
86
- - laf/v2/images/button_active.png
87
- - laf/v2/images/button_hover.png
88
- - laf/v2/images/button_inactive.png
89
- - laf/v2/images/header_bg.jpg
90
- - laf/v2/images/logo.png
91
- - laf/v2/images/tagline.png
92
- - laf/v2/index.html
93
- - laf/v2/stylesheets/tarantula.v2.css
94
79
  - lib/relevance/core_extensions/ellipsize.rb
95
80
  - lib/relevance/core_extensions/file.rb
96
81
  - lib/relevance/core_extensions/metaclass.rb
@@ -124,6 +109,8 @@ files:
124
109
  - template/tarantula_test.rb
125
110
  has_rdoc: true
126
111
  homepage: http://github.com/relevance/tarantula
112
+ licenses: []
113
+
127
114
  post_install_message:
128
115
  rdoc_options:
129
116
  - --charset=UTF-8
@@ -144,9 +131,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
131
  requirements: []
145
132
 
146
133
  rubyforge_project: thinkrelevance
147
- rubygems_version: 1.3.1
134
+ rubygems_version: 1.3.2
148
135
  signing_key:
149
- specification_version: 2
136
+ specification_version: 3
150
137
  summary: A big hairy fuzzy spider that crawls your site, wreaking havoc
151
138
  test_files:
152
139
  - examples/example_helper.rb
Binary file
Binary file
Binary file
@@ -1,11 +0,0 @@
1
- /*nifty corners layout*/
2
-
3
- window.onload=function(){
4
- Nifty("div#menu a","small transparent top");
5
- Nifty("ul#intro li","same-height");
6
- Nifty("div.date");
7
- Nifty("div#content,div#side","same-height");
8
- Nifty("div.comments div");
9
- Nifty("div#footer");
10
- Nifty("div#container","bottom");
11
- }
@@ -1,298 +0,0 @@
1
- /* Nifty Corners Cube - rounded corners with CSS and Javascript
2
- Copyright 2006 Alessandro Fulciniti (a.fulciniti@html.it)
3
-
4
- This program is free software; you can redistribute it and/or modify
5
- it under the terms of the GNU General Public License as published by
6
- the Free Software Foundation; either version 2 of the License, or
7
- (at your option) any later version.
8
-
9
- This program is distributed in the hope that it will be useful,
10
- but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- GNU General Public License for more details.
13
-
14
- You should have received a copy of the GNU General Public License
15
- along with this program; if not, write to the Free Software
16
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
- */
18
-
19
- var niftyOk=(document.getElementById && document.createElement && Array.prototype.push);
20
- var niftyCss=false;
21
-
22
- String.prototype.find=function(what){
23
- return(this.indexOf(what)>=0 ? true : false);
24
- }
25
-
26
- var oldonload=window.onload;
27
- if(typeof(NiftyLoad)!='function') NiftyLoad=function(){};
28
- if(typeof(oldonload)=='function')
29
- window.onload=function(){oldonload();AddCss();NiftyLoad()};
30
- else window.onload=function(){AddCss();NiftyLoad()};
31
-
32
- function AddCss(){
33
- niftyCss=true;
34
- var l=CreateEl("link");
35
- l.setAttribute("type","text/css");
36
- l.setAttribute("rel","stylesheet");
37
- l.setAttribute("href","../stylesheets/niftyCorners.css");
38
- l.setAttribute("media","screen");
39
- document.getElementsByTagName("head")[0].appendChild(l);
40
- }
41
-
42
- function Nifty(selector,options){
43
- if(niftyOk==false) return;
44
- if(niftyCss==false) AddCss();
45
- var i,v=selector.split(","),h=0;
46
- if(options==null) options="";
47
- if(options.find("fixed-height"))
48
- h=getElementsBySelector(v[0])[0].offsetHeight;
49
- for(i=0;i<v.length;i++)
50
- Rounded(v[i],options);
51
- if(options.find("height")) SameHeight(selector,h);
52
- }
53
-
54
- function Rounded(selector,options){
55
- var i,top="",bottom="",v=new Array();
56
- if(options!=""){
57
- options=options.replace("left","tl bl");
58
- options=options.replace("right","tr br");
59
- options=options.replace("top","tr tl");
60
- options=options.replace("bottom","br bl");
61
- options=options.replace("transparent","alias");
62
- if(options.find("tl")){
63
- top="both";
64
- if(!options.find("tr")) top="left";
65
- }
66
- else if(options.find("tr")) top="right";
67
- if(options.find("bl")){
68
- bottom="both";
69
- if(!options.find("br")) bottom="left";
70
- }
71
- else if(options.find("br")) bottom="right";
72
- }
73
- if(top=="" && bottom=="" && !options.find("none")){top="both";bottom="both";}
74
- v=getElementsBySelector(selector);
75
- for(i=0;i<v.length;i++){
76
- FixIE(v[i]);
77
- if(top!="") AddTop(v[i],top,options);
78
- if(bottom!="") AddBottom(v[i],bottom,options);
79
- }
80
- }
81
-
82
- function AddTop(el,side,options){
83
- var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color;
84
- d.style.marginLeft="-"+getPadding(el,"Left")+"px";
85
- d.style.marginRight="-"+getPadding(el,"Right")+"px";
86
- if(options.find("alias") || (color=getBk(el))=="transparent"){
87
- color="transparent";bk="transparent"; border=getParentBk(el);btype="t";
88
- }
89
- else{
90
- bk=getParentBk(el); border=Mix(color,bk);
91
- }
92
- d.style.background=bk;
93
- d.className="niftycorners";
94
- p=getPadding(el,"Top");
95
- if(options.find("small")){
96
- d.style.marginBottom=(p-2)+"px";
97
- btype+="s"; lim=2;
98
- }
99
- else if(options.find("big")){
100
- d.style.marginBottom=(p-10)+"px";
101
- btype+="b"; lim=8;
102
- }
103
- else d.style.marginBottom=(p-5)+"px";
104
- for(i=1;i<=lim;i++)
105
- d.appendChild(CreateStrip(i,side,color,border,btype));
106
- el.style.paddingTop="0";
107
- el.insertBefore(d,el.firstChild);
108
- }
109
-
110
- function AddBottom(el,side,options){
111
- var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color;
112
- d.style.marginLeft="-"+getPadding(el,"Left")+"px";
113
- d.style.marginRight="-"+getPadding(el,"Right")+"px";
114
- if(options.find("alias") || (color=getBk(el))=="transparent"){
115
- color="transparent";bk="transparent"; border=getParentBk(el);btype="t";
116
- }
117
- else{
118
- bk=getParentBk(el); border=Mix(color,bk);
119
- }
120
- d.style.background=bk;
121
- d.className="niftycorners";
122
- p=getPadding(el,"Bottom");
123
- if(options.find("small")){
124
- d.style.marginTop=(p-2)+"px";
125
- btype+="s"; lim=2;
126
- }
127
- else if(options.find("big")){
128
- d.style.marginTop=(p-10)+"px";
129
- btype+="b"; lim=8;
130
- }
131
- else d.style.marginTop=(p-5)+"px";
132
- for(i=lim;i>0;i--)
133
- d.appendChild(CreateStrip(i,side,color,border,btype));
134
- el.style.paddingBottom=0;
135
- el.appendChild(d);
136
- }
137
-
138
- function CreateStrip(index,side,color,border,btype){
139
- var x=CreateEl("b");
140
- x.className=btype+index;
141
- x.style.backgroundColor=color;
142
- x.style.borderColor=border;
143
- if(side=="left"){
144
- x.style.borderRightWidth="0";
145
- x.style.marginRight="0";
146
- }
147
- else if(side=="right"){
148
- x.style.borderLeftWidth="0";
149
- x.style.marginLeft="0";
150
- }
151
- return(x);
152
- }
153
-
154
- function CreateEl(x){
155
- return(document.createElement(x));
156
- }
157
-
158
- function FixIE(el){
159
- if(el.currentStyle!=null && el.currentStyle.hasLayout!=null && el.currentStyle.hasLayout==false)
160
- el.style.display="inline-block";
161
- }
162
-
163
- function SameHeight(selector,maxh){
164
- var i,v=selector.split(","),t,j,els=[],gap;
165
- for(i=0;i<v.length;i++){
166
- t=getElementsBySelector(v[i]);
167
- els=els.concat(t);
168
- }
169
- for(i=0;i<els.length;i++){
170
- if(els[i].offsetHeight>maxh) maxh=els[i].offsetHeight;
171
- els[i].style.height="auto";
172
- }
173
- for(i=0;i<els.length;i++){
174
- gap=maxh-els[i].offsetHeight;
175
- if(gap>0){
176
- t=CreateEl("b");t.className="niftyfill";t.style.height=gap+"px";
177
- nc=els[i].lastChild;
178
- if(nc.className=="niftycorners")
179
- els[i].insertBefore(t,nc);
180
- else els[i].appendChild(t);
181
- }
182
- }
183
- }
184
-
185
- function getElementsBySelector(selector){
186
- var i,j,selid="",selclass="",tag=selector,tag2="",v2,k,f,a,s=[],objlist=[],c;
187
- if(selector.find("#")){ //id selector like "tag#id"
188
- if(selector.find(" ")){ //descendant selector like "tag#id tag"
189
- s=selector.split(" ");
190
- var fs=s[0].split("#");
191
- if(fs.length==1) return(objlist);
192
- f=document.getElementById(fs[1]);
193
- if(f){
194
- v=f.getElementsByTagName(s[1]);
195
- for(i=0;i<v.length;i++) objlist.push(v[i]);
196
- }
197
- return(objlist);
198
- }
199
- else{
200
- s=selector.split("#");
201
- tag=s[0];
202
- selid=s[1];
203
- if(selid!=""){
204
- f=document.getElementById(selid);
205
- if(f) objlist.push(f);
206
- return(objlist);
207
- }
208
- }
209
- }
210
- if(selector.find(".")){ //class selector like "tag.class"
211
- s=selector.split(".");
212
- tag=s[0];
213
- selclass=s[1];
214
- if(selclass.find(" ")){ //descendant selector like tag1.classname tag2
215
- s=selclass.split(" ");
216
- selclass=s[0];
217
- tag2=s[1];
218
- }
219
- }
220
- var v=document.getElementsByTagName(tag); // tag selector like "tag"
221
- if(selclass==""){
222
- for(i=0;i<v.length;i++) objlist.push(v[i]);
223
- return(objlist);
224
- }
225
- for(i=0;i<v.length;i++){
226
- c=v[i].className.split(" ");
227
- for(j=0;j<c.length;j++){
228
- if(c[j]==selclass){
229
- if(tag2=="") objlist.push(v[i]);
230
- else{
231
- v2=v[i].getElementsByTagName(tag2);
232
- for(k=0;k<v2.length;k++) objlist.push(v2[k]);
233
- }
234
- }
235
- }
236
- }
237
- return(objlist);
238
- }
239
-
240
- function getParentBk(x){
241
- var el=x.parentNode,c;
242
- while(el.tagName.toUpperCase()!="HTML" && (c=getBk(el))=="transparent")
243
- el=el.parentNode;
244
- if(c=="transparent") c="#FFFFFF";
245
- return(c);
246
- }
247
-
248
- function getBk(x){
249
- var c=getStyleProp(x,"backgroundColor");
250
- if(c==null || c=="transparent" || c.find("rgba(0, 0, 0, 0)"))
251
- return("transparent");
252
- if(c.find("rgb")) c=rgb2hex(c);
253
- return(c);
254
- }
255
-
256
- function getPadding(x,side){
257
- var p=getStyleProp(x,"padding"+side);
258
- if(p==null || !p.find("px")) return(0);
259
- return(parseInt(p));
260
- }
261
-
262
- function getStyleProp(x,prop){
263
- if(x.currentStyle)
264
- return(x.currentStyle[prop]);
265
- if(document.defaultView.getComputedStyle)
266
- return(document.defaultView.getComputedStyle(x,'')[prop]);
267
- return(null);
268
- }
269
-
270
- function rgb2hex(value){
271
- var hex="",v,h,i;
272
- var regexp=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/;
273
- var h=regexp.exec(value);
274
- for(i=1;i<4;i++){
275
- v=parseInt(h[i]).toString(16);
276
- if(v.length==1) hex+="0"+v;
277
- else hex+=v;
278
- }
279
- return("#"+hex);
280
- }
281
-
282
- function Mix(c1,c2){
283
- var i,step1,step2,x,y,r=new Array(3);
284
- if(c1.length==4)step1=1;
285
- else step1=2;
286
- if(c2.length==4) step2=1;
287
- else step2=2;
288
- for(i=0;i<3;i++){
289
- x=parseInt(c1.substr(1+step1*i,step1),16);
290
- if(step1==1) x=16*x+x;
291
- y=parseInt(c2.substr(1+step2*i,step2),16);
292
- if(step2==1) y=16*y+y;
293
- r[i]=Math.floor((x*50+y*50)/100);
294
- r[i]=r[i].toString(16);
295
- if(r[i].length==1) r[i]="0"+r[i];
296
- }
297
- return("#"+r[0]+r[1]+r[2]);
298
- }
@@ -1,298 +0,0 @@
1
- /* Nifty Corners Cube - rounded corners with CSS and Javascript
2
- Copyright 2006 Alessandro Fulciniti (a.fulciniti@html.it)
3
-
4
- This program is free software; you can redistribute it and/or modify
5
- it under the terms of the GNU General Public License as published by
6
- the Free Software Foundation; either version 2 of the License, or
7
- (at your option) any later version.
8
-
9
- This program is distributed in the hope that it will be useful,
10
- but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- GNU General Public License for more details.
13
-
14
- You should have received a copy of the GNU General Public License
15
- along with this program; if not, write to the Free Software
16
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
- */
18
-
19
- var niftyOk=(document.getElementById && document.createElement && Array.prototype.push);
20
- var niftyCss=false;
21
-
22
- String.prototype.find=function(what){
23
- return(this.indexOf(what)>=0 ? true : false);
24
- }
25
-
26
- var oldonload=window.onload;
27
- if(typeof(NiftyLoad)!='function') NiftyLoad=function(){};
28
- if(typeof(oldonload)=='function')
29
- window.onload=function(){oldonload();AddCss();NiftyLoad()};
30
- else window.onload=function(){AddCss();NiftyLoad()};
31
-
32
- function AddCss(){
33
- niftyCss=true;
34
- var l=CreateEl("link");
35
- l.setAttribute("type","text/css");
36
- l.setAttribute("rel","stylesheet");
37
- l.setAttribute("href","stylesheets/niftyCorners.css");
38
- l.setAttribute("media","screen");
39
- document.getElementsByTagName("head")[0].appendChild(l);
40
- }
41
-
42
- function Nifty(selector,options){
43
- if(niftyOk==false) return;
44
- if(niftyCss==false) AddCss();
45
- var i,v=selector.split(","),h=0;
46
- if(options==null) options="";
47
- if(options.find("fixed-height"))
48
- h=getElementsBySelector(v[0])[0].offsetHeight;
49
- for(i=0;i<v.length;i++)
50
- Rounded(v[i],options);
51
- if(options.find("height")) SameHeight(selector,h);
52
- }
53
-
54
- function Rounded(selector,options){
55
- var i,top="",bottom="",v=new Array();
56
- if(options!=""){
57
- options=options.replace("left","tl bl");
58
- options=options.replace("right","tr br");
59
- options=options.replace("top","tr tl");
60
- options=options.replace("bottom","br bl");
61
- options=options.replace("transparent","alias");
62
- if(options.find("tl")){
63
- top="both";
64
- if(!options.find("tr")) top="left";
65
- }
66
- else if(options.find("tr")) top="right";
67
- if(options.find("bl")){
68
- bottom="both";
69
- if(!options.find("br")) bottom="left";
70
- }
71
- else if(options.find("br")) bottom="right";
72
- }
73
- if(top=="" && bottom=="" && !options.find("none")){top="both";bottom="both";}
74
- v=getElementsBySelector(selector);
75
- for(i=0;i<v.length;i++){
76
- FixIE(v[i]);
77
- if(top!="") AddTop(v[i],top,options);
78
- if(bottom!="") AddBottom(v[i],bottom,options);
79
- }
80
- }
81
-
82
- function AddTop(el,side,options){
83
- var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color;
84
- d.style.marginLeft="-"+getPadding(el,"Left")+"px";
85
- d.style.marginRight="-"+getPadding(el,"Right")+"px";
86
- if(options.find("alias") || (color=getBk(el))=="transparent"){
87
- color="transparent";bk="transparent"; border=getParentBk(el);btype="t";
88
- }
89
- else{
90
- bk=getParentBk(el); border=Mix(color,bk);
91
- }
92
- d.style.background=bk;
93
- d.className="niftycorners";
94
- p=getPadding(el,"Top");
95
- if(options.find("small")){
96
- d.style.marginBottom=(p-2)+"px";
97
- btype+="s"; lim=2;
98
- }
99
- else if(options.find("big")){
100
- d.style.marginBottom=(p-10)+"px";
101
- btype+="b"; lim=8;
102
- }
103
- else d.style.marginBottom=(p-5)+"px";
104
- for(i=1;i<=lim;i++)
105
- d.appendChild(CreateStrip(i,side,color,border,btype));
106
- el.style.paddingTop="0";
107
- el.insertBefore(d,el.firstChild);
108
- }
109
-
110
- function AddBottom(el,side,options){
111
- var d=CreateEl("b"),lim=4,border="",p,i,btype="r",bk,color;
112
- d.style.marginLeft="-"+getPadding(el,"Left")+"px";
113
- d.style.marginRight="-"+getPadding(el,"Right")+"px";
114
- if(options.find("alias") || (color=getBk(el))=="transparent"){
115
- color="transparent";bk="transparent"; border=getParentBk(el);btype="t";
116
- }
117
- else{
118
- bk=getParentBk(el); border=Mix(color,bk);
119
- }
120
- d.style.background=bk;
121
- d.className="niftycorners";
122
- p=getPadding(el,"Bottom");
123
- if(options.find("small")){
124
- d.style.marginTop=(p-2)+"px";
125
- btype+="s"; lim=2;
126
- }
127
- else if(options.find("big")){
128
- d.style.marginTop=(p-10)+"px";
129
- btype+="b"; lim=8;
130
- }
131
- else d.style.marginTop=(p-5)+"px";
132
- for(i=lim;i>0;i--)
133
- d.appendChild(CreateStrip(i,side,color,border,btype));
134
- el.style.paddingBottom=0;
135
- el.appendChild(d);
136
- }
137
-
138
- function CreateStrip(index,side,color,border,btype){
139
- var x=CreateEl("b");
140
- x.className=btype+index;
141
- x.style.backgroundColor=color;
142
- x.style.borderColor=border;
143
- if(side=="left"){
144
- x.style.borderRightWidth="0";
145
- x.style.marginRight="0";
146
- }
147
- else if(side=="right"){
148
- x.style.borderLeftWidth="0";
149
- x.style.marginLeft="0";
150
- }
151
- return(x);
152
- }
153
-
154
- function CreateEl(x){
155
- return(document.createElement(x));
156
- }
157
-
158
- function FixIE(el){
159
- if(el.currentStyle!=null && el.currentStyle.hasLayout!=null && el.currentStyle.hasLayout==false)
160
- el.style.display="inline-block";
161
- }
162
-
163
- function SameHeight(selector,maxh){
164
- var i,v=selector.split(","),t,j,els=[],gap;
165
- for(i=0;i<v.length;i++){
166
- t=getElementsBySelector(v[i]);
167
- els=els.concat(t);
168
- }
169
- for(i=0;i<els.length;i++){
170
- if(els[i].offsetHeight>maxh) maxh=els[i].offsetHeight;
171
- els[i].style.height="auto";
172
- }
173
- for(i=0;i<els.length;i++){
174
- gap=maxh-els[i].offsetHeight;
175
- if(gap>0){
176
- t=CreateEl("b");t.className="niftyfill";t.style.height=gap+"px";
177
- nc=els[i].lastChild;
178
- if(nc.className=="niftycorners")
179
- els[i].insertBefore(t,nc);
180
- else els[i].appendChild(t);
181
- }
182
- }
183
- }
184
-
185
- function getElementsBySelector(selector){
186
- var i,j,selid="",selclass="",tag=selector,tag2="",v2,k,f,a,s=[],objlist=[],c;
187
- if(selector.find("#")){ //id selector like "tag#id"
188
- if(selector.find(" ")){ //descendant selector like "tag#id tag"
189
- s=selector.split(" ");
190
- var fs=s[0].split("#");
191
- if(fs.length==1) return(objlist);
192
- f=document.getElementById(fs[1]);
193
- if(f){
194
- v=f.getElementsByTagName(s[1]);
195
- for(i=0;i<v.length;i++) objlist.push(v[i]);
196
- }
197
- return(objlist);
198
- }
199
- else{
200
- s=selector.split("#");
201
- tag=s[0];
202
- selid=s[1];
203
- if(selid!=""){
204
- f=document.getElementById(selid);
205
- if(f) objlist.push(f);
206
- return(objlist);
207
- }
208
- }
209
- }
210
- if(selector.find(".")){ //class selector like "tag.class"
211
- s=selector.split(".");
212
- tag=s[0];
213
- selclass=s[1];
214
- if(selclass.find(" ")){ //descendant selector like tag1.classname tag2
215
- s=selclass.split(" ");
216
- selclass=s[0];
217
- tag2=s[1];
218
- }
219
- }
220
- var v=document.getElementsByTagName(tag); // tag selector like "tag"
221
- if(selclass==""){
222
- for(i=0;i<v.length;i++) objlist.push(v[i]);
223
- return(objlist);
224
- }
225
- for(i=0;i<v.length;i++){
226
- c=v[i].className.split(" ");
227
- for(j=0;j<c.length;j++){
228
- if(c[j]==selclass){
229
- if(tag2=="") objlist.push(v[i]);
230
- else{
231
- v2=v[i].getElementsByTagName(tag2);
232
- for(k=0;k<v2.length;k++) objlist.push(v2[k]);
233
- }
234
- }
235
- }
236
- }
237
- return(objlist);
238
- }
239
-
240
- function getParentBk(x){
241
- var el=x.parentNode,c;
242
- while(el.tagName.toUpperCase()!="HTML" && (c=getBk(el))=="transparent")
243
- el=el.parentNode;
244
- if(c=="transparent") c="#FFFFFF";
245
- return(c);
246
- }
247
-
248
- function getBk(x){
249
- var c=getStyleProp(x,"backgroundColor");
250
- if(c==null || c=="transparent" || c.find("rgba(0, 0, 0, 0)"))
251
- return("transparent");
252
- if(c.find("rgb")) c=rgb2hex(c);
253
- return(c);
254
- }
255
-
256
- function getPadding(x,side){
257
- var p=getStyleProp(x,"padding"+side);
258
- if(p==null || !p.find("px")) return(0);
259
- return(parseInt(p));
260
- }
261
-
262
- function getStyleProp(x,prop){
263
- if(x.currentStyle)
264
- return(x.currentStyle[prop]);
265
- if(document.defaultView.getComputedStyle)
266
- return(document.defaultView.getComputedStyle(x,'')[prop]);
267
- return(null);
268
- }
269
-
270
- function rgb2hex(value){
271
- var hex="",v,h,i;
272
- var regexp=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/;
273
- var h=regexp.exec(value);
274
- for(i=1;i<4;i++){
275
- v=parseInt(h[i]).toString(16);
276
- if(v.length==1) hex+="0"+v;
277
- else hex+=v;
278
- }
279
- return("#"+hex);
280
- }
281
-
282
- function Mix(c1,c2){
283
- var i,step1,step2,x,y,r=new Array(3);
284
- if(c1.length==4)step1=1;
285
- else step1=2;
286
- if(c2.length==4) step2=1;
287
- else step2=2;
288
- for(i=0;i<3;i++){
289
- x=parseInt(c1.substr(1+step1*i,step1),16);
290
- if(step1==1) x=16*x+x;
291
- y=parseInt(c2.substr(1+step2*i,step2),16);
292
- if(step2==1) y=16*y+y;
293
- r[i]=Math.floor((x*50+y*50)/100);
294
- r[i]=r[i].toString(16);
295
- if(r[i].length==1) r[i]="0"+r[i];
296
- }
297
- return("#"+r[0]+r[1]+r[2]);
298
- }
data/laf/v2/detail.html DELETED
@@ -1,59 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
- <link rel="stylesheet" href="stylesheets/tarantula.v2.css" type="text/css" media="screen" title="no title" charset="utf-8" />
8
-
9
- <title>Detail</title>
10
-
11
- </head>
12
-
13
- <body>
14
- <div id="container">
15
- <div id="header">
16
- <h1>Tarantula by Relevance</h1>
17
- <h2>Eight legs, two fangs ... and an attitude</h2>
18
- <p>Tarantula is an open source tool for testing Rails web
19
- applications. Tarantula is developed by <a href="http://thinkrelevance.com">Relevance, Inc.</a>
20
- and lives at <a href="http://github.com/relevance/tarantula">http://github.com/relevance/tarantula</a>.</p>
21
- <hr/>
22
- </div>
23
- <div id="page">
24
- <ul class="tabs">
25
- <li><a href="index.html">&laquo; Failures</a></li>
26
- <li><a href="#" class="active">Data</a></li>
27
- <li><a href="#">Body</a></li>
28
- <li><a href="#">Log</a></li>
29
- </ul>
30
- <div id="report">
31
- <h3>Detail of GET /widgets/1 <em>Generated on Friday January 9, 2009 at 11:01:45am</em></h3>
32
- <p><b>Resource</b> <a href="#">http://localhost:3000/widgets/6</a></p>
33
- <p><b>Response</b> <span class="r5">500</span></p>
34
- <p><b>Referrer</b> /random/30</p>
35
-
36
- <table id="output">
37
- <tbody>
38
- <tr>
39
- <th colspan="2">#</th>
40
- </tr>
41
- <tr>
42
- <td class="numbers">
43
- <span class="line number">1</span>
44
- <span class="line number">2</span>
45
- <span class="line number">3</span>
46
- </td>
47
- <td class="lines">
48
- <span class="line">{:param1 => :value, :param2 => :another_value} </span>
49
- <span class="line">{:param1 => :value, :param2 => :another_value} </span>
50
- <span class="line">{:param1 => :value, :param2 => :another_value} </span>
51
- </td>
52
- </tr>
53
- </tbody>
54
- </table>
55
- </div>
56
- </div>
57
- </div>
58
- </body>
59
- </html>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/laf/v2/index.html DELETED
@@ -1,77 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
- <link rel="stylesheet" href="stylesheets/tarantula.v2.css" type="text/css" media="screen" title="no title" charset="utf-8">
8
-
9
- <title>Tarantula</title>
10
-
11
- </head>
12
-
13
- <body>
14
- <div id="container">
15
- <div id="header">
16
- <h1>Tarantula by Relevance</h1>
17
- <h2>Eight legs, two fangs ... and an attitude</h2>
18
- <p>Tarantula is an open source tool for testing Rails web
19
- applications. Tarantula is developed by <a href="http://thinkrelevance.com">Relevance, Inc.</a>
20
- and lives at <a href="http://github.com/relevance/tarantula">http://github.com/relevance/tarantula</a>.</p>
21
- <hr/>
22
- </div>
23
- <div id="page">
24
- <ul class="tabs">
25
- <li><a href="#" class="active">Failures</a></li>
26
- <li><a href="#">Successes</a></li>
27
- </ul>
28
-
29
- <table id="list" cellspacing="0">
30
- <caption>4 Failures</caption>
31
- <thead>
32
- <tr>
33
- <th><a href="#">URL <span class="sort">&#9660;</span></a></th>
34
- <th><a href="#">Action <span class="sort">&#9650;</span></a></th>
35
- <th><a href="#">Response <span class="sort">&#9650;</span></a></th>
36
- <th class="left"><a href="#">Description <span class="sort">&#9650;</span></a></th>
37
- <th><a href="#">Referrer <span class="sort">&#9650;</span></a></th>
38
- </tr>
39
- </thead>
40
- <tfoot>
41
- <tr><td colspan="5">&nbsp;</td></tr>
42
- </tfoot>
43
- <tbody>
44
- <tr>
45
- <td><a href="detail.html">/widgets/1</a></td>
46
- <td>GET</td>
47
- <td><span class="r5">500</span></td>
48
- <td class="left">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.</td>
49
- <td>/random/91</td>
50
- </tr>
51
- <tr class="even">
52
- <td><a href="detail.html">/widgets/1</a></td>
53
- <td>GET</td>
54
- <td><span class="r5">500</span></td>
55
- <td class="left">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.</td>
56
- <td>/random/91</td>
57
- </tr>
58
- <tr>
59
- <td><a href="detail.html">/widgets/1</a></td>
60
- <td>GET</td>
61
- <td><span class="r5">500</span></td>
62
- <td class="left">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.</td>
63
- <td>/random/91</td>
64
- </tr>
65
- <tr class="even">
66
- <td><a href="detail.html">/widgets/1</a></td>
67
- <td>GET</td>
68
- <td><span class="r5">500</span></td>
69
- <td class="left">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor.</td>
70
- <td>/random/91</td>
71
- </tr>
72
- </tbody>
73
- </table>
74
- </div>
75
- </div>
76
- </body>
77
- </html>
@@ -1,324 +0,0 @@
1
- /* RESET */
2
- html, body, div, span, applet, object, iframe,
3
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
4
- a, abbr, acronym, address, big, cite, code,
5
- del, dfn, em, font, img, ins, kbd, q, s, samp,
6
- small, strike, strong, sub, sup, tt, var,
7
- b, u, i, center,
8
- dl, dt, dd, ol, ul, li,
9
- fieldset, form, label, legend,
10
- table, caption, tbody, tfoot, thead, tr, th, td {
11
- margin: 0;
12
- padding: 0;
13
- border: 0;
14
- outline: 0;
15
- font-size: 100%;
16
- vertical-align: baseline;
17
- background: transparent;
18
- }
19
- body {
20
- line-height: 1;
21
- }
22
- ol, ul {
23
- list-style: none;
24
- }
25
- blockquote, q {
26
- quotes: none;
27
- }
28
-
29
- /* remember to define focus styles! */
30
- :focus {
31
- outline: 0;
32
- }
33
-
34
- /* remember to highlight inserts somehow! */
35
- ins {
36
- text-decoration: none;
37
- }
38
- del {
39
- text-decoration: line-through;
40
- }
41
-
42
- /* tables still need 'cellspacing="0"' in the markup */
43
- table {
44
- border-collapse: collapse;
45
- border-spacing: 0;
46
- }
47
-
48
- body {
49
- line-height: 1em;
50
- font-family: Tahoma, Arial, Helvetica, sans-serif;
51
- color: #050505;
52
- }
53
-
54
- /* header */
55
- #header {
56
- background: #37302e url(../images/header_bg.jpg) no-repeat top left;
57
- height: 70px;
58
- border-bottom: 2px solid #d0d0d0;
59
- }
60
-
61
- #header h1 {
62
- width:206px;
63
- height:56px;
64
- text-indent: -9999em;
65
- background: transparent url(../images/logo.png) no-repeat top center;
66
- position: absolute;
67
- top: 7px;
68
- left: 42px;
69
- }
70
-
71
- #header h2 {
72
- width:196px;
73
- height:34px;
74
- text-indent: -9999em;
75
- background: transparent url(../images/tagline.png) no-repeat top center;
76
- position: absolute;
77
- top: 15px;
78
- left: 257px;
79
- }
80
-
81
- #header p {
82
- display: block;
83
- position: absolute;
84
- right: 42px;
85
- width: 315px;
86
- padding: 8px;
87
- color: #fff;
88
- font-size: 13px;
89
- line-height: 15px;
90
- }
91
-
92
- #header a:link, #header a:visited, #header a {
93
- color: #70b1ca;
94
- }
95
-
96
- #header a:hover {
97
- text-decoration: none;
98
- }
99
-
100
- #header hr {
101
- display: none;
102
- }
103
-
104
- .left { text-align: left !important; }
105
- .right { text-align: right !important; }
106
- .center { text-align: center !important; }
107
-
108
- /* page */
109
-
110
- #page {
111
- padding: 55px 10px 0 10px;
112
- width: 1000px;
113
- margin: auto;
114
- position: relative;
115
- }
116
-
117
- div#page ul.tabs {
118
-
119
- clear: both;
120
- }
121
-
122
- div#page ul.tabs li{
123
- display: block;
124
- float: left;
125
- }
126
-
127
- div#page ul.tabs li a {
128
- display: block;
129
- float: left;
130
- clear: right;
131
- margin-right: 5px;
132
- }
133
-
134
- div#page ul.tabs li a.active {
135
- background: transparent url(../images/button_active.png) no-repeat top left;
136
- color: #050505;
137
- }
138
-
139
- div#page ul.tabs li a {
140
- background: transparent url(../images/button_inactive.png) no-repeat top left;
141
- height: 38px;
142
- width: 110px;
143
- color: #fff;
144
- padding: 8px 0 0 12px;
145
- font-size: 18px;
146
- line-height: 18px;
147
- text-decoration: none;
148
- }
149
-
150
- div#page ul.tabs li a:hover {
151
- background: transparent url(../images/button_hover.png) no-repeat top left;
152
- color: #613005;
153
- }
154
-
155
- div#page ul.tabs {
156
- position: absolute;
157
- top: 7px;
158
- left: 7px;
159
- }
160
-
161
- #list {
162
- width: 100%;
163
- }
164
-
165
- #list th, #list th a, #list tfoot td {
166
- background: #b9b9a9;
167
- color: #463c38;
168
- text-decoration: none;
169
-
170
- }
171
-
172
- .sort {
173
- font-size: 75%;
174
- filter:alpha(opacity=50);
175
- -moz-opacity:0.5;
176
- -khtml-opacity: 0.5;
177
- opacity: 0.5;
178
- }
179
-
180
- #list th, #list th a:hover span {
181
- filter:alpha(opacity=100);
182
- -moz-opacity:1;
183
- -khtml-opacity: 1;
184
- opacity: 1;
185
- }
186
-
187
- #list td, #list th {
188
- text-align: center;
189
- padding: 4px;
190
- font-size: 14px;
191
- }
192
-
193
- div#page tbody a {
194
- color: #6699cc;
195
- }
196
-
197
- div#page tbody a:hover {
198
- text-decoration: none;
199
- }
200
-
201
- div#page table caption {
202
- text-align: left;
203
- padding: 7px;
204
- background: #d0d0c4;
205
- border-bottom: 2px solid #aba7a1;
206
- -moz-border-radius-topleft: 2px;
207
- -moz-border-radius-topright: 2px;
208
- }
209
-
210
- #list tbody td {
211
- background: #f2f2eb;
212
- }
213
-
214
- #list tfoot td {
215
- line-height: 18px;
216
- }
217
-
218
- tr.even td {
219
- background: #e9e9e2 !important;
220
- }
221
-
222
- /* Response Codes */
223
-
224
- span.r1, span.r2, span.r3, span.r4,
225
- span.r5 {
226
- display: block;
227
- padding: .15em;
228
- margin: .15em;
229
- color: #dac7ad;
230
- }
231
-
232
- /* Informational 1xx */
233
- span.r1 {
234
- background-color: #3333cc;
235
- border: 1px solid #376edc;
236
- }
237
-
238
- /* Successfull 2xx */
239
- span.r2 {
240
- background-color: #006600;
241
- border: 1px solid #008900;
242
- }
243
-
244
- /* Redirection 3xx */
245
- span.r3 {
246
- background-color: #555652;
247
- border: 1px solid #80817b;
248
- }
249
-
250
- /* Client 4xx */
251
- span.r4 {
252
- background-color: #857400;
253
- border: 1px solid #baa200;
254
- }
255
- /* Server Error 5xx */
256
- span.r5 {
257
- background-color: #c40000;
258
- border: 1px solid #dc0000;
259
- }
260
-
261
- /* Detail */
262
- #report h3 {
263
- background: #D0D0C4; font-weight: normal;
264
- border-bottom: 2px solid #ABA7A1;
265
- -moz-border-radius-topleft: 2px; -moz-border-radius-topright: 2px;
266
- -webkit-border-top-left-radius: 2px; -webkit-border-top-right-radius: 2px;
267
- }
268
-
269
- #report h3,
270
- #report p {
271
- width: 50%;
272
- padding:6px 8px;
273
- margin: 1px 0;
274
- }
275
-
276
- #report a {
277
- color: #70B1CA
278
- }
279
-
280
- #report a:hover {
281
- text-decoration: none;
282
- }
283
-
284
- #report p b {
285
- color: #050505;
286
- font-weight: normal;
287
- }
288
-
289
- #report p {
290
- color: #463C38;
291
- background: #f2f2eb;
292
- line-height: 22px;
293
- }
294
-
295
- #report p span {
296
- display: inline-block;
297
- display: -moz-inline-block;
298
- margin: 0;
299
- padding: 2px 6px;
300
- line-height: 16px;
301
- }
302
-
303
- #report h3 em {
304
- display: block;
305
- font-family: Consolas, Lucida Console, Monaco, monospace;
306
- font-size: 75%;
307
- font-style: normal;
308
- font-weight: normal;
309
- color: #463C38;
310
- line-height: 22px;
311
- }
312
-
313
- /* Output */
314
- #output {margin: 10px 0; width: 100%; font-size: 82.5%;}
315
- #output th { background: #b9b9a9; text-align: left; padding-left: 2.25em; font-weight: normal; line-height: 18px; color: #463C38; border-bottom: 1px solid #fff;
316
- -moz-border-radius-topleft: 2px; -moz-border-radius-topright: 2px;
317
- -webkit-border-top-left-radius: 2px; -webkit-border-top-right-radius: 2px;
318
- }
319
- #output td { background: #f2f2eb; padding: 1px; line-height: 18px; }
320
- #output { font-family: Consolas, Lucida Console, Monaco, monospace; }
321
- #output .numbers { width: 3em; text-align: right; border-right: 1px solid #fff;}
322
- #output .lines { width: auto; text-align: left;}
323
- #output .line { display: block; text-align: left; padding: 1px 4px;}
324
- #output .line.number { text-align: right; color: #585850; }