diff --git a/lib/instiki_stringsupport.rb b/lib/instiki_stringsupport.rb
index 6b42af96..09010202 100644
--- a/lib/instiki_stringsupport.rb
+++ b/lib/instiki_stringsupport.rb
@@ -2306,12 +2306,17 @@ end
#:stopdoc:
+ TO_ESCAPE = {
+ '&' => '&',
+ '<' => '<',
+ '>' => '>',
+ "'" => ''',
+ '"' => '"',
+ }
+ TO_ESCAPE_PATTERN = Regexp.union(TO_ESCAPE.keys)
+
def escapeHTML
- self.gsub( /&/, "&" ).
- gsub( /, "<" ).
- gsub( />/, ">" ).
- gsub(/'/, "'" ).
- gsub(/"/, """ )
+ self.gsub(TO_ESCAPE_PATTERN){|m| TO_ESCAPE[m]}
end
def unescapeHTML
diff --git a/lib/rack_stuff.rb b/lib/rack_stuff.rb
index cf3cdbca..051417e8 100644
--- a/lib/rack_stuff.rb
+++ b/lib/rack_stuff.rb
@@ -18,6 +18,8 @@ module Rack
end
end
+ if Rack.release <= "1.2"
+ # The Tempfile bug is fixed in the bundled version of Rack
class RewindableInput
def make_rewindable
# Buffer all data into a tempfile. Since this tempfile is private to this
@@ -58,4 +60,6 @@ module Rack
ruby_engine == "ruby" && RUBY_VERSION == "1.9.1" && RUBY_PATCHLEVEL >= 152
end
end
+ end
+
end
\ No newline at end of file
diff --git a/public/svg-edit/editor/extensions/ext-connector.js b/public/svg-edit/editor/extensions/ext-connector.js
index 7bcf040c..2f1990a1 100644
--- a/public/svg-edit/editor/extensions/ext-connector.js
+++ b/public/svg-edit/editor/extensions/ext-connector.js
@@ -36,6 +36,15 @@ svgEditor.addExtension("Connector", function(S) {
]
};
+ function getOffset(side, line) {
+ var give_offset = !!line.getAttribute('marker-' + side);
+// var give_offset = $(line).data(side+'_off');
+
+ // TODO: Make this number (5) be based on marker width/height
+ var size = line.getAttribute('stroke-width') * 5;
+ return give_offset ? size : 0;
+ }
+
function showPanel(on) {
var conn_rules = $('#connector_rules');
if(!conn_rules.length) {
@@ -73,8 +82,43 @@ svgEditor.addExtension("Connector", function(S) {
}
}
- function findConnectors() {
- var elems = selElems;
+ function updateLine(diff_x, diff_y) {
+ // Update line with element
+ var i = connections.length;
+ while(i--) {
+ var conn = connections[i];
+ var line = conn.connector;
+ var elem = conn.elem;
+
+ var pre = conn.is_start?'start':'end';
+// var sw = line.getAttribute('stroke-width') * 5;
+
+ // Update bbox for this element
+ var bb = $(line).data(pre+'_bb');
+ bb.x = conn.start_x + diff_x;
+ bb.y = conn.start_y + diff_y;
+ $(line).data(pre+'_bb', bb);
+
+ var alt_pre = conn.is_start?'end':'start';
+
+ // Get center pt of connected element
+ var bb2 = $(line).data(alt_pre+'_bb');
+ var src_x = bb2.x + bb2.width/2;
+ var src_y = bb2.y + bb2.height/2;
+
+ // Set point of element being moved
+ var pt = getBBintersect(src_x, src_y, bb, getOffset(pre, line)); // $(line).data(pre+'_off')?sw:0
+ setPoint(line, conn.is_start?0:'end', pt.x, pt.y, true);
+
+ // Set point of connected element
+ var pt2 = getBBintersect(pt.x, pt.y, $(line).data(alt_pre + '_bb'), getOffset(alt_pre, line));
+ setPoint(line, conn.is_start?'end':0, pt2.x, pt2.y, true);
+
+ }
+ }
+
+ function findConnectors(elems) {
+ if(!elems) elems = selElems;
var connectors = $(svgcontent).find(conn_sel);
connections = [];
@@ -99,7 +143,6 @@ svgEditor.addExtension("Connector", function(S) {
$(this).remove();
continue;
}
-
if($.inArray(c_elem, elems) !== -1 || add_this) {
var bb = svgCanvas.getStrokedBBox([c_elem]);
connections.push({
@@ -114,11 +157,11 @@ svgEditor.addExtension("Connector", function(S) {
});
}
- function updateConnectors() {
+ function updateConnectors(elems) {
// Updates connector lines based on selected elements
// Is not used on mousemove, as it runs getStrokedBBox every time,
// which isn't necessary there.
- findConnectors();
+ findConnectors(elems);
if(connections.length) {
// Update line with element
var i = connections.length;
@@ -127,7 +170,7 @@ svgEditor.addExtension("Connector", function(S) {
var line = conn.connector;
var elem = conn.elem;
- var sw = line.getAttribute('stroke-width');
+ var sw = line.getAttribute('stroke-width') * 5;
var pre = conn.is_start?'start':'end';
// Update bbox for this element
@@ -145,11 +188,11 @@ svgEditor.addExtension("Connector", function(S) {
var src_y = bb2.y + bb2.height/2;
// Set point of element being moved
- var pt = getBBintersect(src_x, src_y, bb, add_offset?sw:0);
+ var pt = getBBintersect(src_x, src_y, bb, getOffset(pre, line));
setPoint(line, conn.is_start?0:'end', pt.x, pt.y, true);
// Set point of connected element
- var pt2 = getBBintersect(pt.x, pt.y, $(line).data(alt_pre + '_bb'), $(line).data(alt_pre + '_off')?sw:0);
+ var pt2 = getBBintersect(pt.x, pt.y, $(line).data(alt_pre + '_bb'), getOffset(alt_pre, line));
setPoint(line, conn.is_start?'end':0, pt2.x, pt2.y, true);
// Update points attribute manually for webkit
@@ -336,9 +379,10 @@ svgEditor.addExtension("Connector", function(S) {
var mode = svgCanvas.getMode();
if(mode == "connector" && started) {
-
+
+ var sw = cur_line.getAttribute('stroke-width') * 3;
// Set start point (adjusts based on bb)
- var pt = getBBintersect(x, y, $(cur_line).data('start_bb'));
+ var pt = getBBintersect(x, y, $(cur_line).data('start_bb'), getOffset('start', cur_line));
start_x = pt.x;
start_y = pt.y;
@@ -360,38 +404,8 @@ svgEditor.addExtension("Connector", function(S) {
}
}
if(connections.length) {
- // Update line with element
- var i = connections.length;
- while(i--) {
- var conn = connections[i];
- var line = conn.connector;
- var elem = conn.elem;
-
- var pre = conn.is_start?'start':'end';
- var sw = line.getAttribute('stroke-width');
-
- // Update bbox for this element
- var bb = $(line).data(pre+'_bb');
- bb.x = conn.start_x + diff_x;
- bb.y = conn.start_y + diff_y;
- $(line).data(pre+'_bb', bb);
-
- var alt_pre = conn.is_start?'end':'start';
-
- // Get center pt of connected element
- var bb2 = $(line).data(alt_pre+'_bb');
- var src_x = bb2.x + bb2.width/2;
- var src_y = bb2.y + bb2.height/2;
-
- // Set point of element being moved
- var pt = getBBintersect(src_x, src_y, bb, $(line).data(pre+'_off')?sw:0);
- setPoint(line, conn.is_start?0:'end', pt.x, pt.y, true);
-
- // Set point of connected element
- var pt2 = getBBintersect(pt.x, pt.y, $(line).data(alt_pre + '_bb'), $(line).data(alt_pre+'_off')?sw:0);
- setPoint(line, conn.is_start?'end':0, pt2.x, pt2.y, true);
+ updateLine(diff_x, diff_y);
- }
}
}
@@ -449,7 +463,7 @@ svgEditor.addExtension("Connector", function(S) {
var bb = svgCanvas.getStrokedBBox([end_elem]);
- var pt = getBBintersect(start_x, start_y, bb);
+ var pt = getBBintersect(start_x, start_y, bb, getOffset('start', cur_line));
setPoint(cur_line, 'end', pt.x, pt.y, true);
$(cur_line)
.data("c_start", start_id)
@@ -492,6 +506,7 @@ svgEditor.addExtension("Connector", function(S) {
showPanel(false);
}
}
+ updateConnectors();
},
elementChanged: function(opts) {
var elem = opts.elems[0];
@@ -540,10 +555,16 @@ svgEditor.addExtension("Connector", function(S) {
svgCanvas.clearSelection();
pline.id = id;
svgCanvas.addToSelection([pline]);
+ elem = pline;
}
-
}
- updateConnectors();
+ // Update line if it's a connector
+ if(elem.getAttribute('class') == conn_sel.substr(1)) {
+ var start = getElem($(elem).data('c_start'));
+ updateConnectors([start]);
+ } else {
+ updateConnectors();
+ }
},
toolButtonStateUpdate: function(opts) {
if(opts.nostroke) {
diff --git a/public/svg-edit/editor/extensions/ext-markers.js b/public/svg-edit/editor/extensions/ext-markers.js
index 6fa449b1..25b08be9 100644
--- a/public/svg-edit/editor/extensions/ext-markers.js
+++ b/public/svg-edit/editor/extensions/ext-markers.js
@@ -261,6 +261,7 @@ svgEditor.addExtension("Markers", function(S) {
if (val=='') val='\\nomarker';
if (val=='\\nomarker') {
setIcon(pos,val);
+ S.call("changed", selElems);
return;
}
// Set marker on element
diff --git a/public/svg-edit/editor/svg-editor.html b/public/svg-edit/editor/svg-editor.html
index 785ea4db..62afe4ef 100644
--- a/public/svg-edit/editor/svg-editor.html
+++ b/public/svg-edit/editor/svg-editor.html
@@ -507,7 +507,7 @@ script type="text/javascript" src="locale/locale.min.js">
-
+
diff --git a/vendor/plugins/rack/README b/vendor/plugins/rack/README
index 9ca8eb43..fb6e6c54 100644
--- a/vendor/plugins/rack/README
+++ b/vendor/plugins/rack/README
@@ -308,6 +308,11 @@ run on port 11211) and memcache-client installed.
* Various multipart fixes
* Switch test suite to bacon
+* June 15th, 2010: Eleventh public release 1.2.1.
+ * Make CGI handler rewindable
+ * Rename spec/ to test/ to not conflict with SPEC on lesser
+ operating systems
+
== Contact
Please post bugs, suggestions and patches to
diff --git a/vendor/plugins/rack/Rakefile b/vendor/plugins/rack/Rakefile
index 8a78b25b..ad493c92 100644
--- a/vendor/plugins/rack/Rakefile
+++ b/vendor/plugins/rack/Rakefile
@@ -25,14 +25,13 @@ task :officialrelease_really => ["SPEC", :dist, :gem] do
end
def release
- require File.dirname(__FILE__) + "/lib/rack"
- "rack-#{Rack.release}.0"
+ "rack-#{File.read("rack.gemspec")[/s.version *= *"(.*?)"/, 1]}"
end
desc "Make binaries executable"
task :chmod do
Dir["bin/*"].each { |binary| File.chmod(0775, binary) }
- Dir["spec/cgi/spec*"].each { |binary| File.chmod(0775, binary) }
+ Dir["test/cgi/test*"].each { |binary| File.chmod(0775, binary) }
end
desc "Generate a ChangeLog"
@@ -69,16 +68,16 @@ desc "Run all the fast tests"
task :test do
opts = ENV['TEST'] || '-a'
specopts = ENV['TESTOPTS'] ||
- "-q -t '^(?!Rack::Handler|Rack::Adapter|Rack::Session::Memcache|rackup)'"
+ "-q -t '^(?!Rack::Adapter|Rack::Session::Memcache|rackup)'"
- sh "bacon -I./lib:./spec -w #{opts} #{specopts}"
+ sh "bacon -I./lib:./test -w #{opts} #{specopts}"
end
desc "Run all the tests"
task :fulltest => [:chmod] do
opts = ENV['TEST'] || '-a'
specopts = ENV['TESTOPTS'] || '-q'
- sh "bacon -I./lib:./spec -w #{opts} #{specopts}"
+ sh "bacon -I./lib:./test -w #{opts} #{specopts}"
end
task :gem => ["SPEC"] do
diff --git a/vendor/plugins/rack/lib/rack.rb b/vendor/plugins/rack/lib/rack.rb
index 328776dd..96ab2de5 100644
--- a/vendor/plugins/rack/lib/rack.rb
+++ b/vendor/plugins/rack/lib/rack.rb
@@ -20,7 +20,7 @@ module Rack
# Return the Rack release as a dotted string.
def self.release
- "1.2"
+ "1.2.1"
end
autoload :Builder, "rack/builder"
diff --git a/vendor/plugins/rack/lib/rack/handler/fastcgi.rb b/vendor/plugins/rack/lib/rack/handler/fastcgi.rb
index 1eb47904..9c94ca5b 100644
--- a/vendor/plugins/rack/lib/rack/handler/fastcgi.rb
+++ b/vendor/plugins/rack/lib/rack/handler/fastcgi.rb
@@ -20,7 +20,7 @@ module Rack
class FastCGI
def self.run(app, options={})
file = options[:File] and STDIN.reopen(UNIXServer.new(file))
- port = options[:Port] and STDIN.reopen(TCPServer.new(port))
+ port = options[:Port] and STDIN.reopen(TCPServer.new(options[:Host], port))
FCGI.each { |request|
serve request, app
}
diff --git a/vendor/plugins/rack/lib/rack/lock.rb b/vendor/plugins/rack/lib/rack/lock.rb
index 93238528..10d7dbc8 100644
--- a/vendor/plugins/rack/lib/rack/lock.rb
+++ b/vendor/plugins/rack/lib/rack/lock.rb
@@ -1,3 +1,5 @@
+require 'thread'
+
module Rack
class Lock
FLAG = 'rack.multithread'.freeze
diff --git a/vendor/plugins/rack/lib/rack/rewindable_input.rb b/vendor/plugins/rack/lib/rack/rewindable_input.rb
index c94943cb..15ecc586 100644
--- a/vendor/plugins/rack/lib/rack/rewindable_input.rb
+++ b/vendor/plugins/rack/lib/rack/rewindable_input.rb
@@ -77,7 +77,8 @@ module Rack
@rewindable_io.set_encoding(Encoding::BINARY) if @rewindable_io.respond_to?(:set_encoding)
@rewindable_io.binmode
if filesystem_has_posix_semantics?
- @rewindable_io.unlink
+ # Use ::File.unlink as 1.9.1 Tempfile has a bug where unlink closes the file!
+ ::File.unlink @rewindable_io.path
raise 'Unlink failed. IO closed.' if @rewindable_io.closed?
@unlinked = true
end
diff --git a/vendor/plugins/rack/lib/rack/server.rb b/vendor/plugins/rack/lib/rack/server.rb
index 8ef973ca..146fda52 100644
--- a/vendor/plugins/rack/lib/rack/server.rb
+++ b/vendor/plugins/rack/lib/rack/server.rb
@@ -69,7 +69,7 @@ module Rack
end
opts.on_tail("--version", "Show version") do
- puts "Rack #{Rack.version}"
+ puts "Rack #{Rack.version} (Release: #{Rack.release})"
exit
end
end
@@ -144,7 +144,7 @@ module Rack
def default_options
{
- :environment => "development",
+ :environment => ENV['RACK_ENV'] || "development",
:pid => nil,
:Port => 9292,
:Host => "0.0.0.0",
diff --git a/vendor/plugins/rack/lib/rack/utils.rb b/vendor/plugins/rack/lib/rack/utils.rb
index 45c1517b..bc60cd1f 100644
--- a/vendor/plugins/rack/lib/rack/utils.rb
+++ b/vendor/plugins/rack/lib/rack/utils.rb
@@ -135,7 +135,7 @@ module Rack
"'" => "'",
'"' => """,
}
- ESCAPE_HTML_PATTERN = Regexp.union(ESCAPE_HTML.keys)
+ ESCAPE_HTML_PATTERN = Regexp.union(*ESCAPE_HTML.keys)
# Escape ampersands, brackets and quotes to their HTML/XML entities.
def escape_html(string)
diff --git a/vendor/plugins/rack/rack.gemspec b/vendor/plugins/rack/rack.gemspec
index ab142dbc..deb32c38 100644
--- a/vendor/plugins/rack/rack.gemspec
+++ b/vendor/plugins/rack/rack.gemspec
@@ -1,6 +1,6 @@
Gem::Specification.new do |s|
s.name = "rack"
- s.version = "1.2.0"
+ s.version = "1.2.1"
s.platform = Gem::Platform::RUBY
s.summary = "a modular Ruby webserver interface"
@@ -14,14 +14,14 @@ middleware) into a single method call.
Also see http://rack.rubyforge.org.
EOF
- s.files = Dir['{bin/*,contrib/*,example/*,lib/**/*,spec/**/*}'] +
+ s.files = Dir['{bin/*,contrib/*,example/*,lib/**/*,test/**/*}'] +
%w(COPYING KNOWN-ISSUES rack.gemspec README SPEC)
s.bindir = 'bin'
s.executables << 'rackup'
s.require_path = 'lib'
s.has_rdoc = true
s.extra_rdoc_files = ['README', 'SPEC', 'KNOWN-ISSUES']
- s.test_files = Dir['spec/spec_*.rb']
+ s.test_files = Dir['test/spec_*.rb']
s.author = 'Christian Neukirchen'
s.email = 'chneukirchen@gmail.com'
diff --git a/vendor/plugins/rack/spec/cgi/lighttpd.conf b/vendor/plugins/rack/test/cgi/lighttpd.conf
similarity index 92%
rename from vendor/plugins/rack/spec/cgi/lighttpd.conf
rename to vendor/plugins/rack/test/cgi/lighttpd.conf
index 0d8da250..721b76af 100755
--- a/vendor/plugins/rack/spec/cgi/lighttpd.conf
+++ b/vendor/plugins/rack/test/cgi/lighttpd.conf
@@ -17,7 +17,7 @@ fastcgi.server = (
"test.ru" => ("localhost" =>
("min-procs" => 1,
"socket" => "/tmp/rack-test-ru-fcgi",
- "bin-path" => "test.ru")),
+ "bin-path" => CWD + "/rackup_stub.rb test.ru")),
"sample_rackup.ru" => ("localhost" =>
("min-procs" => 1,
"socket" => "/tmp/rack-test-rackup-fcgi",
diff --git a/vendor/plugins/rack/spec/cgi/rackup_stub.rb b/vendor/plugins/rack/test/cgi/rackup_stub.rb
similarity index 100%
rename from vendor/plugins/rack/spec/cgi/rackup_stub.rb
rename to vendor/plugins/rack/test/cgi/rackup_stub.rb
diff --git a/vendor/plugins/rack/spec/cgi/sample_rackup.ru b/vendor/plugins/rack/test/cgi/sample_rackup.ru
similarity index 100%
rename from vendor/plugins/rack/spec/cgi/sample_rackup.ru
rename to vendor/plugins/rack/test/cgi/sample_rackup.ru
diff --git a/vendor/plugins/rack/spec/cgi/test b/vendor/plugins/rack/test/cgi/test
similarity index 100%
rename from vendor/plugins/rack/spec/cgi/test
rename to vendor/plugins/rack/test/cgi/test
diff --git a/vendor/plugins/rack/spec/cgi/test.fcgi b/vendor/plugins/rack/test/cgi/test.fcgi
similarity index 100%
rename from vendor/plugins/rack/spec/cgi/test.fcgi
rename to vendor/plugins/rack/test/cgi/test.fcgi
diff --git a/vendor/plugins/rack/spec/cgi/test.ru b/vendor/plugins/rack/test/cgi/test.ru
similarity index 100%
rename from vendor/plugins/rack/spec/cgi/test.ru
rename to vendor/plugins/rack/test/cgi/test.ru
diff --git a/vendor/plugins/rack/spec/multipart/bad_robots b/vendor/plugins/rack/test/multipart/bad_robots
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/bad_robots
rename to vendor/plugins/rack/test/multipart/bad_robots
diff --git a/vendor/plugins/rack/spec/multipart/binary b/vendor/plugins/rack/test/multipart/binary
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/binary
rename to vendor/plugins/rack/test/multipart/binary
diff --git a/vendor/plugins/rack/spec/multipart/empty b/vendor/plugins/rack/test/multipart/empty
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/empty
rename to vendor/plugins/rack/test/multipart/empty
diff --git a/vendor/plugins/rack/spec/multipart/fail_16384_nofile b/vendor/plugins/rack/test/multipart/fail_16384_nofile
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/fail_16384_nofile
rename to vendor/plugins/rack/test/multipart/fail_16384_nofile
diff --git a/vendor/plugins/rack/spec/multipart/file1.txt b/vendor/plugins/rack/test/multipart/file1.txt
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/file1.txt
rename to vendor/plugins/rack/test/multipart/file1.txt
diff --git a/vendor/plugins/rack/spec/multipart/filename_and_modification_param b/vendor/plugins/rack/test/multipart/filename_and_modification_param
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/filename_and_modification_param
rename to vendor/plugins/rack/test/multipart/filename_and_modification_param
diff --git a/vendor/plugins/rack/spec/multipart/filename_with_escaped_quotes b/vendor/plugins/rack/test/multipart/filename_with_escaped_quotes
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/filename_with_escaped_quotes
rename to vendor/plugins/rack/test/multipart/filename_with_escaped_quotes
diff --git a/vendor/plugins/rack/spec/multipart/filename_with_escaped_quotes_and_modification_param b/vendor/plugins/rack/test/multipart/filename_with_escaped_quotes_and_modification_param
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/filename_with_escaped_quotes_and_modification_param
rename to vendor/plugins/rack/test/multipart/filename_with_escaped_quotes_and_modification_param
diff --git a/vendor/plugins/rack/spec/multipart/filename_with_percent_escaped_quotes b/vendor/plugins/rack/test/multipart/filename_with_percent_escaped_quotes
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/filename_with_percent_escaped_quotes
rename to vendor/plugins/rack/test/multipart/filename_with_percent_escaped_quotes
diff --git a/vendor/plugins/rack/spec/multipart/filename_with_unescaped_quotes b/vendor/plugins/rack/test/multipart/filename_with_unescaped_quotes
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/filename_with_unescaped_quotes
rename to vendor/plugins/rack/test/multipart/filename_with_unescaped_quotes
diff --git a/vendor/plugins/rack/spec/multipart/ie b/vendor/plugins/rack/test/multipart/ie
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/ie
rename to vendor/plugins/rack/test/multipart/ie
diff --git a/vendor/plugins/rack/spec/multipart/nested b/vendor/plugins/rack/test/multipart/nested
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/nested
rename to vendor/plugins/rack/test/multipart/nested
diff --git a/vendor/plugins/rack/spec/multipart/none b/vendor/plugins/rack/test/multipart/none
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/none
rename to vendor/plugins/rack/test/multipart/none
diff --git a/vendor/plugins/rack/spec/multipart/semicolon b/vendor/plugins/rack/test/multipart/semicolon
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/semicolon
rename to vendor/plugins/rack/test/multipart/semicolon
diff --git a/vendor/plugins/rack/spec/multipart/text b/vendor/plugins/rack/test/multipart/text
similarity index 100%
rename from vendor/plugins/rack/spec/multipart/text
rename to vendor/plugins/rack/test/multipart/text
diff --git a/vendor/plugins/rack/spec/rackup/.gitignore b/vendor/plugins/rack/test/rackup/.gitignore
similarity index 100%
rename from vendor/plugins/rack/spec/rackup/.gitignore
rename to vendor/plugins/rack/test/rackup/.gitignore
diff --git a/vendor/plugins/rack/spec/rackup/config.ru b/vendor/plugins/rack/test/rackup/config.ru
similarity index 100%
rename from vendor/plugins/rack/spec/rackup/config.ru
rename to vendor/plugins/rack/test/rackup/config.ru
diff --git a/vendor/plugins/rack/spec/spec_auth_basic.rb b/vendor/plugins/rack/test/spec_auth_basic.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_auth_basic.rb
rename to vendor/plugins/rack/test/spec_auth_basic.rb
diff --git a/vendor/plugins/rack/spec/spec_auth_digest.rb b/vendor/plugins/rack/test/spec_auth_digest.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_auth_digest.rb
rename to vendor/plugins/rack/test/spec_auth_digest.rb
diff --git a/vendor/plugins/rack/spec/spec_builder.rb b/vendor/plugins/rack/test/spec_builder.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_builder.rb
rename to vendor/plugins/rack/test/spec_builder.rb
diff --git a/vendor/plugins/rack/spec/spec_cascade.rb b/vendor/plugins/rack/test/spec_cascade.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_cascade.rb
rename to vendor/plugins/rack/test/spec_cascade.rb
diff --git a/vendor/plugins/rack/spec/spec_cgi.rb b/vendor/plugins/rack/test/spec_cgi.rb
similarity index 92%
rename from vendor/plugins/rack/spec/spec_cgi.rb
rename to vendor/plugins/rack/test/spec_cgi.rb
index e820d3ff..f07fc723 100644
--- a/vendor/plugins/rack/spec/spec_cgi.rb
+++ b/vendor/plugins/rack/test/spec_cgi.rb
@@ -1,3 +1,4 @@
+begin
require File.expand_path('../testrequest', __FILE__)
require 'rack/handler/cgi'
@@ -7,6 +8,10 @@ describe Rack::Handler::CGI do
@host = '0.0.0.0'
@port = 9203
+ if `which lighttpd` && !$?.success?
+ raise "lighttpd not found"
+ end
+
# Keep this first.
$pid = fork {
ENV['RACK_ENV'] = 'deployment'
@@ -89,3 +94,7 @@ describe Rack::Handler::CGI do
Process.wait($pid).should == $pid
end
end
+
+rescue RuntimeError
+ $stderr.puts "Skipping Rack::Session::FastCGI tests (lighttpd is required). Install lighttpd and try again."
+end
diff --git a/vendor/plugins/rack/spec/spec_chunked.rb b/vendor/plugins/rack/test/spec_chunked.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_chunked.rb
rename to vendor/plugins/rack/test/spec_chunked.rb
diff --git a/vendor/plugins/rack/spec/spec_commonlogger.rb b/vendor/plugins/rack/test/spec_commonlogger.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_commonlogger.rb
rename to vendor/plugins/rack/test/spec_commonlogger.rb
diff --git a/vendor/plugins/rack/spec/spec_conditionalget.rb b/vendor/plugins/rack/test/spec_conditionalget.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_conditionalget.rb
rename to vendor/plugins/rack/test/spec_conditionalget.rb
diff --git a/vendor/plugins/rack/spec/spec_config.rb b/vendor/plugins/rack/test/spec_config.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_config.rb
rename to vendor/plugins/rack/test/spec_config.rb
diff --git a/vendor/plugins/rack/spec/spec_content_length.rb b/vendor/plugins/rack/test/spec_content_length.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_content_length.rb
rename to vendor/plugins/rack/test/spec_content_length.rb
diff --git a/vendor/plugins/rack/spec/spec_content_type.rb b/vendor/plugins/rack/test/spec_content_type.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_content_type.rb
rename to vendor/plugins/rack/test/spec_content_type.rb
diff --git a/vendor/plugins/rack/spec/spec_deflater.rb b/vendor/plugins/rack/test/spec_deflater.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_deflater.rb
rename to vendor/plugins/rack/test/spec_deflater.rb
diff --git a/vendor/plugins/rack/spec/spec_directory.rb b/vendor/plugins/rack/test/spec_directory.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_directory.rb
rename to vendor/plugins/rack/test/spec_directory.rb
diff --git a/vendor/plugins/rack/spec/spec_etag.rb b/vendor/plugins/rack/test/spec_etag.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_etag.rb
rename to vendor/plugins/rack/test/spec_etag.rb
diff --git a/vendor/plugins/rack/spec/spec_fastcgi.rb b/vendor/plugins/rack/test/spec_fastcgi.rb
similarity index 89%
rename from vendor/plugins/rack/spec/spec_fastcgi.rb
rename to vendor/plugins/rack/test/spec_fastcgi.rb
index 0e56bf53..3c055b16 100644
--- a/vendor/plugins/rack/spec/spec_fastcgi.rb
+++ b/vendor/plugins/rack/test/spec_fastcgi.rb
@@ -1,3 +1,4 @@
+begin
require File.expand_path('../testrequest', __FILE__)
require 'rack/handler/fastcgi'
@@ -7,6 +8,10 @@ describe Rack::Handler::FastCGI do
@host = '0.0.0.0'
@port = 9203
+ if `which lighttpd` && !$?.success?
+ raise "lighttpd not found"
+ end
+
# Keep this first.
$pid = fork {
ENV['RACK_ENV'] = 'deployment'
@@ -94,3 +99,9 @@ describe Rack::Handler::FastCGI do
Process.wait($pid).should.equal $pid
end
end
+
+rescue RuntimeError
+ $stderr.puts "Skipping Rack::Session::FastCGI tests (lighttpd is required). Install lighttpd and try again."
+rescue LoadError
+ $stderr.puts "Skipping Rack::Handler::FastCGI tests (FCGI is required). `gem install fcgi` and try again."
+end
diff --git a/vendor/plugins/rack/spec/spec_file.rb b/vendor/plugins/rack/test/spec_file.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_file.rb
rename to vendor/plugins/rack/test/spec_file.rb
diff --git a/vendor/plugins/rack/spec/spec_handler.rb b/vendor/plugins/rack/test/spec_handler.rb
similarity index 85%
rename from vendor/plugins/rack/spec/spec_handler.rb
rename to vendor/plugins/rack/test/spec_handler.rb
index 4f05efcf..ab82f88a 100644
--- a/vendor/plugins/rack/spec/spec_handler.rb
+++ b/vendor/plugins/rack/test/spec_handler.rb
@@ -6,9 +6,17 @@ class RockLobster; end
describe Rack::Handler do
it "has registered default handlers" do
Rack::Handler.get('cgi').should.equal Rack::Handler::CGI
- Rack::Handler.get('fastcgi').should.equal Rack::Handler::FastCGI
- Rack::Handler.get('mongrel').should.equal Rack::Handler::Mongrel
Rack::Handler.get('webrick').should.equal Rack::Handler::WEBrick
+
+ begin
+ Rack::Handler.get('fastcgi').should.equal Rack::Handler::FastCGI
+ rescue LoadError
+ end
+
+ begin
+ Rack::Handler.get('mongrel').should.equal Rack::Handler::Mongrel
+ rescue LoadError
+ end
end
should "raise NameError if handler doesn't exist" do
diff --git a/vendor/plugins/rack/spec/spec_head.rb b/vendor/plugins/rack/test/spec_head.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_head.rb
rename to vendor/plugins/rack/test/spec_head.rb
diff --git a/vendor/plugins/rack/spec/spec_lint.rb b/vendor/plugins/rack/test/spec_lint.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_lint.rb
rename to vendor/plugins/rack/test/spec_lint.rb
diff --git a/vendor/plugins/rack/spec/spec_lobster.rb b/vendor/plugins/rack/test/spec_lobster.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_lobster.rb
rename to vendor/plugins/rack/test/spec_lobster.rb
diff --git a/vendor/plugins/rack/spec/spec_lock.rb b/vendor/plugins/rack/test/spec_lock.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_lock.rb
rename to vendor/plugins/rack/test/spec_lock.rb
diff --git a/vendor/plugins/rack/spec/spec_logger.rb b/vendor/plugins/rack/test/spec_logger.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_logger.rb
rename to vendor/plugins/rack/test/spec_logger.rb
diff --git a/vendor/plugins/rack/spec/spec_methodoverride.rb b/vendor/plugins/rack/test/spec_methodoverride.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_methodoverride.rb
rename to vendor/plugins/rack/test/spec_methodoverride.rb
diff --git a/vendor/plugins/rack/spec/spec_mock.rb b/vendor/plugins/rack/test/spec_mock.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_mock.rb
rename to vendor/plugins/rack/test/spec_mock.rb
diff --git a/vendor/plugins/rack/spec/spec_mongrel.rb b/vendor/plugins/rack/test/spec_mongrel.rb
similarity index 99%
rename from vendor/plugins/rack/spec/spec_mongrel.rb
rename to vendor/plugins/rack/test/spec_mongrel.rb
index ac0e825a..5361b5b6 100644
--- a/vendor/plugins/rack/spec/spec_mongrel.rb
+++ b/vendor/plugins/rack/test/spec_mongrel.rb
@@ -177,7 +177,6 @@ describe Rack::Handler::Mongrel do
@acc.raise Mongrel::StopServer
end
-rescue LoadError => ex
- warn ex
+rescue LoadError
warn "Skipping Rack::Handler::Mongrel tests (Mongrel is required). `gem install mongrel` and try again."
end
diff --git a/vendor/plugins/rack/spec/spec_nulllogger.rb b/vendor/plugins/rack/test/spec_nulllogger.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_nulllogger.rb
rename to vendor/plugins/rack/test/spec_nulllogger.rb
diff --git a/vendor/plugins/rack/spec/spec_recursive.rb b/vendor/plugins/rack/test/spec_recursive.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_recursive.rb
rename to vendor/plugins/rack/test/spec_recursive.rb
diff --git a/vendor/plugins/rack/spec/spec_request.rb b/vendor/plugins/rack/test/spec_request.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_request.rb
rename to vendor/plugins/rack/test/spec_request.rb
diff --git a/vendor/plugins/rack/spec/spec_response.rb b/vendor/plugins/rack/test/spec_response.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_response.rb
rename to vendor/plugins/rack/test/spec_response.rb
diff --git a/vendor/plugins/rack/spec/spec_rewindable_input.rb b/vendor/plugins/rack/test/spec_rewindable_input.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_rewindable_input.rb
rename to vendor/plugins/rack/test/spec_rewindable_input.rb
diff --git a/vendor/plugins/rack/spec/spec_runtime.rb b/vendor/plugins/rack/test/spec_runtime.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_runtime.rb
rename to vendor/plugins/rack/test/spec_runtime.rb
diff --git a/vendor/plugins/rack/spec/spec_sendfile.rb b/vendor/plugins/rack/test/spec_sendfile.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_sendfile.rb
rename to vendor/plugins/rack/test/spec_sendfile.rb
diff --git a/vendor/plugins/rack/spec/spec_session_cookie.rb b/vendor/plugins/rack/test/spec_session_cookie.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_session_cookie.rb
rename to vendor/plugins/rack/test/spec_session_cookie.rb
diff --git a/vendor/plugins/rack/spec/spec_session_memcache.rb b/vendor/plugins/rack/test/spec_session_memcache.rb
similarity index 99%
rename from vendor/plugins/rack/spec/spec_session_memcache.rb
rename to vendor/plugins/rack/test/spec_session_memcache.rb
index eb2c5a39..7ee1c353 100644
--- a/vendor/plugins/rack/spec/spec_session_memcache.rb
+++ b/vendor/plugins/rack/test/spec_session_memcache.rb
@@ -24,6 +24,9 @@ begin
incrementor.call(env)
end
+ # test memcache connection
+ Rack::Session::Memcache.new(incrementor)
+
it "faults on no connection" do
if RUBY_VERSION < "1.9"
lambda{
diff --git a/vendor/plugins/rack/spec/spec_session_pool.rb b/vendor/plugins/rack/test/spec_session_pool.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_session_pool.rb
rename to vendor/plugins/rack/test/spec_session_pool.rb
diff --git a/vendor/plugins/rack/spec/spec_showexceptions.rb b/vendor/plugins/rack/test/spec_showexceptions.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_showexceptions.rb
rename to vendor/plugins/rack/test/spec_showexceptions.rb
diff --git a/vendor/plugins/rack/spec/spec_showstatus.rb b/vendor/plugins/rack/test/spec_showstatus.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_showstatus.rb
rename to vendor/plugins/rack/test/spec_showstatus.rb
diff --git a/vendor/plugins/rack/spec/spec_static.rb b/vendor/plugins/rack/test/spec_static.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_static.rb
rename to vendor/plugins/rack/test/spec_static.rb
diff --git a/vendor/plugins/rack/spec/spec_thin.rb b/vendor/plugins/rack/test/spec_thin.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_thin.rb
rename to vendor/plugins/rack/test/spec_thin.rb
diff --git a/vendor/plugins/rack/spec/spec_urlmap.rb b/vendor/plugins/rack/test/spec_urlmap.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_urlmap.rb
rename to vendor/plugins/rack/test/spec_urlmap.rb
diff --git a/vendor/plugins/rack/spec/spec_utils.rb b/vendor/plugins/rack/test/spec_utils.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_utils.rb
rename to vendor/plugins/rack/test/spec_utils.rb
diff --git a/vendor/plugins/rack/spec/spec_webrick.rb b/vendor/plugins/rack/test/spec_webrick.rb
similarity index 100%
rename from vendor/plugins/rack/spec/spec_webrick.rb
rename to vendor/plugins/rack/test/spec_webrick.rb
diff --git a/vendor/plugins/rack/spec/testrequest.rb b/vendor/plugins/rack/test/testrequest.rb
similarity index 100%
rename from vendor/plugins/rack/spec/testrequest.rb
rename to vendor/plugins/rack/test/testrequest.rb
diff --git a/vendor/plugins/rack/spec/unregistered_handler/rack/handler/unregistered.rb b/vendor/plugins/rack/test/unregistered_handler/rack/handler/unregistered.rb
similarity index 100%
rename from vendor/plugins/rack/spec/unregistered_handler/rack/handler/unregistered.rb
rename to vendor/plugins/rack/test/unregistered_handler/rack/handler/unregistered.rb
diff --git a/vendor/plugins/rack/spec/unregistered_handler/rack/handler/unregistered_long_one.rb b/vendor/plugins/rack/test/unregistered_handler/rack/handler/unregistered_long_one.rb
similarity index 100%
rename from vendor/plugins/rack/spec/unregistered_handler/rack/handler/unregistered_long_one.rb
rename to vendor/plugins/rack/test/unregistered_handler/rack/handler/unregistered_long_one.rb