Sha256: 77b6bd4fd67455c09b720f2febeb1e2f3a6dd3812fc5843052c910e94c49e879

Contents?: true

Size: 1.03 KB

Versions: 13

Compression:

Stored size: 1.03 KB

Contents

ENV['RACK_ENV'] = 'test'
require File.join(File.join(File.expand_path(File.dirname(__FILE__))), '..', 'lib', 'sinatra', 'synchrony')
require 'rack/test'
require 'minitest/autorun'
require 'wrong/adapters/minitest'
Sinatra::Synchrony.patch_tests!
Wrong.config.alias_assert :expect

def mock_app(base=Sinatra::Base, &block)
  @app = Sinatra.new(base, &block)
  @app.set :environment, :test
  @app.disable :show_exceptions
  @app.register Sinatra::Synchrony
end
def app; @app end

describe 'A mock app' do
  include Rack::Test::Methods
  it 'successfully completes a sleep call' do
    mock_app {
      get '/' do
        EM::Synchrony.sleep(0.0001)
        'ok'
      end
    }
    get '/'
    expect { last_response.ok? }
    expect { last_response.body == 'ok' }
  end

  it 'works with cookie' do
    mock_app {
      set :session_secret, 'secret'
      enable :sessions
      get '/' do
        session[:key] = 'val'
        'ok'
      end
    }
    get '/'
    expect { last_response.ok? }
    expect { last_response.headers['Set-Cookie'] }
  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
rubycut-sinatra-synchrony-0.4.2 spec/synchrony_spec.rb
sinatra-synchrony-0.4.1 spec/synchrony_spec.rb
sinatra-synchrony-0.4.0 spec/synchrony_spec.rb
sinatra-synchrony-0.3.2 spec/synchrony_spec.rb
sinatra-synchrony-0.3.0 spec/synchrony_spec.rb
sinatra-synchrony-0.2.1 spec/synchrony_spec.rb
sinatra-synchrony-0.2.0 spec/synchrony_spec.rb
sinatra-synchrony-0.2.0.beta.2 spec/synchrony_spec.rb
sinatra-synchrony-0.2.0.beta.1 spec/synchrony_spec.rb
sinatra-synchrony-0.1.1 spec/synchrony_spec.rb
sinatra-synchrony-0.1.0.beta.6 spec/synchrony_spec.rb
sinatra-synchrony-0.1.0.beta.5 spec/synchrony_spec.rb
sinatra-synchrony-0.1.0.beta.4 spec/synchrony_spec.rb