From 0476d8c00ea6cb49c24214afde1a8900bfbfd4c2 Mon Sep 17 00:00:00 2001 From: tdreyno Date: Thu, 24 Sep 2009 16:35:03 -0700 Subject: [PATCH] use gem/rip versions of deps instead of vendoring --- Rakefile | 4 + bin/mm-build | 4 +- deps.rip | 6 +- lib/middleman.rb | 6 +- lib/middleman/markaby.rb | 2 +- lib/middleman/maruku.rb | 2 +- lib/middleman/sprockets_ext.rb | 29 -- lib/vendor/rack-test/History.txt | 64 --- lib/vendor/rack-test/MIT-LICENSE.txt | 19 - lib/vendor/rack-test/README.rdoc | 57 --- lib/vendor/rack-test/Rakefile | 62 --- lib/vendor/rack-test/lib/rack/mock_session.rb | 57 --- lib/vendor/rack-test/lib/rack/test.rb | 246 ------------ .../rack-test/lib/rack/test/cookie_jar.rb | 169 -------- lib/vendor/rack-test/lib/rack/test/methods.rb | 73 ---- .../lib/rack/test/mock_digest_request.rb | 27 -- .../rack-test/lib/rack/test/uploaded_file.rb | 36 -- lib/vendor/rack-test/lib/rack/test/utils.rb | 75 ---- lib/vendor/rack-test/spec/fixtures/config.ru | 3 - .../rack-test/spec/fixtures/fake_app.rb | 109 ------ lib/vendor/rack-test/spec/fixtures/foo.txt | 1 - .../rack-test/spec/rack/test/cookie_spec.rb | 176 --------- .../spec/rack/test/digest_auth_spec.rb | 48 --- .../spec/rack/test/multipart_spec.rb | 85 ---- .../rack-test/spec/rack/test/utils_spec.rb | 44 --- lib/vendor/rack-test/spec/rack/test_spec.rb | 363 ------------------ lib/vendor/rack-test/spec/rcov.opts | 1 - lib/vendor/rack-test/spec/spec.opts | 1 - lib/vendor/rack-test/spec/spec_helper.rb | 48 --- lib/vendor/sinatra-content-for/LICENSE | 22 -- lib/vendor/sinatra-content-for/README.rdoc | 49 --- lib/vendor/sinatra-content-for/Rakefile | 33 -- .../lib/sinatra/content_for.rb | 58 --- .../sinatra-content-for.gemspec | 34 -- .../test/content_for_test.rb | 156 -------- lib/vendor/sinatra-markaby/CHANGES | 7 - lib/vendor/sinatra-markaby/LICENSE | 20 - lib/vendor/sinatra-markaby/README.rdoc | 33 -- lib/vendor/sinatra-markaby/Rakefile | 45 --- lib/vendor/sinatra-markaby/TODO | 3 - lib/vendor/sinatra-markaby/VERSION.yml | 4 - .../sinatra-markaby/lib/sinatra/markaby.rb | 31 -- .../sinatra-markaby/sinatra-markaby.gemspec | 49 --- .../test/sinatra_markaby_test.rb | 72 ---- .../sinatra-markaby/test/test_helper.rb | 19 - .../sinatra-markaby/test/views/hello.mab | 1 - .../sinatra-markaby/test/views/html.mab | 4 - lib/vendor/sinatra-maruku/LICENSE | 22 -- lib/vendor/sinatra-maruku/README.markdown | 85 ---- lib/vendor/sinatra-maruku/Rakefile | 34 -- lib/vendor/sinatra-maruku/VERSION.yml | 4 - lib/vendor/sinatra-maruku/examples/app.rb | 8 - lib/vendor/sinatra-maruku/examples/config.ru | 4 - lib/vendor/sinatra-maruku/examples/mapp.rb | 15 - .../public/javascripts/application.js | 0 .../public/stylesheets/application.css | 23 -- .../examples/public/stylesheets/print.css | 0 .../examples/views/index.maruku | 32 -- .../examples/views/layout.maruku | 9 - .../sinatra-maruku/lib/sinatra/maruku.rb | 25 -- .../sinatra-maruku/sinatra-maruku.gemspec | 70 ---- .../test/sinatra_maruku_test.rb | 91 ----- lib/vendor/sinatra-maruku/test/test_helper.rb | 21 - .../sinatra-maruku/test/views/hello.maruku | 1 - .../sinatra-maruku/test/views/layout2.maruku | 2 - middleman.gemspec | 13 + spec/builder_spec.rb | 2 +- 67 files changed, 30 insertions(+), 2888 deletions(-) delete mode 100644 lib/middleman/sprockets_ext.rb delete mode 100644 lib/vendor/rack-test/History.txt delete mode 100644 lib/vendor/rack-test/MIT-LICENSE.txt delete mode 100644 lib/vendor/rack-test/README.rdoc delete mode 100644 lib/vendor/rack-test/Rakefile delete mode 100644 lib/vendor/rack-test/lib/rack/mock_session.rb delete mode 100644 lib/vendor/rack-test/lib/rack/test.rb delete mode 100644 lib/vendor/rack-test/lib/rack/test/cookie_jar.rb delete mode 100644 lib/vendor/rack-test/lib/rack/test/methods.rb delete mode 100644 lib/vendor/rack-test/lib/rack/test/mock_digest_request.rb delete mode 100644 lib/vendor/rack-test/lib/rack/test/uploaded_file.rb delete mode 100644 lib/vendor/rack-test/lib/rack/test/utils.rb delete mode 100644 lib/vendor/rack-test/spec/fixtures/config.ru delete mode 100644 lib/vendor/rack-test/spec/fixtures/fake_app.rb delete mode 100644 lib/vendor/rack-test/spec/fixtures/foo.txt delete mode 100644 lib/vendor/rack-test/spec/rack/test/cookie_spec.rb delete mode 100644 lib/vendor/rack-test/spec/rack/test/digest_auth_spec.rb delete mode 100644 lib/vendor/rack-test/spec/rack/test/multipart_spec.rb delete mode 100644 lib/vendor/rack-test/spec/rack/test/utils_spec.rb delete mode 100644 lib/vendor/rack-test/spec/rack/test_spec.rb delete mode 100644 lib/vendor/rack-test/spec/rcov.opts delete mode 100644 lib/vendor/rack-test/spec/spec.opts delete mode 100644 lib/vendor/rack-test/spec/spec_helper.rb delete mode 100644 lib/vendor/sinatra-content-for/LICENSE delete mode 100644 lib/vendor/sinatra-content-for/README.rdoc delete mode 100644 lib/vendor/sinatra-content-for/Rakefile delete mode 100644 lib/vendor/sinatra-content-for/lib/sinatra/content_for.rb delete mode 100644 lib/vendor/sinatra-content-for/sinatra-content-for.gemspec delete mode 100644 lib/vendor/sinatra-content-for/test/content_for_test.rb delete mode 100644 lib/vendor/sinatra-markaby/CHANGES delete mode 100644 lib/vendor/sinatra-markaby/LICENSE delete mode 100644 lib/vendor/sinatra-markaby/README.rdoc delete mode 100644 lib/vendor/sinatra-markaby/Rakefile delete mode 100644 lib/vendor/sinatra-markaby/TODO delete mode 100644 lib/vendor/sinatra-markaby/VERSION.yml delete mode 100644 lib/vendor/sinatra-markaby/lib/sinatra/markaby.rb delete mode 100644 lib/vendor/sinatra-markaby/sinatra-markaby.gemspec delete mode 100644 lib/vendor/sinatra-markaby/test/sinatra_markaby_test.rb delete mode 100644 lib/vendor/sinatra-markaby/test/test_helper.rb delete mode 100644 lib/vendor/sinatra-markaby/test/views/hello.mab delete mode 100644 lib/vendor/sinatra-markaby/test/views/html.mab delete mode 100644 lib/vendor/sinatra-maruku/LICENSE delete mode 100644 lib/vendor/sinatra-maruku/README.markdown delete mode 100644 lib/vendor/sinatra-maruku/Rakefile delete mode 100644 lib/vendor/sinatra-maruku/VERSION.yml delete mode 100644 lib/vendor/sinatra-maruku/examples/app.rb delete mode 100644 lib/vendor/sinatra-maruku/examples/config.ru delete mode 100644 lib/vendor/sinatra-maruku/examples/mapp.rb delete mode 100644 lib/vendor/sinatra-maruku/examples/public/javascripts/application.js delete mode 100644 lib/vendor/sinatra-maruku/examples/public/stylesheets/application.css delete mode 100644 lib/vendor/sinatra-maruku/examples/public/stylesheets/print.css delete mode 100644 lib/vendor/sinatra-maruku/examples/views/index.maruku delete mode 100644 lib/vendor/sinatra-maruku/examples/views/layout.maruku delete mode 100644 lib/vendor/sinatra-maruku/lib/sinatra/maruku.rb delete mode 100644 lib/vendor/sinatra-maruku/sinatra-maruku.gemspec delete mode 100644 lib/vendor/sinatra-maruku/test/sinatra_maruku_test.rb delete mode 100644 lib/vendor/sinatra-maruku/test/test_helper.rb delete mode 100644 lib/vendor/sinatra-maruku/test/views/hello.maruku delete mode 100644 lib/vendor/sinatra-maruku/test/views/layout2.maruku diff --git a/Rakefile b/Rakefile index 8b94b5e9..13e21eae 100644 --- a/Rakefile +++ b/Rakefile @@ -16,8 +16,12 @@ begin gem.add_dependency("yui-compressor") gem.add_dependency("sprockets") gem.add_dependency("sinatra") + gem.add_dependency("foca-sinatra-content-for") + gem.add_dependency("brynary-rack-test") gem.add_dependency("markaby") + gem.add_dependency("sbfaulkner-sinatra-markaby") gem.add_dependency("maruku") + gem.add_dependency("wbzyl-sinatra-maruku") gem.add_dependency("haml", ">=2.1.0") gem.add_dependency("chriseppstein-compass") end diff --git a/bin/mm-build b/bin/mm-build index 2f0e0364..ca8aefad 100755 --- a/bin/mm-build +++ b/bin/mm-build @@ -4,8 +4,8 @@ require 'templater' MIDDLEMAN_BUILDER = true -require File.join(File.dirname(__FILE__), '..', 'lib', 'middleman') -require File.join(File.dirname(__FILE__), '..', 'lib', 'vendor', 'rack-test', 'lib', 'rack', 'test') +require 'middleman' +require 'rack-test' module Generators extend Templater::Manifold diff --git a/deps.rip b/deps.rip index 825c524e..51a0afc7 100644 --- a/deps.rip +++ b/deps.rip @@ -3,4 +3,8 @@ git://github.com/sstephenson/ruby-yui-compressor.git git://github.com/sstephenson/sprockets.git git://github.com/sinatra/sinatra.git git://github.com/nex3/haml.git -git://github.com/chriseppstein/compass.git \ No newline at end of file +git://github.com/chriseppstein/compass.git +git://github.com/foca/sinatra-content-for.git +git://github.com/brynary/rack-test.git +git://github.com/sbfaulkner/sinatra-markaby.git +git://github.com/wbzyl/sinatra-maruku.git \ No newline at end of file diff --git a/lib/middleman.rb b/lib/middleman.rb index c627d943..1c18a43d 100644 --- a/lib/middleman.rb +++ b/lib/middleman.rb @@ -2,14 +2,14 @@ require 'haml' require 'compass' #must be loaded before sinatra require 'sinatra/base' -# Sprockets ruby 1.9 hack require 'sprockets' -require File.join(File.dirname(__FILE__), 'middleman', 'sprockets_ext') +# Sprockets ruby 1.9 hack +require 'middleman/sprockets+ruby19' require "yui/compressor" # Include content_for support -require File.join(File.dirname(__FILE__), '..', 'lib', 'vendor', 'sinatra-content-for', 'lib', 'sinatra', 'content_for') +require 'sinatra-content-for' class Middleman < Sinatra::Base set :app_file, __FILE__ diff --git a/lib/middleman/markaby.rb b/lib/middleman/markaby.rb index ec20c311..e6fae908 100644 --- a/lib/middleman/markaby.rb +++ b/lib/middleman/markaby.rb @@ -1,4 +1,4 @@ # Include markaby support -require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'vendor', 'sinatra-markaby', 'lib', 'sinatra', 'markaby') +require 'sinatra-markaby' Middleman.helpers Sinatra::Markaby Middleman.supported_formats << "mab" \ No newline at end of file diff --git a/lib/middleman/maruku.rb b/lib/middleman/maruku.rb index fc2a0c0d..866dcd78 100644 --- a/lib/middleman/maruku.rb +++ b/lib/middleman/maruku.rb @@ -1,4 +1,4 @@ # Include maruku support -require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'vendor', 'sinatra-maruku', 'lib', 'sinatra', 'maruku') +require 'sinatra-maruku' Middleman.helpers Sinatra::Maruku Middleman.supported_formats << "maruku" \ No newline at end of file diff --git a/lib/middleman/sprockets_ext.rb b/lib/middleman/sprockets_ext.rb deleted file mode 100644 index 59894983..00000000 --- a/lib/middleman/sprockets_ext.rb +++ /dev/null @@ -1,29 +0,0 @@ -module Sprockets - class SourceFile - def source_lines - @lines ||= begin - lines = [] - - comments = [] - File.open(pathname.absolute_location, 'rb') do |file| - file.each do |line| - lines << line = SourceLine.new(self, line, file.lineno) - - if line.begins_pdoc_comment? || comments.any? - comments << line - end - - if line.ends_multiline_comment? - if line.ends_pdoc_comment? - comments.each { |l| l.comment! } - end - comments.clear - end - end - end - - lines - end - end - end -end \ No newline at end of file diff --git a/lib/vendor/rack-test/History.txt b/lib/vendor/rack-test/History.txt deleted file mode 100644 index 61705a4f..00000000 --- a/lib/vendor/rack-test/History.txt +++ /dev/null @@ -1,64 +0,0 @@ -== Git - -* Minor enhancements - - * Support initializing a Rack::Test::Session with an app in addition to - a Rack::MockSession - * Allow CONTENT_TYPE to be specified in the env and not overwritten when - sending a POST or PUT - -== 0.4.0 / 2009-06-25 - -* Minor enhancements - - * Expose hook for building Rack::MockSessions for frameworks that need - to configure them before use - * Support passing in arrays of raw cookies in addition to a newline - separated string - * Support after_request callbacks in MockSession for things like running - background jobs - * Allow multiple named sessions using with_session - * Initialize Rack::Test::Sessions with Rack::MockSessions instead of apps. - This change should help integration with other Ruby web frameworks - (like Merb). - * Support sending bodies for PUT requests (Larry Diehl) - -== 0.3.0 / 2009-05-17 - -* Major enhancements - - * Ruby 1.9 compatible (Simon Rozet, Michael Fellinger) - -* Minor enhancements - - * Add CookieJar#[] and CookieJar#[]= methods - * Make the default host configurable - * Use Rack::Lint and fix errors (Simon Rozet) - * Extract Rack::MockSession from Rack::Test::Session to handle tracking - the last request and response and the cookie jar - * Add #set_cookie and #clear_cookies methods - * Rename #authorize to #basic_authorize (#authorize remains as an alias) - (Simon Rozet) - -== 0.2.0 / 2009-04-26 - -Because #last_response is now a MockResponse instead of a Rack::Response, -#last_response.body now returns a string instead of an array. - -* Major enhancements - - * Support multipart requests via the UploadedFile class (thanks, Rails) - -* Minor enhancements - - * Updated for Rack 1.0 - * Don't require rubygems (See http://gist.github.com/54177) - * Support HTTP Digest authentication with the #digest_authorize method - * #last_response returns a MockResponse instead of a Response - (Michael Fellinger) - -== 0.1.0 / 2009-03-02 - -* 1 major enhancement - - * Birthday! diff --git a/lib/vendor/rack-test/MIT-LICENSE.txt b/lib/vendor/rack-test/MIT-LICENSE.txt deleted file mode 100644 index f387441c..00000000 --- a/lib/vendor/rack-test/MIT-LICENSE.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2008-2009 Bryan Helmkamp, Engine Yard Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/lib/vendor/rack-test/README.rdoc b/lib/vendor/rack-test/README.rdoc deleted file mode 100644 index c9f96b60..00000000 --- a/lib/vendor/rack-test/README.rdoc +++ /dev/null @@ -1,57 +0,0 @@ -= Rack::Test - -- http://gitrdoc.com/brynary/rack-test -- http://github.com/brynary/rack-test - -== Description - -Rack::Test is a small, simple testing API for Rack apps. It can be used on its -own or as a reusable starting point for Web frameworks and testing libraries -to build on. Most of its initial functionality is an extraction of Merb 1.0's -request helpers feature. - -== Features - -* Maintains a cookie jar across requests -* Easily follow redirects when desired -* Set request headers to be used by all subsequent requests -* Small footprint. Approximately 200 LOC - -== Example - - require "rack/test" - - class HomepageTest < Test::Unit::TestCase - include Rack::Test::Methods - - def app - MyApp.new - end - - def test_redirect_logged_in_users_to_dashboard - authorize "bryan", "secret" - get "/" - follow_redirect! - - assert_equal "http://example.org/redirected", last_request.url - assert last_response.ok? - end - - end - -== Install - -To install the latest release as a gem: - - sudo gem install rack-test - -== Authors - -- Maintained by {Bryan Helmkamp}[mailto:bryan@brynary.com] -- Contributions from Simon Rozet and Pat Nakajima -- Much of the original code was extracted from Merb 1.0's request helper - -== License - -Copyright (c) 2008-2009 Bryan Helmkamp, Engine Yard Inc. -See MIT-LICENSE.txt in this directory. diff --git a/lib/vendor/rack-test/Rakefile b/lib/vendor/rack-test/Rakefile deleted file mode 100644 index 87fb4c29..00000000 --- a/lib/vendor/rack-test/Rakefile +++ /dev/null @@ -1,62 +0,0 @@ -require "rubygems" -require "rake/rdoctask" -require "rake/gempackagetask" -require "rake/clean" -require "spec/rake/spectask" -require File.expand_path("./lib/rack/test") - -Spec::Rake::SpecTask.new do |t| - t.spec_opts = ['--options', "\"#{File.dirname(__FILE__)}/spec/spec.opts\""] -end - -desc "Run all specs in spec directory with RCov" -Spec::Rake::SpecTask.new(:rcov) do |t| - t.spec_opts = ['--options', "\"#{File.dirname(__FILE__)}/spec/spec.opts\""] - t.rcov = true - t.rcov_opts = lambda do - IO.readlines(File.dirname(__FILE__) + "/spec/rcov.opts").map {|l| l.chomp.split " "}.flatten - end -end - -desc "Run the specs" -task :default => :spec - -spec = Gem::Specification.new do |s| - s.name = "rack-test" - s.version = Rack::Test::VERSION - s.author = "Bryan Helmkamp" - s.email = "bryan" + "@" + "brynary.com" - s.homepage = "http://github.com/brynary/rack-test" - s.summary = "Simple testing API built on Rack" - s.description = s.summary - s.files = %w[History.txt Rakefile README.rdoc] + Dir["lib/**/*"] - - # rdoc - s.has_rdoc = true - s.extra_rdoc_files = %w(README.rdoc MIT-LICENSE.txt) -end - -Rake::GemPackageTask.new(spec) do |package| - package.gem_spec = spec -end - -desc "Delete generated RDoc" -task :clobber_docs do - FileUtils.rm_rf("doc") -end - -desc "Generate RDoc" -task :docs => :clobber_docs do - system "hanna --title 'Rack::Test #{Rack::Test::VERSION} API Documentation'" -end - -desc 'Install the package as a gem.' -task :install => [:clean, :package] do - gem = Dir['pkg/*.gem'].first - sh "sudo gem install --no-rdoc --no-ri --local #{gem}" -end - -desc 'Removes trailing whitespace' -task :whitespace do - sh %{find . -name '*.rb' -exec sed -i '' 's/ *$//g' {} \\;} -end diff --git a/lib/vendor/rack-test/lib/rack/mock_session.rb b/lib/vendor/rack-test/lib/rack/mock_session.rb deleted file mode 100644 index b5ba12a9..00000000 --- a/lib/vendor/rack-test/lib/rack/mock_session.rb +++ /dev/null @@ -1,57 +0,0 @@ -module Rack - - class MockSession - attr_writer :cookie_jar - attr_reader :last_response - attr_reader :default_host - - def initialize(app, default_host = Rack::Test::DEFAULT_HOST) - @app = app - @after_request = [] - @default_host = default_host - end - - def after_request(&block) - @after_request << block - end - - def clear_cookies - @cookie_jar = Rack::Test::CookieJar.new([], @default_host) - end - - def set_cookie(cookie, uri = nil) - cookie_jar.merge(cookie, uri) - end - - def request(uri, env) - env["HTTP_COOKIE"] ||= cookie_jar.for(uri) - @last_request = Rack::Request.new(env) - status, headers, body = @app.call(@last_request.env) - @last_response = MockResponse.new(status, headers, body, env["rack.errors"].flush) - cookie_jar.merge(last_response.headers["Set-Cookie"], uri) - - @after_request.each { |hook| hook.call } - @last_response - end - - # Return the last request issued in the session. Raises an error if no - # requests have been sent yet. - def last_request - raise Rack::Test::Error.new("No request yet. Request a page first.") unless @last_request - @last_request - end - - # Return the last response received in the session. Raises an error if - # no requests have been sent yet. - def last_response - raise Rack::Test::Error.new("No response yet. Request a page first.") unless @last_response - @last_response - end - - def cookie_jar - @cookie_jar ||= Rack::Test::CookieJar.new([], @default_host) - end - - end - -end diff --git a/lib/vendor/rack-test/lib/rack/test.rb b/lib/vendor/rack-test/lib/rack/test.rb deleted file mode 100644 index 34532e36..00000000 --- a/lib/vendor/rack-test/lib/rack/test.rb +++ /dev/null @@ -1,246 +0,0 @@ -unless $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__) + "/..")) - $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + "/..")) -end - -require "uri" -require "rack" -require "rack/mock_session" -require "rack/test/cookie_jar" -require "rack/test/mock_digest_request" -require "rack/test/utils" -require "rack/test/methods" -require "rack/test/uploaded_file" - -module Rack - module Test - - VERSION = "0.4.0" - - DEFAULT_HOST = "example.org" - MULTIPART_BOUNDARY = "----------XnJLe9ZIbbGUYtzPQJ16u1" - - # The common base class for exceptions raised by Rack::Test - class Error < StandardError; end - - class Session - extend Forwardable - include Rack::Test::Utils - - def_delegators :@rack_mock_session, :clear_cookies, :set_cookie, :last_response, :last_request - - # Initialize a new session for the given Rack app - def initialize(mock_session) - @headers = {} - - if mock_session.is_a?(MockSession) - @rack_mock_session = mock_session - else - @rack_mock_session = MockSession.new(mock_session) - end - - @default_host = @rack_mock_session.default_host - end - - # Issue a GET request for the given URI with the given params and Rack - # environment. Stores the issues request object in #last_request and - # the app's response in #last_response. Yield #last_response to a block - # if given. - # - # Example: - # get "/" - def get(uri, params = {}, env = {}, &block) - env = env_for(uri, env.merge(:method => "GET", :params => params)) - process_request(uri, env, &block) - end - - # Issue a POST request for the given URI. See #get - # - # Example: - # post "/signup", "name" => "Bryan" - def post(uri, params = {}, env = {}, &block) - env = env_for(uri, env.merge(:method => "POST", :params => params)) - process_request(uri, env, &block) - end - - # Issue a PUT request for the given URI. See #get - # - # Example: - # put "/" - def put(uri, params = {}, env = {}, &block) - env = env_for(uri, env.merge(:method => "PUT", :params => params)) - process_request(uri, env, &block) - end - - # Issue a DELETE request for the given URI. See #get - # - # Example: - # delete "/" - def delete(uri, params = {}, env = {}, &block) - env = env_for(uri, env.merge(:method => "DELETE", :params => params)) - process_request(uri, env, &block) - end - - # Issue a HEAD request for the given URI. See #get - # - # Example: - # head "/" - def head(uri, params = {}, env = {}, &block) - env = env_for(uri, env.merge(:method => "HEAD", :params => params)) - process_request(uri, env, &block) - end - - # Issue a request to the Rack app for the given URI and optional Rack - # environment. Stores the issues request object in #last_request and - # the app's response in #last_response. Yield #last_response to a block - # if given. - # - # Example: - # request "/" - def request(uri, env = {}, &block) - env = env_for(uri, env) - process_request(uri, env, &block) - end - - # Set a header to be included on all subsequent requests through the - # session. Use a value of nil to remove a previously configured header. - # - # Example: - # header "User-Agent", "Firefox" - def header(name, value) - if value.nil? - @headers.delete(name) - else - @headers[name] = value - end - end - - # Set the username and password for HTTP Basic authorization, to be - # included in subsequent requests in the HTTP_AUTHORIZATION header. - # - # Example: - # basic_authorize "bryan", "secret" - def basic_authorize(username, password) - encoded_login = ["#{username}:#{password}"].pack("m*") - header('HTTP_AUTHORIZATION', "Basic #{encoded_login}") - end - - alias_method :authorize, :basic_authorize - - def digest_authorize(username, password) - @digest_username = username - @digest_password = password - end - - # Rack::Test will not follow any redirects automatically. This method - # will follow the redirect returned in the last response. If the last - # response was not a redirect, an error will be raised. - def follow_redirect! - unless last_response.redirect? - raise Error.new("Last response was not a redirect. Cannot follow_redirect!") - end - - get(last_response["Location"]) - end - - private - - def env_for(path, env) - uri = URI.parse(path) - uri.host ||= @default_host - - env = default_env.merge(env) - - env.update("HTTPS" => "on") if URI::HTTPS === uri - env["X-Requested-With"] = "XMLHttpRequest" if env[:xhr] - - if (env[:method] == "POST" || env["REQUEST_METHOD"] == "POST" || - env[:method] == "PUT" || env["REQUEST_METHOD"] == "PUT") && !env.has_key?(:input) - env["CONTENT_TYPE"] ||= "application/x-www-form-urlencoded" - - multipart = (Hash === env[:params]) && - env[:params].any? { |_, v| UploadedFile === v } - - if multipart - env[:input] = multipart_body(env.delete(:params)) - env["CONTENT_LENGTH"] ||= env[:input].length.to_s - env["CONTENT_TYPE"] = "multipart/form-data; boundary=#{MULTIPART_BOUNDARY}" - else - env[:input] = params_to_string(env.delete(:params)) - end - end - - params = env[:params] || {} - params.update(parse_query(uri.query)) - - uri.query = requestify(params) - - if env.has_key?(:cookie) - set_cookie(env.delete(:cookie), uri) - end - - Rack::MockRequest.env_for(uri.to_s, env) - end - - def process_request(uri, env) - uri = URI.parse(uri) - uri.host ||= @default_host - - @rack_mock_session.request(uri, env) - - if retry_with_digest_auth?(env) - auth_env = env.merge({ - "HTTP_AUTHORIZATION" => digest_auth_header, - "rack-test.digest_auth_retry" => true - }) - auth_env.delete('rack.request') - process_request(uri.path, auth_env) - else - yield last_response if block_given? - - last_response - end - end - - def digest_auth_header - challenge = last_response["WWW-Authenticate"].split(" ", 2).last - params = Rack::Auth::Digest::Params.parse(challenge) - - params.merge!({ - "username" => @digest_username, - "nc" => "00000001", - "cnonce" => "nonsensenonce", - "uri" => last_request.path_info, - "method" => last_request.env["REQUEST_METHOD"], - }) - - params["response"] = MockDigestRequest.new(params).response(@digest_password) - - "Digest #{params}" - end - - def retry_with_digest_auth?(env) - last_response.status == 401 && - digest_auth_configured? && - !env["rack-test.digest_auth_retry"] - end - - def digest_auth_configured? - @digest_username - end - - def default_env - { "rack.test" => true, "REMOTE_ADDR" => "127.0.0.1" }.merge(@headers) - end - - def params_to_string(params) - case params - when Hash then requestify(params) - when nil then "" - else params - end - end - - end - - end -end diff --git a/lib/vendor/rack-test/lib/rack/test/cookie_jar.rb b/lib/vendor/rack-test/lib/rack/test/cookie_jar.rb deleted file mode 100644 index d2f3d2b9..00000000 --- a/lib/vendor/rack-test/lib/rack/test/cookie_jar.rb +++ /dev/null @@ -1,169 +0,0 @@ -require "uri" -module Rack - module Test - - class Cookie - include Rack::Utils - - # :api: private - attr_reader :name, :value - - # :api: private - def initialize(raw, uri = nil, default_host = DEFAULT_HOST) - @default_host = default_host - uri ||= default_uri - - # separate the name / value pair from the cookie options - @name_value_raw, options = raw.split(/[;,] */n, 2) - - @name, @value = parse_query(@name_value_raw, ';').to_a.first - @options = parse_query(options, ';') - - @options["domain"] ||= (uri.host || default_host) - @options["path"] ||= uri.path.sub(/\/[^\/]*\Z/, "") - end - - def replaces?(other) - [name.downcase, domain, path] == [other.name.downcase, other.domain, other.path] - end - - # :api: private - def raw - @name_value_raw - end - - # :api: private - def empty? - @value.nil? || @value.empty? - end - - # :api: private - def domain - @options["domain"] - end - - def secure? - @options.has_key?("secure") - end - - # :api: private - def path - @options["path"].strip || "/" - end - - # :api: private - def expires - Time.parse(@options["expires"]) if @options["expires"] - end - - # :api: private - def expired? - expires && expires < Time.now - end - - # :api: private - def valid?(uri) - uri ||= default_uri - - if uri.host.nil? - uri.host = @default_host - end - - (!secure? || (secure? && uri.scheme == "https")) && - uri.host =~ Regexp.new("#{Regexp.escape(domain)}$", Regexp::IGNORECASE) && - uri.path =~ Regexp.new("^#{Regexp.escape(path)}") - end - - # :api: private - def matches?(uri) - ! expired? && valid?(uri) - end - - # :api: private - def <=>(other) - # Orders the cookies from least specific to most - [name, path, domain.reverse] <=> [other.name, other.path, other.domain.reverse] - end - - protected - - def default_uri - URI.parse("//" + @default_host + "/") - end - - end - - class CookieJar - - # :api: private - def initialize(cookies = [], default_host = DEFAULT_HOST) - @default_host = default_host - @cookies = cookies - @cookies.sort! - end - - def [](name) - cookies = hash_for(nil) - # TODO: Should be case insensitive - cookies[name] && cookies[name].value - end - - def []=(name, value) - # TODO: needs proper escaping - merge("#{name}=#{value}") - end - - def merge(raw_cookies, uri = nil) - return unless raw_cookies - - Array(raw_cookies).join("\n").split("\n").each do |raw_cookie| - cookie = Cookie.new(raw_cookie, uri, @default_host) - self << cookie if cookie.valid?(uri) - end - end - - def <<(new_cookie) - @cookies.reject! do |existing_cookie| - new_cookie.replaces?(existing_cookie) - end - - @cookies << new_cookie - @cookies.sort! - end - - # :api: private - def for(uri) - hash_for(uri).values.map { |c| c.raw }.join(';') - end - - def to_hash - cookies = {} - - hash_for(nil).each do |name, cookie| - cookies[name] = cookie.value - end - - return cookies - end - - protected - - def hash_for(uri = nil) - cookies = {} - - # The cookies are sorted by most specific first. So, we loop through - # all the cookies in order and add it to a hash by cookie name if - # the cookie can be sent to the current URI. It's added to the hash - # so that when we are done, the cookies will be unique by name and - # we'll have grabbed the most specific to the URI. - @cookies.each do |cookie| - cookies[cookie.name] = cookie if cookie.matches?(uri) - end - - return cookies - end - - end - - end -end diff --git a/lib/vendor/rack-test/lib/rack/test/methods.rb b/lib/vendor/rack-test/lib/rack/test/methods.rb deleted file mode 100644 index 1678fe56..00000000 --- a/lib/vendor/rack-test/lib/rack/test/methods.rb +++ /dev/null @@ -1,73 +0,0 @@ -require "forwardable" - -module Rack - module Test - module Methods - extend Forwardable - - def rack_mock_session(name = :default) - return build_rack_mock_session unless name - - @_rack_mock_sessions ||= {} - @_rack_mock_sessions[name] ||= build_rack_mock_session - end - - def build_rack_mock_session - Rack::MockSession.new(app) - end - - def rack_test_session(name = :default) - return build_rack_test_session(name) unless name - - @_rack_test_sessions ||= {} - @_rack_test_sessions[name] ||= build_rack_test_session(name) - end - - def build_rack_test_session(name) - Rack::Test::Session.new(rack_mock_session(name)) - end - - def current_session - rack_test_session(_current_session_names.last) - end - - def with_session(name) - _current_session_names.push(name) - yield rack_test_session(name) - _current_session_names.pop - end - - def _current_session_names - @_current_session_names ||= [:default] - end - - METHODS = [ - :request, - - # HTTP verbs - :get, - :post, - :put, - :delete, - :head, - - # Redirects - :follow_redirect!, - - # Header-related features - :header, - :set_cookie, - :clear_cookies, - :authorize, - :basic_authorize, - :digest_authorize, - - # Expose the last request and response - :last_response, - :last_request - ] - - def_delegators :current_session, *METHODS - end - end -end diff --git a/lib/vendor/rack-test/lib/rack/test/mock_digest_request.rb b/lib/vendor/rack-test/lib/rack/test/mock_digest_request.rb deleted file mode 100644 index 81c398ba..00000000 --- a/lib/vendor/rack-test/lib/rack/test/mock_digest_request.rb +++ /dev/null @@ -1,27 +0,0 @@ -module Rack - module Test - - class MockDigestRequest - def initialize(params) - @params = params - end - - def method_missing(sym) - if @params.has_key? k = sym.to_s - return @params[k] - end - - super - end - - def method - @params['method'] - end - - def response(password) - Rack::Auth::Digest::MD5.new(nil).send :digest, self, password - end - end - - end -end diff --git a/lib/vendor/rack-test/lib/rack/test/uploaded_file.rb b/lib/vendor/rack-test/lib/rack/test/uploaded_file.rb deleted file mode 100644 index 239302fb..00000000 --- a/lib/vendor/rack-test/lib/rack/test/uploaded_file.rb +++ /dev/null @@ -1,36 +0,0 @@ -require "tempfile" - -module Rack - module Test - - class UploadedFile - # The filename, *not* including the path, of the "uploaded" file - attr_reader :original_filename - - # The content type of the "uploaded" file - attr_accessor :content_type - - def initialize(path, content_type = "text/plain", binary = false) - raise "#{path} file does not exist" unless ::File.exist?(path) - @content_type = content_type - @original_filename = ::File.basename(path) - @tempfile = Tempfile.new(@original_filename) - @tempfile.set_encoding(Encoding::BINARY) if @tempfile.respond_to?(:set_encoding) - @tempfile.binmode if binary - FileUtils.copy_file(path, @tempfile.path) - end - - def path - @tempfile.path - end - - alias_method :local_path, :path - - def method_missing(method_name, *args, &block) #:nodoc: - @tempfile.__send__(method_name, *args, &block) - end - - end - - end -end diff --git a/lib/vendor/rack-test/lib/rack/test/utils.rb b/lib/vendor/rack-test/lib/rack/test/utils.rb deleted file mode 100644 index d25b8497..00000000 --- a/lib/vendor/rack-test/lib/rack/test/utils.rb +++ /dev/null @@ -1,75 +0,0 @@ -module Rack - module Test - - module Utils - include Rack::Utils - - def requestify(value, prefix = nil) - case value - when Array - value.map do |v| - requestify(v, "#{prefix}[]") - end.join("&") - when Hash - value.map do |k, v| - requestify(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k)) - end.join("&") - else - "#{prefix}=#{escape(value)}" - end - end - - module_function :requestify - - def multipart_requestify(params, first=true) - p = Hash.new - - params.each do |key, value| - k = first ? key.to_s : "[#{key}]" - - if Hash === value - multipart_requestify(value, false).each do |subkey, subvalue| - p[k + subkey] = subvalue - end - else - p[k] = value - end - end - - return p - end - - module_function :multipart_requestify - - def multipart_body(params) - multipart_requestify(params).map do |key, value| - if value.respond_to?(:original_filename) - ::File.open(value.path, "rb") do |f| - f.set_encoding(Encoding::BINARY) if f.respond_to?(:set_encoding) - - <<-EOF ---#{MULTIPART_BOUNDARY}\r -Content-Disposition: form-data; name="#{key}"; filename="#{escape(value.original_filename)}"\r -Content-Type: #{value.content_type}\r -Content-Length: #{::File.stat(value.path).size}\r -\r -#{f.read}\r -EOF - end - else -<<-EOF ---#{MULTIPART_BOUNDARY}\r -Content-Disposition: form-data; name="#{key}"\r -\r -#{value}\r -EOF - end - end.join("")+"--#{MULTIPART_BOUNDARY}--\r" - end - - module_function :multipart_body - - end - - end -end diff --git a/lib/vendor/rack-test/spec/fixtures/config.ru b/lib/vendor/rack-test/spec/fixtures/config.ru deleted file mode 100644 index 407c9b94..00000000 --- a/lib/vendor/rack-test/spec/fixtures/config.ru +++ /dev/null @@ -1,3 +0,0 @@ -require "fake_app" - -run Rack::Test::FakeApp diff --git a/lib/vendor/rack-test/spec/fixtures/fake_app.rb b/lib/vendor/rack-test/spec/fixtures/fake_app.rb deleted file mode 100644 index 3b2a7541..00000000 --- a/lib/vendor/rack-test/spec/fixtures/fake_app.rb +++ /dev/null @@ -1,109 +0,0 @@ -require "sinatra/base" - -module Rack - module Test - - class FakeApp < Sinatra::Default - head "/" do - "meh" - end - - get "/" do - "Hello, GET: #{params.inspect}" - end - - get "/redirect" do - redirect "/redirected" - end - - get "/redirected" do - "You've been redirected" - end - - get "/void" do - [200, {}, ""] - end - - get "/cookies/show" do - request.cookies.inspect - end - - get "/COOKIES/show" do - request.cookies.inspect - end - - get "/not-cookies/show" do - request.cookies.inspect - end - - get "/cookies/set-secure" do - raise if params["value"].nil? - - response.set_cookie("secure-cookie", :value => params["value"], :secure => true) - "Set" - end - - get "/cookies/set-simple" do - raise if params["value"].nil? - - response.set_cookie "simple", params["value"] - "Set" - end - - get "/cookies/delete" do - response.delete_cookie "value" - end - - get "/cookies/count" do - old_value = request.cookies["count"].to_i || 0 - new_value = (old_value + 1).to_s - - response.set_cookie("count", :value => new_value) - new_value - end - - get "/cookies/set" do - raise if params["value"].nil? - - response.set_cookie("value", { - :value => params["value"], - :path => "/cookies", - :expires => Time.now + 10 - }) - "Set" - end - - get "/cookies/domain" do - old_value = request.cookies["count"].to_i || 0 - new_value = (old_value + 1).to_s - - response.set_cookie("count", :value => new_value, :domain => "localhost.com") - new_value - end - - get "/cookies/set-uppercase" do - raise if params["value"].nil? - - response.set_cookie("VALUE", { - :value => params["value"], - :path => "/cookies", - :expires => Time.now + 10 - }) - "Set" - end - - post "/" do - "Hello, POST: #{params.inspect}" - end - - put "/" do - "Hello, PUT: #{params.inspect}" - end - - delete "/" do - "Hello, DELETE: #{params.inspect}" - end - end - - end -end diff --git a/lib/vendor/rack-test/spec/fixtures/foo.txt b/lib/vendor/rack-test/spec/fixtures/foo.txt deleted file mode 100644 index 5716ca59..00000000 --- a/lib/vendor/rack-test/spec/fixtures/foo.txt +++ /dev/null @@ -1 +0,0 @@ -bar diff --git a/lib/vendor/rack-test/spec/rack/test/cookie_spec.rb b/lib/vendor/rack-test/spec/rack/test/cookie_spec.rb deleted file mode 100644 index a008d9c6..00000000 --- a/lib/vendor/rack-test/spec/rack/test/cookie_spec.rb +++ /dev/null @@ -1,176 +0,0 @@ -require File.dirname(__FILE__) + "/../../spec_helper" - -describe Rack::Test::Session do - def have_body(string) - simple_matcher "have body #{string.inspect}" do |response| - response.body.should == string - end - end - - context "cookies" do - it "keeps a cookie jar" do - get "/cookies/show" - last_request.cookies.should == {} - - get "/cookies/set", "value" => "1" - get "/cookies/show" - last_request.cookies.should == { "value" => "1" } - end - - it "doesn't send expired cookies" do - get "/cookies/set", "value" => "1" - now = Time.now - Time.stub!(:now => now + 60) - get "/cookies/show" - last_request.cookies.should == {} - end - - it "doesn't send cookies with the wrong domain" do - get "http://www.example.com/cookies/set", "value" => "1" - get "http://www.other.example/cookies/show" - last_request.cookies.should == {} - end - - it "doesn't send cookies with the wrong path" do - get "/cookies/set", "value" => "1" - get "/not-cookies/show" - last_request.cookies.should == {} - end - - it "persists cookies across requests that don't return any cookie headers" do - get "/cookies/set", "value" => "1" - get "/void" - get "/cookies/show" - last_request.cookies.should == { "value" => "1" } - end - - it "deletes cookies" do - get "/cookies/set", "value" => "1" - get "/cookies/delete" - get "/cookies/show" - last_request.cookies.should == { } - end - - xit "respects cookie domains when no domain is explicitly set" do - request("http://example.org/cookies/count").should have_body("1") - request("http://www.example.org/cookies/count").should have_body("1") - request("http://example.org/cookies/count").should have_body("2") - request("http://www.example.org/cookies/count").should have_body("2") - end - - it "treats domains case insensitively" do - get "http://example.com/cookies/set", "value" => "1" - get "http://EXAMPLE.COM/cookies/show" - last_request.cookies.should == { "value" => "1" } - end - - it "treats paths case sensitively" do - get "/cookies/set", "value" => "1" - get "/COOKIES/show" - last_request.cookies.should == {} - end - - it "prefers more specific cookies" do - get "http://example.com/cookies/set", "value" => "domain" - get "http://sub.example.com/cookies/set", "value" => "sub" - - get "http://sub.example.com/cookies/show" - last_request.cookies.should == { "value" => "sub" } - - get "http://example.com/cookies/show" - last_request.cookies.should == { "value" => "domain" } - end - - it "treats cookie names case insensitively" do - get "/cookies/set", "value" => "lowercase" - get "/cookies/set-uppercase", "value" => "UPPERCASE" - get "/cookies/show" - last_request.cookies.should == { "VALUE" => "UPPERCASE" } - end - - it "defaults the domain to the request domain" do - get "http://example.com/cookies/set-simple", "value" => "cookie" - get "http://example.com/cookies/show" - last_request.cookies.should == { "simple" => "cookie" } - - get "http://other.example/cookies/show" - last_request.cookies.should == {} - end - - it "defaults the domain to the request path up to the last slash" do - get "/cookies/set-simple", "value" => "1" - get "/not-cookies/show" - last_request.cookies.should == {} - end - - it "supports secure cookies" do - get "https://example.com/cookies/set-secure", "value" => "set" - get "http://example.com/cookies/show" - last_request.cookies.should == {} - - get "https://example.com/cookies/show" - last_request.cookies.should == { "secure-cookie" => "set" } - end - - it "keeps separate cookie jars for different domains" do - get "http://example.com/cookies/set", "value" => "example" - get "http://example.com/cookies/show" - last_request.cookies.should == { "value" => "example" } - - get "http://other.example/cookies/set", "value" => "other" - get "http://other.example/cookies/show" - last_request.cookies.should == { "value" => "other" } - - get "http://example.com/cookies/show" - last_request.cookies.should == { "value" => "example" } - end - - it "allows cookies to be cleared" do - get "/cookies/set", "value" => "1" - clear_cookies - get "/cookies/show" - last_request.cookies.should == {} - end - - it "allow cookies to be set" do - set_cookie "value=10" - get "/cookies/show" - last_request.cookies.should == { "value" => "10" } - end - - it "allows an array of cookies to be set" do - set_cookie ["value=10", "foo=bar"] - get "/cookies/show" - last_request.cookies.should == { "value" => "10", "foo" => "bar" } - end - - it "supports multiple sessions" do - with_session(:first) do - get "/cookies/set", "value" => "1" - get "/cookies/show" - last_request.cookies.should == { "value" => "1" } - end - - with_session(:second) do - get "/cookies/show" - last_request.cookies.should == { } - end - end - - it "uses :default as the default session name" do - get "/cookies/set", "value" => "1" - get "/cookies/show" - last_request.cookies.should == { "value" => "1" } - - with_session(:default) do - get "/cookies/show" - last_request.cookies.should == { "value" => "1" } - end - end - - it "accepts explicitly provided cookies" do - request "/cookies/show", :cookie => "value=1" - last_request.cookies.should == { "value" => "1" } - end - end -end diff --git a/lib/vendor/rack-test/spec/rack/test/digest_auth_spec.rb b/lib/vendor/rack-test/spec/rack/test/digest_auth_spec.rb deleted file mode 100644 index 9e7de744..00000000 --- a/lib/vendor/rack-test/spec/rack/test/digest_auth_spec.rb +++ /dev/null @@ -1,48 +0,0 @@ -require File.dirname(__FILE__) + "/../../spec_helper" - -describe Rack::Test::Session do - context "HTTP Digest authentication" do - - def app - app = Rack::Auth::Digest::MD5.new(Rack::Test::FakeApp.new) do |username| - { 'alice' => 'correct-password' }[username] - end - app.realm = 'WallysWorld' - app.opaque = 'this-should-be-secret' - app - end - - def be_challenge - simple_matcher "a HTTP Digest challenge response" do |response| - response.status == 401 && - response['WWW-Authenticate'] =~ /^Digest / && - response.body.empty? - end - end - - it 'incorrectly authenticates GETs' do - digest_authorize 'foo', 'bar' - get '/' - last_response.should be_challenge - end - - it "correctly authenticates GETs" do - digest_authorize "alice", "correct-password" - response = get "/" - response.should be_ok - end - - it "correctly authenticates POSTs" do - digest_authorize "alice", "correct-password" - response = post "/" - response.should be_ok - end - - it "returns a re-challenge if authenticating incorrectly" do - digest_authorize "alice", "incorrect-password" - response = get "/" - response.should be_challenge - end - - end -end diff --git a/lib/vendor/rack-test/spec/rack/test/multipart_spec.rb b/lib/vendor/rack-test/spec/rack/test/multipart_spec.rb deleted file mode 100644 index 12351847..00000000 --- a/lib/vendor/rack-test/spec/rack/test/multipart_spec.rb +++ /dev/null @@ -1,85 +0,0 @@ -require File.dirname(__FILE__) + "/../../spec_helper" - -describe Rack::Test::Session do - - def test_file_path - File.dirname(__FILE__) + "/../../fixtures/foo.txt" - end - - def uploaded_file - Rack::Test::UploadedFile.new(test_file_path) - end - - context "uploading a file" do - it "sends the multipart/form-data content type" do - post "/", "photo" => uploaded_file - last_request.env["CONTENT_TYPE"].should include("multipart/form-data;") - end - - it "sends regular params" do - post "/", "photo" => uploaded_file, "foo" => "bar" - last_request.POST["foo"].should == "bar" - end - - it "sends nested params" do - post "/", "photo" => uploaded_file, "foo" => {"bar" => "baz"} - last_request.POST["foo"]["bar"].should == "baz" - end - - it "sends multiple nested params" do - post "/", "photo" => uploaded_file, "foo" => {"bar" => {"baz" => "bop"}} - last_request.POST["foo"]["bar"]["baz"].should == "bop" - end - - xit "sends params with arrays" do - post "/", "photo" => uploaded_file, "foo" => ["1", "2"] - last_request.POST["foo[]"].should == ["1", "2"] - end - - it "sends params with encoding sensitive values" do - post "/", "photo" => uploaded_file, "foo" => "bar? baz" - last_request.POST["foo"].should == "bar? baz" - end - - it "sends params with parens in names" do - post "/", "photo" => uploaded_file, "foo(1i)" => "bar" - last_request.POST["foo(1i)"].should == "bar" - end - - it "sends params with encoding sensitive names" do - post "/", "photo" => uploaded_file, "foo bar" => "baz" - last_request.POST["foo bar"].should == "baz" - end - - it "sends files with the filename" do - post "/", "photo" => uploaded_file - last_request.POST["photo"][:filename].should == "foo.txt" - end - - it "sends files with the text/plain MIME type by default" do - post "/", "photo" => uploaded_file - last_request.POST["photo"][:type].should == "text/plain" - end - - it "sends files with the right name" do - post "/", "photo" => uploaded_file - last_request.POST["photo"][:name].should == "photo" - end - - it "allows overriding the content type" do - post "/", "photo" => Rack::Test::UploadedFile.new(test_file_path, "image/jpeg") - last_request.POST["photo"][:type].should == "image/jpeg" - end - - it "sends files with a Content-Length in the header" do - post "/", "photo" => uploaded_file - last_request.POST["photo"][:head].should include("Content-Length: 4") - end - - it "sends files as Tempfiles" do - post "/", "photo" => uploaded_file - last_request.POST["photo"][:tempfile].should be_a(::Tempfile) - end - end - -end diff --git a/lib/vendor/rack-test/spec/rack/test/utils_spec.rb b/lib/vendor/rack-test/spec/rack/test/utils_spec.rb deleted file mode 100644 index 0a38811d..00000000 --- a/lib/vendor/rack-test/spec/rack/test/utils_spec.rb +++ /dev/null @@ -1,44 +0,0 @@ -require File.dirname(__FILE__) + "/../../spec_helper" - -describe Rack::Test::Utils do - include Rack::Test::Utils - - describe "requestify" do - it "converts empty strings to =" do - requestify("").should == "=" - end - - it "converts nil to =" do - requestify(nil).should == "=" - end - - it "converts hashes" do - requestify(:a => 1).should == "a=1" - end - - it "converts hashes with multiple keys" do - hash = { :a => 1, :b => 2 } - ["a=1&b=2", "b=2&a=1"].should include(requestify(hash)) - end - - it "converts arrays with one element" do - requestify(:a => [1]).should == "a[]=1" - end - - it "converts arrays with multiple elements" do - requestify(:a => [1, 2]).should == "a[]=1&a[]=2" - end - - it "converts nested hashes" do - requestify(:a => { :b => 1 }).should == "a[b]=1" - end - - it "converts arrays nested in a hash" do - requestify(:a => { :b => [1, 2] }).should == "a[b][]=1&a[b][]=2" - end - - it "converts arrays of hashes" do - requestify(:a => [{ :b => 2}, { :c => 3}]).should == "a[][b]=2&a[][c]=3" - end - end -end diff --git a/lib/vendor/rack-test/spec/rack/test_spec.rb b/lib/vendor/rack-test/spec/rack/test_spec.rb deleted file mode 100644 index 332fbc61..00000000 --- a/lib/vendor/rack-test/spec/rack/test_spec.rb +++ /dev/null @@ -1,363 +0,0 @@ -require File.dirname(__FILE__) + "/../spec_helper" - -describe Rack::Test::Session do - describe "initialization" do - it "supports being initialized with a Rack::MockSession app" do - session = Rack::Test::Session.new(Rack::MockSession.new(app)) - session.request("/").should be_ok - end - - it "supports being initialized with an app" do - session = Rack::Test::Session.new(app) - session.request("/").should be_ok - end - end - - describe "#request" do - it "requests the URI using GET by default" do - request "/" - last_request.should be_get - last_response.should be_ok - end - - it "returns a response" do - request("/").should be_ok - end - - it "uses the provided env" do - request "/", "X-Foo" => "bar" - last_request.env["X-Foo"].should == "bar" - end - - it "defaults to GET" do - request "/" - last_request.env["REQUEST_METHOD"].should == "GET" - end - - it "defaults the REMOTE_ADDR to 127.0.0.1" do - request "/" - last_request.env["REMOTE_ADDR"].should == "127.0.0.1" - end - - it "sets rack.test to true in the env" do - request "/" - last_request.env["rack.test"].should == true - end - - it "defaults to port 80" do - request "/" - last_request.env["SERVER_PORT"].should == "80" - end - - it "defaults to example.org" do - request "/" - last_request.env["SERVER_NAME"].should == "example.org" - end - - it "yields the response to a given block" do - request "/" do |response| - response.should be_ok - end - end - - it "supports sending :params" do - request "/", :params => { "foo" => "bar" } - last_request.GET["foo"].should == "bar" - end - - it "doesn't follow redirects by default" do - request "/redirect" - last_response.should be_redirect - last_response.body.should be_empty - end - - context "when input is given" do - it "should send the input" do - request "/", :method => "POST", :input => "foo" - last_request.env["rack.input"].read.should == "foo" - end - - it "should not send a multipart request" do - request "/", :method => "POST", :input => "foo" - last_request.env["CONTENT_TYPE"].should_not == "application/x-www-form-urlencoded" - end - end - - context "for a POST specified with :method" do - it "uses application/x-www-form-urlencoded as the CONTENT_TYPE" do - request "/", :method => "POST" - last_request.env["CONTENT_TYPE"].should == "application/x-www-form-urlencoded" - end - end - - context "for a POST specified with REQUEST_METHOD" do - it "uses application/x-www-form-urlencoded as the CONTENT_TYPE" do - request "/", "REQUEST_METHOD" => "POST" - last_request.env["CONTENT_TYPE"].should == "application/x-www-form-urlencoded" - end - end - - context "when CONTENT_TYPE is specified in the env" do - it "does not overwrite the CONTENT_TYPE" do - request "/", "CONTENT_TYPE" => "application/xml" - last_request.env["CONTENT_TYPE"].should == "application/xml" - end - end - - context "when the URL is https://" do - it "sets SERVER_PORT to 443" do - get "https://example.org/" - last_request.env["SERVER_PORT"].should == "443" - end - - it "sets HTTPS to on" do - get "https://example.org/" - last_request.env["HTTPS"].should == "on" - end - end - - context "for a XHR" do - it "sends XMLHttpRequest for the X-Requested-With header" do - request "/", :xhr => true - last_request.env["X-Requested-With"].should == "XMLHttpRequest" - end - end - end - - describe "#header" do - it "sets a header to be sent with requests" do - header "User-Agent", "Firefox" - request "/" - - last_request.env["User-Agent"].should == "Firefox" - end - - it "persists across multiple requests" do - header "User-Agent", "Firefox" - request "/" - request "/" - - last_request.env["User-Agent"].should == "Firefox" - end - - it "overwrites previously set headers" do - header "User-Agent", "Firefox" - header "User-Agent", "Safari" - request "/" - - last_request.env["User-Agent"].should == "Safari" - end - - it "can be used to clear a header" do - header "User-Agent", "Firefox" - header "User-Agent", nil - request "/" - - last_request.env.should_not have_key("User-Agent") - end - - it "is overridden by headers sent during the request" do - header "User-Agent", "Firefox" - request "/", "User-Agent" => "Safari" - - last_request.env["User-Agent"].should == "Safari" - end - end - - describe "#authorize" do - it "sets the HTTP_AUTHORIZATION header" do - authorize "bryan", "secret" - request "/" - - last_request.env["HTTP_AUTHORIZATION"].should == "Basic YnJ5YW46c2VjcmV0\n" - end - - it "includes the header for subsequent requests" do - basic_authorize "bryan", "secret" - request "/" - request "/" - - last_request.env["HTTP_AUTHORIZATION"].should == "Basic YnJ5YW46c2VjcmV0\n" - end - end - - describe "follow_redirect!" do - it "follows redirects" do - get "/redirect" - follow_redirect! - - last_response.should_not be_redirect - last_response.body.should == "You've been redirected" - end - - it "does not include params when following the redirect" do - get "/redirect", { "foo" => "bar" } - follow_redirect! - - last_request.GET.should == {} - end - - it "raises an error if the last_response is not set" do - lambda { - follow_redirect! - }.should raise_error(Rack::Test::Error) - end - - it "raises an error if the last_response is not a redirect" do - get "/" - - lambda { - follow_redirect! - }.should raise_error(Rack::Test::Error) - end - end - - describe "#last_request" do - it "returns the most recent request" do - request "/" - last_request.env["PATH_INFO"].should == "/" - end - - it "raises an error if no requests have been issued" do - lambda { - last_request - }.should raise_error(Rack::Test::Error) - end - end - - describe "#last_response" do - it "returns the most recent response" do - request "/" - last_response["Content-Type"].should == "text/html" - end - - it "raises an error if no requests have been issued" do - lambda { - last_response - }.should raise_error - end - end - - describe "after_request" do - it "runs callbacks after each request" do - ran = false - - rack_mock_session.after_request do - ran = true - end - - get "/" - ran.should == true - end - - it "runs multiple callbacks" do - count = 0 - - 2.times do - rack_mock_session.after_request do - count += 1 - end - end - - get "/" - count.should == 2 - end - end - - describe "#get" do - it_should_behave_like "any #verb methods" - - def verb - "get" - end - - it "uses the provided params hash" do - get "/", :foo => "bar" - last_request.GET.should == { "foo" => "bar" } - end - - it "sends params with parens in names" do - get "/", "foo(1i)" => "bar" - last_request.GET["foo(1i)"].should == "bar" - end - - it "supports params with encoding sensitive names" do - get "/", "foo bar" => "baz" - last_request.GET["foo bar"].should == "baz" - end - - it "supports params with nested encoding sensitive names" do - get "/", "boo" => {"foo bar" => "baz"} - last_request.GET.should == {"boo" => {"foo bar" => "baz"}} - end - - it "accepts params in the path" do - get "/?foo=bar" - last_request.GET.should == { "foo" => "bar" } - end - end - - describe "#head" do - it_should_behave_like "any #verb methods" - - def verb - "head" - end - end - - describe "#post" do - it_should_behave_like "any #verb methods" - - def verb - "post" - end - - it "uses the provided params hash" do - post "/", :foo => "bar" - last_request.POST.should == { "foo" => "bar" } - end - - it "supports params with encoding sensitive names" do - post "/", "foo bar" => "baz" - last_request.POST["foo bar"].should == "baz" - end - - it "uses application/x-www-form-urlencoded as the CONTENT_TYPE" do - post "/" - last_request.env["CONTENT_TYPE"].should == "application/x-www-form-urlencoded" - end - - it "accepts a body" do - post "/", "Lobsterlicious!" - last_request.body.read.should == "Lobsterlicious!" - end - - context "when CONTENT_TYPE is specified in the env" do - it "does not overwrite the CONTENT_TYPE" do - post "/", {}, { "CONTENT_TYPE" => "application/xml" } - last_request.env["CONTENT_TYPE"].should == "application/xml" - end - end - end - - describe "#put" do - it_should_behave_like "any #verb methods" - - def verb - "put" - end - - it "accepts a body" do - put "/", "Lobsterlicious!" - last_request.body.read.should == "Lobsterlicious!" - end - end - - describe "#delete" do - it_should_behave_like "any #verb methods" - - def verb - "delete" - end - end -end diff --git a/lib/vendor/rack-test/spec/rcov.opts b/lib/vendor/rack-test/spec/rcov.opts deleted file mode 100644 index 9ed978e1..00000000 --- a/lib/vendor/rack-test/spec/rcov.opts +++ /dev/null @@ -1 +0,0 @@ --x gems,spec diff --git a/lib/vendor/rack-test/spec/spec.opts b/lib/vendor/rack-test/spec/spec.opts deleted file mode 100644 index 4e1e0d2f..00000000 --- a/lib/vendor/rack-test/spec/spec.opts +++ /dev/null @@ -1 +0,0 @@ ---color diff --git a/lib/vendor/rack-test/spec/spec_helper.rb b/lib/vendor/rack-test/spec/spec_helper.rb deleted file mode 100644 index c18479ef..00000000 --- a/lib/vendor/rack-test/spec/spec_helper.rb +++ /dev/null @@ -1,48 +0,0 @@ -require "rubygems" -require "spec" - -gem "rack", "~> 1.0.0" - -require File.expand_path(File.dirname(__FILE__) + "/../lib/rack/test") -require File.dirname(__FILE__) + "/fixtures/fake_app" - -Spec::Runner.configure do |config| - config.include Rack::Test::Methods - - def app - Rack::Lint.new(Rack::Test::FakeApp.new) - end - -end - -describe "any #verb methods", :shared => true do - it "requests the URL using VERB" do - send(verb, "/") - - last_request.env["REQUEST_METHOD"].should == verb.upcase - last_response.should be_ok - end - - it "uses the provided env" do - send(verb, "/", {}, { "User-Agent" => "Rack::Test" }) - last_request.env["User-Agent"].should == "Rack::Test" - end - - it "yields the response to a given block" do - yielded = false - - send(verb, "/") do |response| - response.should be_ok - yielded = true - end - - yielded.should be_true - end - - context "for a XHR" do - it "sends XMLHttpRequest for the X-Requested-With header" do - send(verb, "/", {}, { :xhr => true }) - last_request.env["X-Requested-With"].should == "XMLHttpRequest" - end - end -end diff --git a/lib/vendor/sinatra-content-for/LICENSE b/lib/vendor/sinatra-content-for/LICENSE deleted file mode 100644 index 3eb6c2f4..00000000 --- a/lib/vendor/sinatra-content-for/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2008-2009 Nicolas Sanguinetti, entp.com - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/lib/vendor/sinatra-content-for/README.rdoc b/lib/vendor/sinatra-content-for/README.rdoc deleted file mode 100644 index cf7c2abb..00000000 --- a/lib/vendor/sinatra-content-for/README.rdoc +++ /dev/null @@ -1,49 +0,0 @@ -= ContentFor - -Small extension for the Sinatra[http://sinatrarb.com] web framework -that allows you to use the following helpers in your views: - - <% content_for :some_key do %> - ... - <% end %> - - <% yield_content :some_key %> - -This allows you to capture blocks inside views to be rendered later -in this request. For example, to populate different parts of your -layout from your view. - -When using this with the Haml rendering engine, you should do the -following: - - - content_for :some_key do - %chunk{ :of => "html" } ... - - = yield_content :some_key - -Note that with ERB yield_content is called without -an '=' block (<%= %>), but with Haml it uses = yield_content. - -Using an '=' block in ERB will output the content twice for each block, -so if you have problems with that, make sure to check for this. - -== Usage - -If you're writing "classic" style apps, then requring -sinatra/content_for should be enough. If you're writing -"classy" apps, then you also need to call -helpers Sinatra::ContentFor in your app definition. - -== And how is this useful? - -For example, some of your views might need a few javascript tags and -stylesheets, but you don't want to force this files in all your pages. -Then you can put <% yield_content :scripts_and_styles %> on -your layout, inside the tag, and each view can call -content_for setting the appropriate set of tags that should -be added to the layout. - -== Credits - -Code by foca[http://github.com/foca], inspired on the Ruby on Rails -helpers with the same name. Haml support by mattly[http://github.com/mattly]. diff --git a/lib/vendor/sinatra-content-for/Rakefile b/lib/vendor/sinatra-content-for/Rakefile deleted file mode 100644 index 37989821..00000000 --- a/lib/vendor/sinatra-content-for/Rakefile +++ /dev/null @@ -1,33 +0,0 @@ -require "rake/testtask" - -begin - require "hanna/rdoctask" -rescue LoadError - require "rake/rdoctask" -end - -begin - require "metric_fu" -rescue LoadError -end - -begin - require "mg" - MG.new("sinatra-content-for.gemspec") -rescue LoadError -end - -desc "Default: run all tests" -task :default => :test - -desc "Run library tests" -Rake::TestTask.new do |t| - t.test_files = FileList['test/**/*_test.rb'] -end - -Rake::RDocTask.new do |rd| - rd.main = "README" - rd.title = "Documentation for ContentFor" - rd.rdoc_files.include("README.rdoc", "LICENSE", "lib/**/*.rb") - rd.rdoc_dir = "doc" -end diff --git a/lib/vendor/sinatra-content-for/lib/sinatra/content_for.rb b/lib/vendor/sinatra-content-for/lib/sinatra/content_for.rb deleted file mode 100644 index 31848c63..00000000 --- a/lib/vendor/sinatra-content-for/lib/sinatra/content_for.rb +++ /dev/null @@ -1,58 +0,0 @@ -module Sinatra - module ContentFor - # Capture a block of content to be rendered later. For example: - # - # <% content_for :head do %> - # - # <% end %> - # - # You can call +content_for+ multiple times with the same key - # (in the example +:head+), and when you render the blocks for - # that key all of them will be rendered, in the same order you - # captured them. - # - # Your blocks can also receive values, which are passed to them - # by yield_content - def content_for(key, &block) - content_blocks[key.to_sym] << block - end - - # Render the captured blocks for a given key. For example: - # - # - # Example - # <% yield_content :head %> - # - # - # Would render everything you declared with content_for - # :head before closing the tag. - # - # You can also pass values to the content blocks by passing them - # as arguments after the key: - # - # <% yield_content :head, 1, 2 %> - # - # Would pass 1 and 2 to all the blocks registered - # for :head. - # - # *NOTICE* that you call this without an = sign. IE, - # in a <% %> block, and not in a <%= %> block. - def yield_content(key, *args) - content_blocks[key.to_sym].map do |content| - if respond_to?(:block_is_haml?) && block_is_haml?(content) - capture_haml(*args, &content) - else - content.call(*args) - end - end.join - end - - private - - def content_blocks - @content_blocks ||= Hash.new {|h,k| h[k] = [] } - end - end - - helpers ContentFor -end diff --git a/lib/vendor/sinatra-content-for/sinatra-content-for.gemspec b/lib/vendor/sinatra-content-for/sinatra-content-for.gemspec deleted file mode 100644 index 63242e6b..00000000 --- a/lib/vendor/sinatra-content-for/sinatra-content-for.gemspec +++ /dev/null @@ -1,34 +0,0 @@ -Gem::Specification.new do |s| - s.name = "sinatra-content-for" - s.version = "0.2" - s.date = "2009-05-09" - - s.description = "Small Sinatra extension to add a content_for helper similar to Rails'" - s.summary = "Small Sinatra extension to add a content_for helper similar to Rails'" - s.homepage = "http://sinatrarb.com" - - s.authors = ["Nicolás Sanguinetti"] - s.email = "contacto@nicolassanguinetti.info" - - s.require_paths = ["lib"] - s.rubyforge_project = "sinatra-ditties" - s.has_rdoc = true - s.rubygems_version = "1.3.1" - - s.add_dependency "sinatra" - - if s.respond_to?(:add_development_dependency) - s.add_development_dependency "contest" - s.add_development_dependency "sr-mg" - s.add_development_dependency "redgreen" - end - - s.files = %w[ -.gitignore -LICENSE -README.rdoc -sinatra-content-for.gemspec -lib/sinatra/content_for.rb -test/content_for_test.rb -] -end diff --git a/lib/vendor/sinatra-content-for/test/content_for_test.rb b/lib/vendor/sinatra-content-for/test/content_for_test.rb deleted file mode 100644 index c9560f22..00000000 --- a/lib/vendor/sinatra-content-for/test/content_for_test.rb +++ /dev/null @@ -1,156 +0,0 @@ -ENV['RACK_ENV'] = 'test' - -begin - require 'rack' -rescue LoadError - require 'rubygems' - require 'rack' -end - -require 'contest' -require 'sinatra/test' -require 'haml' - -begin - require 'redgreen' -rescue LoadError -end - -require File.dirname(__FILE__) + '/../lib/sinatra/content_for' - -Sinatra::Base.set :environment, :test - -module Sinatra - class Base - set :environment, :test - helpers ContentFor - end -end - -class Test::Unit::TestCase - include Sinatra::Test - - class << self - alias_method :it, :test - end - - def mock_app(base=Sinatra::Base, &block) - @app = Sinatra.new(base, &block) - end -end - -class ContentForTest < Test::Unit::TestCase - context 'using erb' do - def erb_app(view) - mock_app { - layout { '<% yield_content :foo %>' } - get('/') { erb view } - } - end - - it 'renders blocks declared with the same key you use when rendering' do - erb_app '<% content_for :foo do %>foo<% end %>' - - get '/' - assert ok? - assert_equal 'foo', body - end - - it 'does not render a block with a different key' do - erb_app '<% content_for :bar do %>bar<% end %>' - - get '/' - assert ok? - assert_equal '', body - end - - it 'renders multiple blocks with the same key' do - erb_app <<-erb_snippet - <% content_for :foo do %>foo<% end %> - <% content_for :foo do %>bar<% end %> - <% content_for :baz do %>WON'T RENDER ME<% end %> - <% content_for :foo do %>baz<% end %> - erb_snippet - - get '/' - assert ok? - assert_equal 'foobarbaz', body - end - - it 'passes values to the blocks' do - mock_app { - layout { '<% yield_content :foo, 1, 2 %>' } - get('/') { erb '<% content_for :foo do |a, b| %><%= a %> <%= b %><% end %>' } - } - - get '/' - assert ok? - assert_equal '1 2', body - end - end - - context 'with haml' do - def haml_app(view) - mock_app { - layout { '= yield_content :foo' } - get('/') { haml view } - } - end - - it 'renders blocks declared with the same key you use when rendering' do - haml_app <<-haml_end -- content_for :foo do - foo -haml_end - - get '/' - assert ok? - assert_equal "foo\n", body - end - - it 'does not render a block with a different key' do - haml_app <<-haml_end -- content_for :bar do - bar -haml_end - - get '/' - assert ok? - assert_equal "\n", body - end - - it 'renders multiple blocks with the same key' do - haml_app <<-haml_end -- content_for :foo do - foo -- content_for :foo do - bar -- content_for :baz do - WON'T RENDER ME -- content_for :foo do - baz -haml_end - - get '/' - assert ok? - assert_equal "foo\nbar\nbaz\n", body - end - - it 'passes values to the blocks' do - mock_app { - layout { '= yield_content :foo, 1, 2' } - get('/') { - haml <<-haml_end -- content_for :foo do |a, b| - %i= a - =b -haml_end - } - } - - get '/' - assert ok? - assert_equal "1\n2\n", body - end - end -end diff --git a/lib/vendor/sinatra-markaby/CHANGES b/lib/vendor/sinatra-markaby/CHANGES deleted file mode 100644 index 802e5133..00000000 --- a/lib/vendor/sinatra-markaby/CHANGES +++ /dev/null @@ -1,7 +0,0 @@ -= 0.9.2.2 - -* layout support is tested - -= 0.9.2.1 - -* use Rack::Test instead of Sinatra::Test diff --git a/lib/vendor/sinatra-markaby/LICENSE b/lib/vendor/sinatra-markaby/LICENSE deleted file mode 100644 index 333cf6f2..00000000 --- a/lib/vendor/sinatra-markaby/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2009 unwwwired.net - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/lib/vendor/sinatra-markaby/README.rdoc b/lib/vendor/sinatra-markaby/README.rdoc deleted file mode 100644 index 0815c81d..00000000 --- a/lib/vendor/sinatra-markaby/README.rdoc +++ /dev/null @@ -1,33 +0,0 @@ -= sinatra-markaby - -sinatra-markaby is an extension for sinatra to enable rendering of html files -using markaby templates. - -== Installation - - sudo gem install sbfaulkner-sinatra-markaby -s http://gems.github.com - -== Example - - require 'rubygems' - require 'sinatra' - require 'sinatra/markaby' - - get '/' do - markaby :template - end - - __END__ - - @@ template - mab.html do - head { title "Hello world" } - body do - p "Hello world!!!!!" - end - end - -== Legal - -Author:: S. Brent Faulkner -License:: Copyright (c) 2009 unwwwired.net, released under the MIT license diff --git a/lib/vendor/sinatra-markaby/Rakefile b/lib/vendor/sinatra-markaby/Rakefile deleted file mode 100644 index bad3f2ee..00000000 --- a/lib/vendor/sinatra-markaby/Rakefile +++ /dev/null @@ -1,45 +0,0 @@ -require 'rake' - -begin - require 'jeweler' - Jeweler::Tasks.new do |s| - s.name = "sinatra-markaby" - s.summary = %Q{Sinatra plugin to enable markaby (.mab) template rendering.} - s.email = "brentf@unwwwired.net" - s.homepage = "http://github.com/sbfaulkner/sinatra-markaby" - s.description = "Sinatra plugin to enable markaby (.mab) template rendering." - s.authors = ["S. Brent Faulkner"] - s.add_dependency "markaby" - end -rescue LoadError - puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com" -end - -require 'rake/rdoctask' -Rake::RDocTask.new do |rdoc| - rdoc.rdoc_dir = 'rdoc' - rdoc.title = 'sinatra-markaby' - rdoc.options << '--line-numbers' << '--inline-source' - rdoc.rdoc_files.include('README*') - rdoc.rdoc_files.include('lib/**/*.rb') -end - -require 'rake/testtask' -Rake::TestTask.new(:test) do |t| - t.libs << 'lib' << 'test' - t.pattern = 'test/**/*_test.rb' - t.verbose = false -end - -begin - require 'rcov/rcovtask' - Rcov::RcovTask.new do |t| - t.libs << 'test' - t.test_files = FileList['test/**/*_test.rb'] - t.verbose = true - end -rescue LoadError - puts "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov" -end - -task :default => :test diff --git a/lib/vendor/sinatra-markaby/TODO b/lib/vendor/sinatra-markaby/TODO deleted file mode 100644 index 39a2947d..00000000 --- a/lib/vendor/sinatra-markaby/TODO +++ /dev/null @@ -1,3 +0,0 @@ -= TODO - -* refactor render/views in sinatra \ No newline at end of file diff --git a/lib/vendor/sinatra-markaby/VERSION.yml b/lib/vendor/sinatra-markaby/VERSION.yml deleted file mode 100644 index 8ee2d0c5..00000000 --- a/lib/vendor/sinatra-markaby/VERSION.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -:major: 0 -:minor: 9 -:patch: 2.2 diff --git a/lib/vendor/sinatra-markaby/lib/sinatra/markaby.rb b/lib/vendor/sinatra-markaby/lib/sinatra/markaby.rb deleted file mode 100644 index 611eee04..00000000 --- a/lib/vendor/sinatra-markaby/lib/sinatra/markaby.rb +++ /dev/null @@ -1,31 +0,0 @@ -require 'sinatra/base' -require 'markaby' - -module Sinatra - module Markaby - # Generate html file using Markaby. - # Takes the name of a template to render as a Symbol and returns a String with the rendered output. - # - # Options for markaby may be specified in Sinatra using set :markaby, { ... } - # TODO: the options aren't actually used yet - def mab(template=nil, options={}, locals = {}, &block) - options, template = template, nil if template.is_a?(Hash) - template = lambda { block } if template.nil? - render :mab, template, options, locals - end - - protected - def render_mab(template, data, options, locals, &block) - filename = options.delete(:filename) || '' - line = options.delete(:line) || 1 - mab = ::Markaby::Builder.new(locals) - if data.respond_to?(:to_str) - eval(data.to_str, binding, filename, line) - elsif data.kind_of?(Proc) - data.call(mab) - end - end - end - - helpers Markaby -end diff --git a/lib/vendor/sinatra-markaby/sinatra-markaby.gemspec b/lib/vendor/sinatra-markaby/sinatra-markaby.gemspec deleted file mode 100644 index 648a4b39..00000000 --- a/lib/vendor/sinatra-markaby/sinatra-markaby.gemspec +++ /dev/null @@ -1,49 +0,0 @@ -# -*- encoding: utf-8 -*- - -Gem::Specification.new do |s| - s.name = %q{sinatra-markaby} - s.version = "0.9.2.2" - - s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= - s.authors = ["S. Brent Faulkner"] - s.date = %q{2009-04-29} - s.description = %q{Sinatra plugin to enable markaby (.mab) template rendering.} - s.email = %q{brentf@unwwwired.net} - s.extra_rdoc_files = [ - "LICENSE", - "README.rdoc" - ] - s.files = [ - "LICENSE", - "README.rdoc", - "Rakefile", - "VERSION.yml", - "lib/sinatra/markaby.rb", - "test/sinatra_markaby_test.rb", - "test/test_helper.rb", - "test/views/hello.mab" - ] - s.has_rdoc = true - s.homepage = %q{http://github.com/sbfaulkner/sinatra-markaby} - s.rdoc_options = ["--charset=UTF-8"] - s.require_paths = ["lib"] - s.rubygems_version = %q{1.3.1} - s.summary = %q{Sinatra plugin to enable markaby (.mab) template rendering.} - s.test_files = [ - "test/sinatra_markaby_test.rb", - "test/test_helper.rb" - ] - - if s.respond_to? :specification_version then - current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION - s.specification_version = 2 - - if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q, [">= 0"]) - else - s.add_dependency(%q, [">= 0"]) - end - else - s.add_dependency(%q, [">= 0"]) - end -end diff --git a/lib/vendor/sinatra-markaby/test/sinatra_markaby_test.rb b/lib/vendor/sinatra-markaby/test/sinatra_markaby_test.rb deleted file mode 100644 index edee03ff..00000000 --- a/lib/vendor/sinatra-markaby/test/sinatra_markaby_test.rb +++ /dev/null @@ -1,72 +0,0 @@ -require File.dirname(__FILE__) + '/test_helper' - -class SinatraMarkabyTest < Test::Unit::TestCase - def markaby_app(&block) - mock_app { - use_in_file_templates! - helpers Sinatra::Markaby - set :views, File.dirname(__FILE__) + '/views' - get '/', &block - } - get '/' - end - - def test_renders_inline_strings - markaby_app { markaby 'mab.p "Hello shrimp!"' } - assert last_response.ok? - assert_equal '

