Skip to content

Commit

Permalink
Upgrade to use Cutest and Capybara.
Browse files Browse the repository at this point in the history
  • Loading branch information
soveran committed Sep 22, 2010
1 parent 6e0cb14 commit ec36019
Show file tree
Hide file tree
Showing 13 changed files with 47 additions and 112 deletions.
1 change: 1 addition & 0 deletions .rvmrc
@@ -0,0 +1 @@
rvm 1.9.2@cuba
4 changes: 3 additions & 1 deletion Rakefile
@@ -1,5 +1,7 @@
task :test do
system "cd test && ruby cuba_test.rb"
require "cutest"

Cutest.run(Dir["test/*.rb"])
end

task :default => :test
13 changes: 5 additions & 8 deletions cuba.gemspec
Expand Up @@ -6,12 +6,9 @@ Gem::Specification.new do |s|
s.authors = ["Michel Martens"]
s.email = ["michel@soveran.com"]
s.homepage = "http://github.com/soveran/cuba"
s.files = ["LICENSE", "README.markdown", "Rakefile", "lib/cuba/ron.rb", "lib/cuba/rum.rb", "lib/cuba/test.rb", "lib/cuba/version.rb", "lib/cuba.rb", "cuba.gemspec", "test/cuba_test.rb"]
s.add_dependency "rack", ">= 1.1.0"
s.add_dependency "haml", ">= 2.2.22"
s.add_dependency "tilt", ">= 0.9"
s.add_dependency "webrat", ">= 0.7.0"
s.add_dependency "contest", ">= 0.1.2"
s.add_dependency "stories", ">= 0.1.3"
s.add_dependency "rack-test", ">= 0.5.3"
s.files = ["LICENSE", "README.markdown", "Rakefile", "lib/cuba/ron.rb", "lib/cuba/rum.rb", "lib/cuba/test.rb", "lib/cuba/version.rb", "lib/cuba.rb", "cuba.gemspec", "test/cuba_test.rb", "test/webrat.log"]
s.add_dependency "rack", "~> 1.2"
s.add_dependency "tilt", "~> 1.1"
s.add_development_dependency "cutest", "~> 0.1"
s.add_development_dependency "capybara", "~> 0.1"
end
13 changes: 5 additions & 8 deletions cuba.gemspec.erb
@@ -1,4 +1,4 @@
<% require "lib/cuba/version" -%>
<% require "./lib/cuba/version" -%>
Gem::Specification.new do |s|
s.name = "cuba"
s.version = "<%= Cuba::VERSION %>"
Expand All @@ -15,11 +15,8 @@ Gem::Specification.new do |s|
"*.gemspec",
"test/*.*"
].inspect %>
s.add_dependency "rack", ">= 1.1.0"
s.add_dependency "haml", ">= 2.2.22"
s.add_dependency "tilt", ">= 0.9"
s.add_dependency "webrat", ">= 0.7.0"
s.add_dependency "contest", ">= 0.1.2"
s.add_dependency "stories", ">= 0.1.3"
s.add_dependency "rack-test", ">= 0.5.3"
s.add_dependency "rack", "~> 1.2"
s.add_dependency "tilt", "~> 1.1"
s.add_development_dependency "cutest", "~> 0.1"
s.add_development_dependency "capybara", "~> 0.1"
end
5 changes: 5 additions & 0 deletions example/Rakefile
@@ -0,0 +1,5 @@
task :default do
require "cutest"

Cutest.run(Dir["site_test.rb"])
end
2 changes: 1 addition & 1 deletion example/site.rb
Expand Up @@ -8,7 +8,7 @@

on path("login") do
@greeting = "Hello World!"
res.write haml("templates/form")
res.write render("templates/form.erb")
end

on default do
Expand Down
18 changes: 8 additions & 10 deletions example/site_test.rb
@@ -1,17 +1,15 @@
require "cuba/test"
require "site"
require File.expand_path("site", File.dirname(__FILE__))

Cuba.test "My Site" do
story "As a user I want to be able to login" do
scenario "A user submits good info" do
visit "/"
scope do
test "Login" do
visit "/"

assert_contain "Hello World!"
assert has_content?("Hello World!")

fill_in "user", :with => "Michel"
click_button "Login"
fill_in "Your username", :with => "Michel"
click_button "Login"

assert_contain "Got Michel"
end
assert has_content?("Got Michel")
end
end
7 changes: 7 additions & 0 deletions example/templates/form.erb
@@ -0,0 +1,7 @@
<%= @greeting %>

<form action="/login" method="post">
<label for="user">Your username</label>
<input name="user" id="user">
<input type="submit" value="Login">
</form>
5 changes: 0 additions & 5 deletions example/templates/form.haml

This file was deleted.

5 changes: 2 additions & 3 deletions lib/cuba/ron.rb
@@ -1,5 +1,4 @@
require "cuba/rum"
require "haml"
require "tilt"

module Cuba
Expand All @@ -8,9 +7,9 @@ def _cache
Thread.current[:_cache] ||= Tilt::Cache.new
end

def haml(template, locals = {})
def render(template, locals = {})
_cache.fetch(template, locals) {
Tilt::HamlTemplate.new("#{template}.haml")
Tilt.new(template)
}.render(self, locals)
end

Expand Down
28 changes: 6 additions & 22 deletions lib/cuba/test.rb
@@ -1,25 +1,9 @@
require "webrat"
require "rack/test"
require "stories"
require "stories/runner"
require "cuba"
require "cutest"
require "capybara/dsl"

Webrat.configure do |config|
config.mode = :rack
class Cutest::Scope
include Capybara
end

class Test::Unit::TestCase
include Rack::Test::Methods
include Webrat::Methods
include Webrat::Matchers
include Stories::Webrat

def app
Cuba
end
end

module Cuba
def self.test(name, &block)
Test::Unit::TestCase.context(name, &block)
end
end
Capybara.app = Cuba
54 changes: 0 additions & 54 deletions test/cuba_test.rb

This file was deleted.

4 changes: 4 additions & 0 deletions test/integration.rb
@@ -0,0 +1,4 @@
test "examples" do
`cd example && rake -I../lib`
assert $?.exitstatus == 0
end

0 comments on commit ec36019

Please sign in to comment.