PHP 8.2.31
Preview: spec_runtime.rb Size: 1.53 KB
//proc/thread-self/root/opt/alt/ruby18/lib64/ruby/gems/1.8/gems/rack-1.6.1/test/spec_runtime.rb

require 'rack/lint'
require 'rack/mock'
require 'rack/runtime'

describe Rack::Runtime do
  def runtime_app(app, *args)
    Rack::Lint.new Rack::Runtime.new(app, *args)
  end
  
  def request
    Rack::MockRequest.env_for
  end
  
  it "sets X-Runtime is none is set" do
    app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, "Hello, World!"] }
    response = runtime_app(app).call(request)
    response[1]['X-Runtime'].should =~ /[\d\.]+/
  end

  it "doesn't set the X-Runtime if it is already set" do
    app = lambda { |env| [200, {'Content-Type' => 'text/plain', "X-Runtime" => "foobar"}, "Hello, World!"] }
    response = runtime_app(app).call(request)
    response[1]['X-Runtime'].should == "foobar"
  end

  should "allow a suffix to be set" do
    app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, "Hello, World!"] }
    response = runtime_app(app, "Test").call(request)
    response[1]['X-Runtime-Test'].should =~ /[\d\.]+/
  end

  should "allow multiple timers to be set" do
    app = lambda { |env| sleep 0.1; [200, {'Content-Type' => 'text/plain'}, "Hello, World!"] }
    runtime = runtime_app(app, "App")

    # wrap many times to guarantee a measurable difference
    100.times do |i|
      runtime = Rack::Runtime.new(runtime, i.to_s)
    end
    runtime = Rack::Runtime.new(runtime, "All")

    response = runtime.call(request)

    response[1]['X-Runtime-App'].should =~ /[\d\.]+/
    response[1]['X-Runtime-All'].should =~ /[\d\.]+/

    Float(response[1]['X-Runtime-All']).should > Float(response[1]['X-Runtime-App'])
  end
end

Directory Contents

Dirs: 7 × Files: 51

Name Size Perms Modified Actions
builder DIR
- drwxr-xr-x 2024-03-03 22:50:09
Edit Download
cgi DIR
- drwxr-xr-x 2024-03-03 22:50:09
Edit Download
multipart DIR
- drwxr-xr-x 2024-03-03 22:50:09
Edit Download
rackup DIR
- drwxr-xr-x 2024-03-03 22:50:09
Edit Download
- drwxr-xr-x 2024-03-03 22:50:09
Edit Download
static DIR
- drwxr-xr-x 2024-03-03 22:50:09
Edit Download
- drwxr-xr-x 2024-03-03 22:50:09
Edit Download
298 B lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.26 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
8.08 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.20 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
6.20 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.11 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.92 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
3.87 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.37 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
3.28 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
544 B lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.80 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.47 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
10.04 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.19 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
3.84 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
3.08 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
6.32 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.80 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.36 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
19.23 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.23 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
4.33 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
622 B lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.14 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.81 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
9.34 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
5.73 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
22.72 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
514 B lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.83 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
42.06 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
10.08 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.78 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.53 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
4.12 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
5.57 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.29 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
12.94 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
11.12 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
6.53 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.01 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.74 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
4.60 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.57 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
2.55 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
8.82 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
24.58 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
504 B lrw-r--r-- 2019-12-05 22:13:57
Edit Download
5.50 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download
1.96 KB lrw-r--r-- 2019-12-05 22:13:57
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).