Hello shrimp!

', last_response.body - end - - def test_renders_inline_blocks - markaby_app { - @name = 'Frank & Mary' - markaby do |mab| - mab.p "Hello #{@name}!" - end - } - assert last_response.ok? - assert_equal '

Hello Frank & Mary!

', last_response.body - end - - def test_renders_markaby_files_in_views_path - markaby_app { - @name = 'World' - markaby :hello - } - assert last_response.ok? - assert_equal '

Hello, World!

', last_response.body - end - - def test_renders_in_file_template - markaby_app { - @name = 'Joe' - markaby :in_file - } - assert last_response.ok? - assert_equal '

Hey Joe

', last_response.body - end - - def test_renders_with_layout - markaby_app { - @name = 'with Layout' - markaby :hello, :layout => :html - } - assert last_response.ok? - assert_equal 'Hello

Hello, with Layout!

', last_response.body - end - - def test_raises_error_if_template_not_found - mock_app { - helpers Sinatra::Markaby - set :environment, :test - set :raise_errors, true - get('/') { markaby :no_such_template } - } - assert_raises(Errno::ENOENT) { get('/') } - end -end - -__END__ - -@@ in_file -mab.p "Hey #{@name}" diff --git a/lib/vendor/sinatra-markaby/test/test_helper.rb b/lib/vendor/sinatra-markaby/test/test_helper.rb deleted file mode 100644 index 60fd6bfe..00000000 --- a/lib/vendor/sinatra-markaby/test/test_helper.rb +++ /dev/null @@ -1,19 +0,0 @@ -require 'rubygems' -require 'test/unit' -require 'rack/test' - -$LOAD_PATH.unshift(File.dirname(__FILE__)) -require 'sinatra/markaby' - -class Test::Unit::TestCase - include Rack::Test::Methods - - attr_reader :app - - # Sets up a Sinatra::Base subclass defined with the block - # given. Used in setup or individual spec methods to establish - # the application. - def mock_app(base=Sinatra::Base, &block) - @app = Sinatra.new(base, &block) - end -end diff --git a/lib/vendor/sinatra-markaby/test/views/hello.mab b/lib/vendor/sinatra-markaby/test/views/hello.mab deleted file mode 100644 index afd9080a..00000000 --- a/lib/vendor/sinatra-markaby/test/views/hello.mab +++ /dev/null @@ -1 +0,0 @@ -mab.p "Hello, #{@name}!" diff --git a/lib/vendor/sinatra-markaby/test/views/html.mab b/lib/vendor/sinatra-markaby/test/views/html.mab deleted file mode 100644 index a49025b7..00000000 --- a/lib/vendor/sinatra-markaby/test/views/html.mab +++ /dev/null @@ -1,4 +0,0 @@ -mab.html do - head { title "Hello" } - body { yield } -end \ No newline at end of file diff --git a/lib/vendor/sinatra-maruku/LICENSE b/lib/vendor/sinatra-maruku/LICENSE deleted file mode 100644 index 222dc0bc..00000000 --- a/lib/vendor/sinatra-maruku/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2008 Wlodek Bzyl - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/lib/vendor/sinatra-maruku/README.markdown b/lib/vendor/sinatra-maruku/README.markdown deleted file mode 100644 index bb2bad9f..00000000 --- a/lib/vendor/sinatra-maruku/README.markdown +++ /dev/null @@ -1,85 +0,0 @@ -# Sinatra Maruku Extension - -The *sinatra-maruku* extension provides `maruku` helper method -for rendering Maruku templates. - -To install it, run: - - sudo gem install wbzyl-sinatra-maruku -s http://gems.github.com - -To test it, create a simple Sinatra application: - - # app.rb - require 'rubygems' - require 'sinatra' - - gem 'wbzyl-sinatra-maruku' - require 'sinatra/maruku' - - get "/" do - maruku "# Hello Maruku" - end - -and run it with: - - ruby app.rb - -The result could be seen at *http://localhost:4567*. - -Another example could be find in the *examples* directory. -Run it with: - - rackup -p 4567 config.ru - -and visit *http://localhost:4567* to contemplate the sheer -beauty of rendered text written in Maruku notation. - - -## Two links to Maruku related material - -* [Maruku features](http://maruku.rubyforge.org/maruku.html) -* [Literate Maruku](http://www.slideshare.net/schmidt/literate-maruku) - - -## Template Languages (*update to The Sinatra Book*) - -### Maruku Templates - -This helper method: - - get '/' do - maruku :index - end - -renders template *./views/index.maruku*. - -If a layout named *layout.maruku* exists, it will be used each time -a template is rendered. - -You can disable layouts by passing `:layout => false` -to *maruku* helper. For example - - get '/' do - maruku :index, :layout => false - end - -You can set a different layout from the default one with: - - get '/' do - maruku :index, :layout => :application - end - -This renders *./views/index.maruku* template -within *./views/application.maruku* layout. - - -## Sample layout for Maruku templates - - CSS: /stylesheets/application.css /stylesheets/print.css - Lang: pl - Title: Hello Maruku - LaTeX preamble: preamble.tex - - # Hello Maruku {.header} - - <%= yield %> diff --git a/lib/vendor/sinatra-maruku/Rakefile b/lib/vendor/sinatra-maruku/Rakefile deleted file mode 100644 index eb96caef..00000000 --- a/lib/vendor/sinatra-maruku/Rakefile +++ /dev/null @@ -1,34 +0,0 @@ -require 'rake' -require 'rake/testtask' -require "rake/clean" - -begin - require 'jeweler' - Jeweler::Tasks.new do |gem| - gem.name = "sinatra-maruku" - gem.summary = "An extension providing Maruku templates for Sinatra applications." - gem.email = "matwb@univ.gda.pl" - gem.homepage = "http://github.com/wbzyl/sinatra-maruku" - gem.description = gem.description - gem.authors = ["Wlodek Bzyl"] - - gem.add_runtime_dependency 'sinatra', '>=0.10.1' - gem.add_runtime_dependency 'maruku', '>=0.6.0' - - gem.add_development_dependency 'rack', '>=1.0.0' - gem.add_development_dependency 'rack-test', '>=0.3.0' - - # gem is a Gem::Specification - # refer to http://www.rubygems.org/read/chapter/20 for additional settings - end -rescue LoadError - puts "Jeweler not available." - puts "Install it with:" - puts " sudo gem install technicalpickles-jeweler -s http://gems.github.com" -end - -Rake::TestTask.new(:test) do |t| - t.libs << 'lib' << 'test' - t.pattern = 'test/**/*_test.rb' - t.verbose = false -end diff --git a/lib/vendor/sinatra-maruku/VERSION.yml b/lib/vendor/sinatra-maruku/VERSION.yml deleted file mode 100644 index eface56c..00000000 --- a/lib/vendor/sinatra-maruku/VERSION.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -:major: 0 -:minor: 10 -:patch: 1 diff --git a/lib/vendor/sinatra-maruku/examples/app.rb b/lib/vendor/sinatra-maruku/examples/app.rb deleted file mode 100644 index f760b06f..00000000 --- a/lib/vendor/sinatra-maruku/examples/app.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'rubygems' -require 'sinatra' -require 'sinatra/maruku' - -get "/" do - #maruku :hello, :layout => false - maruku :index -end diff --git a/lib/vendor/sinatra-maruku/examples/config.ru b/lib/vendor/sinatra-maruku/examples/config.ru deleted file mode 100644 index 75999267..00000000 --- a/lib/vendor/sinatra-maruku/examples/config.ru +++ /dev/null @@ -1,4 +0,0 @@ -# run it: rackup config.ru -p 4567 - -require 'app' -run Sinatra::Application diff --git a/lib/vendor/sinatra-maruku/examples/mapp.rb b/lib/vendor/sinatra-maruku/examples/mapp.rb deleted file mode 100644 index 76b9ccaa..00000000 --- a/lib/vendor/sinatra-maruku/examples/mapp.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'rubygems' -require 'sinatra/base' -require 'sinatra/maruku' - -require 'rack' - -class MApp < Sinatra::Base - helpers Sinatra::Maruku - - get '/' do - maruku "## hello form modular app" - end -end - -Rack::Handler::Thin.run MApp.new, :Port => 4567 diff --git a/lib/vendor/sinatra-maruku/examples/public/javascripts/application.js b/lib/vendor/sinatra-maruku/examples/public/javascripts/application.js deleted file mode 100644 index e69de29b..00000000 diff --git a/lib/vendor/sinatra-maruku/examples/public/stylesheets/application.css b/lib/vendor/sinatra-maruku/examples/public/stylesheets/application.css deleted file mode 100644 index 702b3926..00000000 --- a/lib/vendor/sinatra-maruku/examples/public/stylesheets/application.css +++ /dev/null @@ -1,23 +0,0 @@ -html { - margin: 0; - padding: 0; - background-color: #B5052E; - line-height: 1.6; -} - -body { - margin: 1em auto 1em auto; - padding: 1em 2em 2em 1em; - width: 760px; - border: 1px solid black; - background-color: #E8DDCB; -} - -pre { - padding: 0.5em 0 0.5em 2em; - background-color: #D7D3C1; -} - -h1, h2, h3 { - color: #B5052E; -} diff --git a/lib/vendor/sinatra-maruku/examples/public/stylesheets/print.css b/lib/vendor/sinatra-maruku/examples/public/stylesheets/print.css deleted file mode 100644 index e69de29b..00000000 diff --git a/lib/vendor/sinatra-maruku/examples/views/index.maruku b/lib/vendor/sinatra-maruku/examples/views/index.maruku deleted file mode 100644 index 788a1119..00000000 --- a/lib/vendor/sinatra-maruku/examples/views/index.maruku +++ /dev/null @@ -1,32 +0,0 @@ -Maruku features -=============== - -Maruku allows you to write in an easy-to-read-and-write syntax, like this: - -> [This document in Markdown][this_md] - -Then it can be translated to HTML: - -> [This document in HTML][this_html] - -or LaTeX, which is then converted to PDF: - -> [This document in PDF][this_pdf] - -Maruku implements: - -* the original [Markdown syntax][markdown_html] - ([HTML][markdown_html] or [PDF][markdown_pdf]), translated by Maruku). - -* all the improvements in PHP Markdown Extra. - -* a new [meta-data syntax][meta_data_proposal] - -[markdown_html]: http://maruku.rubyforge.org/markdown_syntax.html -[markdown_pdf]: http://maruku.rubyforge.org/markdown_syntax.pdf -[this_md]: http://maruku.rubyforge.org/maruku.md -[this_html]: http://maruku.rubyforge.org/maruku.html -[this_pdf]: http://maruku.rubyforge.org/maruku.pdf -[Andrea Censi]: http://www.dis.uniroma1.it/~acensi/ - -[meta_data_proposal]: http://maruku.rubyforge.org/proposal.html diff --git a/lib/vendor/sinatra-maruku/examples/views/layout.maruku b/lib/vendor/sinatra-maruku/examples/views/layout.maruku deleted file mode 100644 index 3207ebfd..00000000 --- a/lib/vendor/sinatra-maruku/examples/views/layout.maruku +++ /dev/null @@ -1,9 +0,0 @@ -CSS: /stylesheets/application.css /stylesheets/print.css -Javascript: /javascriprs/application.js -Lang: pl -Title: Hello Maruku -LaTeX preamble: preamble.tex - -# Hello Maruku {.header} - -<%= yield %> diff --git a/lib/vendor/sinatra-maruku/lib/sinatra/maruku.rb b/lib/vendor/sinatra-maruku/lib/sinatra/maruku.rb deleted file mode 100644 index c798b2f4..00000000 --- a/lib/vendor/sinatra-maruku/lib/sinatra/maruku.rb +++ /dev/null @@ -1,25 +0,0 @@ -require 'maruku' -require 'sinatra/base' - -module Sinatra - module Maruku - def maruku(template, options={}, locals={}) - render :maruku, template, options, locals - end - - private - def render_maruku(template, data, options, locals, &block) - maruku_src = render_erb(template, data, options, locals, &block) - instance = ::Maruku.new(maruku_src, options) - if block_given? - # render layout - instance.to_html_document - else - # render template - instance.to_html - end - end - end - - helpers Maruku -end diff --git a/lib/vendor/sinatra-maruku/sinatra-maruku.gemspec b/lib/vendor/sinatra-maruku/sinatra-maruku.gemspec deleted file mode 100644 index b8bd41e7..00000000 --- a/lib/vendor/sinatra-maruku/sinatra-maruku.gemspec +++ /dev/null @@ -1,70 +0,0 @@ -# -*- encoding: utf-8 -*- - -Gem::Specification.new do |s| - s.name = %q{sinatra-maruku} - s.version = "0.10.1" - - s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= - s.authors = ["Wlodek Bzyl"] - s.date = %q{2009-07-26} - s.description = %q{} - s.email = %q{matwb@univ.gda.pl} - s.extra_rdoc_files = [ - "LICENSE", - "README.markdown" - ] - s.files = [ - ".gitignore", - "LICENSE", - "README.markdown", - "Rakefile", - "VERSION.yml", - "examples/app.rb", - "examples/config.ru", - "examples/mapp.rb", - "examples/public/javascripts/application.js", - "examples/public/stylesheets/application.css", - "examples/public/stylesheets/print.css", - "examples/views/index.maruku", - "examples/views/layout.maruku", - "lib/sinatra/maruku.rb", - "sinatra-maruku.gemspec", - "test/sinatra_maruku_test.rb", - "test/test_helper.rb", - "test/views/hello.maruku", - "test/views/layout2.maruku" - ] - s.homepage = %q{http://github.com/wbzyl/sinatra-maruku} - s.rdoc_options = ["--charset=UTF-8"] - s.require_paths = ["lib"] - s.rubygems_version = %q{1.3.5} - s.summary = %q{An extension providing Maruku templates for Sinatra applications.} - s.test_files = [ - "test/test_helper.rb", - "test/sinatra_maruku_test.rb", - "examples/mapp.rb", - "examples/app.rb" - ] - - if s.respond_to? :specification_version then - current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION - s.specification_version = 3 - - if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q, [">= 0.10.1"]) - s.add_runtime_dependency(%q, [">= 0.6.0"]) - s.add_development_dependency(%q, [">= 1.0.0"]) - s.add_development_dependency(%q, [">= 0.3.0"]) - else - s.add_dependency(%q, [">= 0.10.1"]) - s.add_dependency(%q, [">= 0.6.0"]) - s.add_dependency(%q, [">= 1.0.0"]) - s.add_dependency(%q, [">= 0.3.0"]) - end - else - s.add_dependency(%q, [">= 0.10.1"]) - s.add_dependency(%q, [">= 0.6.0"]) - s.add_dependency(%q, [">= 1.0.0"]) - s.add_dependency(%q, [">= 0.3.0"]) - end -end diff --git a/lib/vendor/sinatra-maruku/test/sinatra_maruku_test.rb b/lib/vendor/sinatra-maruku/test/sinatra_maruku_test.rb deleted file mode 100644 index 8d99824e..00000000 --- a/lib/vendor/sinatra-maruku/test/sinatra_maruku_test.rb +++ /dev/null @@ -1,91 +0,0 @@ -require File.dirname(__FILE__) + '/test_helper' - -class SinatraMarukuTest < Test::Unit::TestCase - include Rack::Test::Methods - - def maruku_app(&block) - mock_app { - set :views, File.dirname(__FILE__) + '/views' - helpers Sinatra::Maruku - set :show_exceptions, false - get '/', &block - } - get '/' - end - - def test_renders_inline_strings - maruku_app { maruku 'hello world' } - assert last_response.ok? - assert_equal "

