Sha256: efe78721625f70142e5b08ffb3b65d4ce275eacdf7a37584b4e130e91edad81b

Contents?: true

Size: 1.85 KB

Versions: 3

Compression:

Stored size: 1.85 KB

Contents

require "rack/test"

Given /^a clean server$/ do
  @initialize_commands = []
end

Given /^"([^\"]*)" feature is "([^\"]*)"$/ do |feature, state|
  @initialize_commands ||= []
  
  if state == "enabled"
    @initialize_commands << lambda { activate(feature.to_sym) }
  end
end

Given /^"([^\"]*)" is set to "([^\"]*)"$/ do |variable, value|
  @initialize_commands ||= []
  @initialize_commands << lambda { set(variable.to_sym, value) }
end

Given /^current environment is "([^\"]*)"$/ do |env|
  @current_env = env.to_sym
end

Given /^the Server is running at "([^\"]*)"$/ do |app_path|
  step %Q{a fixture app "#{app_path}"}
    
  root_dir = File.expand_path(current_dir)

  if File.exists?(File.join(root_dir, "source"))
    ENV["MM_SOURCE"] = "source"
  else
    ENV["MM_SOURCE"] = ""
  end
  
  initialize_commands = @initialize_commands || []
  initialize_commands.unshift lambda {
    set :root, root_dir
    set :environment, @current_env || :development
    set :show_exceptions, false
  }
  
  @server_inst = Middleman.server.inst do
    initialize_commands.each do |p|
      instance_exec(&p)
    end
  end
  
  app_rack = @server_inst.class.to_rack_app
  @browser = ::Rack::Test::Session.new(::Rack::MockSession.new(app_rack))
end

When /^I go to "([^\"]*)"$/ do |url|
  @browser.get(url)
end

Then /^going to "([^\"]*)" should not raise an exception$/ do |url|
  lambda { @browser.get(url) }.should_not raise_exception
end

Then /^I should see "([^\"]*)"$/ do |expected|
  @browser.last_response.body.should include(expected)
end

Then /^I should see '([^\']*)'$/ do |expected|
  @browser.last_response.body.should include(expected)
end

Then /^I should not see "([^\"]*)"$/ do |expected|
  @browser.last_response.body.should_not include(expected)
end

Then /^I should see "([^\"]*)" lines$/ do |lines|
  @browser.last_response.body.chomp.split($/).length.should == lines.to_i
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
middleman-core-3.0.0.beta.1 lib/middleman-core/step_definitions/server_steps.rb
middleman-core-3.0.0.alpha.9 lib/middleman-core/step_definitions/server_steps.rb
middleman-core-3.0.0.alpha.8 lib/middleman-core/step_definitions/server_steps.rb