module Kameleon::DSL

Public Instance Methods

act_as(name) { || ... } click to toggle source
# File lib/kameleon/dsl.rb, line 44
def act_as(name)
  if block_given?
    using_session(name) do
      yield
    end
  else
    Capybara.session_name = name
  end
  self
end
click(*args) click to toggle source
# File lib/kameleon/dsl.rb, line 63
def click(*args)
  Kameleon::DSL::Act::Mouse::Click.new(*args).tap do |click|
    click.actions.each do |action|
      if block = action.block
        instance_exec(*action.params, &block)
      else
        page.send(action.method, *action.params)
      end
    end
  end
end
create_session(name = :default) click to toggle source
# File lib/kameleon/dsl.rb, line 40
def create_session(name = :default)
  Kameleon::Session.new(name).tap { |ks| act_as(ks.name) }
end
fill_in(args) click to toggle source
# File lib/kameleon/dsl.rb, line 75
def fill_in(args)
  Kameleon::DSL::Act::Form.new(args).tap do |form|
    form.actions.each do |action|
      if block = action.block
        instance_exec(*action.params, &block)
      else
        page.send(action.method, *action.params)
      end
    end
  end
end
not_see(*args) click to toggle source

! hmn - very similar to see

# File lib/kameleon/dsl.rb, line 28
def not_see(*args)
  Kameleon::DSL::Verify::Absence.new(*args).tap do |absence|
    absence.conditions.each do |condition|
      if condition.block
        instance_eval(condition.block)
      else
        page.should send(condition.method, *condition.params)
      end
    end
  end
end
refresh_page() click to toggle source
# File lib/kameleon/dsl.rb, line 87
def refresh_page
  visit current_url
end
see(*args) click to toggle source
# File lib/kameleon/dsl.rb, line 15
def see(*args)
  Kameleon::DSL::Verify::Presence.new(*args).tap do |presence|
    presence.conditions.each do |condition|
      if block = condition.block
        instance_exec(*condition.params, &block)
      else
        page.should send(condition.method, *condition.params)
      end
    end
  end
end
within(*scope, &block) click to toggle source
Calls superclass method
# File lib/kameleon/dsl.rb, line 55
def within(*scope, &block)
  if block_given?
    super(*parse_selector(scope).selector)
  else
    ScopeProxy.new(self, scope)
  end
end

Private Instance Methods

parse_selector(scope) click to toggle source
# File lib/kameleon/dsl.rb, line 93
def parse_selector(scope)
  Kameleon::DSL::Context::Scope.new(scope)
end