Sha256: 520ff0363b55a3cbab1d424fd531636d39ee52cdbfb9d6a1a2e7a9cebff50258

Contents?: true

Size: 1.01 KB

Versions: 7

Compression:

Stored size: 1.01 KB

Contents

#          Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
# All files in this distribution are subject to the terms of the Ruby license.

require 'spec/helper'

class SpecSimpleCaptcha < Ramaze::Controller
  helper :simple_captcha
  map '/'

  def ask_question
    question = simple_captcha
  end

  def answer_question(with)
    check_captcha(with) ? 'correct' : 'wrong'
  end
end

class SpecCustomCaptcha < SpecSimpleCaptcha
  map '/fish'

  trait :captcha => lambda{
    ["the answer to everything", 42]
  }
end

describe Ramaze::Helper::SimpleCaptcha do
  behaves_like :mock

  should 'ask question' do
    get('/ask_question')
    question = last_response.body
    question.should =~ /^\d+ [+-] \d+$/

    lh, m, rh = question.split
    answer = lh.to_i.send(m, rh.to_i)

    get("/answer_question/#{answer}").body.should == 'correct'
  end

  should 'ask custom question' do
    get('/fish/ask_question').body.should == 'the answer to everything'
    get('/fish/answer_question/42').body.should == 'correct'
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
manveru-ramaze-2009.04.18 spec/ramaze/helper/simple_captcha.rb
manveru-ramaze-2009.04.22 spec/ramaze/helper/simple_captcha.rb
manveru-ramaze-2009.04 spec/ramaze/helper/simple_captcha.rb
manveru-ramaze-2009.05.08 spec/ramaze/helper/simple_captcha.rb
manveru-ramaze-2009.05 spec/ramaze/helper/simple_captcha.rb
ramaze-2009.04 spec/ramaze/helper/simple_captcha.rb
ramaze-2009.05 spec/ramaze/helper/simple_captcha.rb