hello world

", last_response.body - end - - def test_renders_inline_erb_string - maruku_app { maruku '<%= 1 + 1 %>' } - assert last_response.ok? - assert_equal "

2

", last_response.body - end - - def test_renders_files_in_views_path - maruku_app { maruku :hello } - assert last_response.ok? - assert_equal "

hello world

", last_response.body - end - - def test_takes_locals_option - maruku_app { - locals = {:foo => 'Bar'} - maruku "<%= foo %>", :locals => locals - } - assert last_response.ok? - assert_equal "

Bar

", last_response.body - end - - def test_renders_with_inline_layouts - maruku_app { - maruku 'Sparta', :layout => 'THIS. IS. <%= yield.upcase %>' - } - assert last_response.ok? - assert_equal "\n\n\n\n\n

THIS. IS.

SPARTA

\n", last_response.body - end - - def test_renders_with_file_layouts - maruku_app { - maruku 'hello world', :layout => :layout2 - } - assert last_response.ok? - assert_equal "\n\n\n\n\n

erb layout

hello world

\n", last_response.body - end - - def test_renders_erb_with_blocks - mock_app { - set :views, File.dirname(__FILE__) + '/views' - helpers Sinatra::Maruku - - def container - yield - end - def is - "THIS. IS. SPARTA!" - end - - get '/' do - maruku '<% container do %> <%= is %> <% end %>' - end - } - - get '/' - assert last_response.ok? - assert_equal "

THIS. IS. SPARTA!

", last_response.body - end - - def test_raises_error_if_template_not_found - mock_app { - set :views, File.dirname(__FILE__) + '/views' - helpers Sinatra::Maruku - set :show_exceptions, false - - get('/') { maruku :no_such_template } - } - assert_raise(Errno::ENOENT) { get('/') } - end -end diff --git a/lib/vendor/sinatra-maruku/test/test_helper.rb b/lib/vendor/sinatra-maruku/test/test_helper.rb deleted file mode 100644 index 99dd126f..00000000 --- a/lib/vendor/sinatra-maruku/test/test_helper.rb +++ /dev/null @@ -1,21 +0,0 @@ -require 'rubygems' -require 'test/unit' -require 'rack/test' - -path = File.expand_path("../lib" + File.dirname(__FILE__)) -$:.unshift(path) unless $:.include?(path) - -require 'sinatra/maruku' - -class Test::Unit::TestCase - include Rack::Test::Methods - - attr_reader :app - - # Sets up a Sinatra::Base subclass defined with the block - # given. Used in setup or individual spec methods to establish - # the application. - def mock_app(base=Sinatra::Base, &block) - @app = Sinatra.new(base, &block) - end -end diff --git a/lib/vendor/sinatra-maruku/test/views/hello.maruku b/lib/vendor/sinatra-maruku/test/views/hello.maruku deleted file mode 100644 index 2be7c65a..00000000 --- a/lib/vendor/sinatra-maruku/test/views/hello.maruku +++ /dev/null @@ -1 +0,0 @@ -# hello world diff --git a/lib/vendor/sinatra-maruku/test/views/layout2.maruku b/lib/vendor/sinatra-maruku/test/views/layout2.maruku deleted file mode 100644 index 8f33055d..00000000 --- a/lib/vendor/sinatra-maruku/test/views/layout2.maruku +++ /dev/null @@ -1,2 +0,0 @@ -erb layout -<%= yield %> diff --git a/middleman.gemspec b/middleman.gemspec index 8274db83..a08a0ce3 100644 --- a/middleman.gemspec +++ b/middleman.gemspec @@ -26,6 +26,7 @@ Gem::Specification.new do |s| "bin/mm-build", "bin/mm-init", "bin/mm-server", + "deps.rip", "lib/middleman.rb", "lib/middleman/helpers.rb", "lib/middleman/markaby.rb", @@ -74,8 +75,12 @@ Gem::Specification.new do |s| s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 2.1.0"]) s.add_runtime_dependency(%q, [">= 0"]) else @@ -83,8 +88,12 @@ Gem::Specification.new do |s| s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 2.1.0"]) s.add_dependency(%q, [">= 0"]) end @@ -93,8 +102,12 @@ Gem::Specification.new do |s| s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 2.1.0"]) s.add_dependency(%q, [">= 0"]) end diff --git a/spec/builder_spec.rb b/spec/builder_spec.rb index a36af9b9..515e5c5c 100644 --- a/spec/builder_spec.rb +++ b/spec/builder_spec.rb @@ -44,7 +44,7 @@ describe "Builder" do it "should build sass files" do File.exists?("#{@root_dir}/build/stylesheets/site.css").should be_true - File.read("#{@root_dir}/build/stylesheets/site.css").should include("html, body, div, span, applet, object, iframe") + File.read("#{@root_dir}/build/stylesheets/site.css").should include("html,body,div,span,applet,object,iframe") end it "should build static css files" do