Skip to content

Commit 4acac70

Browse files
committed
Regenerate gemspec for version 0.1.0
1 parent 4b5b950 commit 4acac70

File tree

4 files changed

+201
-4
lines changed

4 files changed

+201
-4
lines changed

Gemfile.lock

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
GEM
2+
remote: http://rubygems.org/
3+
specs:
4+
git (1.2.5)
5+
jeweler (1.5.2)
6+
bundler (~> 1.0.0)
7+
git (>= 1.2.5)
8+
rake
9+
rake (0.8.7)
10+
rcov (0.9.9)
11+
shoulda (2.11.3)
12+
13+
PLATFORMS
14+
ruby
15+
16+
DEPENDENCIES
17+
bundler (~> 1.0.0)
18+
jeweler (~> 1.5.2)
19+
rcov
20+
shoulda

Rakefile

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ require 'jeweler'
1313
Jeweler::Tasks.new do |gem|
1414
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
1515
gem.name = "integreat"
16-
gem.homepage = "http://github.com/matti/integreat"
16+
gem.homepage = "http://github.com/enemy/integreat"
1717
gem.license = "MIT"
18-
gem.summary = %Q{TODO: one-line summary of your gem}
19-
gem.description = %Q{TODO: longer description of your gem}
20-
gem.email = "matti.paksula@iki.fi"
18+
gem.summary = "A great integration testing framework"
19+
gem.description = "Integration testing made easy"
20+
gem.email = "matti.paksula@enemy.fi"
2121
gem.authors = ["Matti Paksula"]
2222
# Include your dependencies below. Runtime dependencies are required when using your gem,
2323
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)

integreat.gemspec

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Generated by jeweler
2+
# DO NOT EDIT THIS FILE DIRECTLY
3+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4+
# -*- encoding: utf-8 -*-
5+
6+
Gem::Specification.new do |s|
7+
s.name = %q{integreat}
8+
s.version = "0.1.0"
9+
10+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11+
s.authors = ["Matti Paksula"]
12+
s.date = %q{2011-04-25}
13+
s.description = %q{Integration testing made easy}
14+
s.email = %q{[email protected]}
15+
s.extra_rdoc_files = [
16+
"LICENSE.txt",
17+
"README.rdoc"
18+
]
19+
s.files = [
20+
".document",
21+
"Gemfile",
22+
"Gemfile.lock",
23+
"LICENSE.txt",
24+
"README.rdoc",
25+
"Rakefile",
26+
"VERSION",
27+
"lib/integreat.rb",
28+
"test/helper.rb",
29+
"test/test_integreat.rb"
30+
]
31+
s.homepage = %q{http://github.com/enemy/integreat}
32+
s.licenses = ["MIT"]
33+
s.require_paths = ["lib"]
34+
s.rubygems_version = %q{1.3.7}
35+
s.summary = %q{A great integration testing framework}
36+
s.test_files = [
37+
"test/helper.rb",
38+
"test/test_integreat.rb"
39+
]
40+
41+
if s.respond_to? :specification_version then
42+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
43+
s.specification_version = 3
44+
45+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46+
s.add_development_dependency(%q<shoulda>, [">= 0"])
47+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48+
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
49+
s.add_development_dependency(%q<rcov>, [">= 0"])
50+
else
51+
s.add_dependency(%q<shoulda>, [">= 0"])
52+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
53+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
54+
s.add_dependency(%q<rcov>, [">= 0"])
55+
end
56+
else
57+
s.add_dependency(%q<shoulda>, [">= 0"])
58+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
59+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
60+
s.add_dependency(%q<rcov>, [">= 0"])
61+
end
62+
end
63+

lib/integreat.rb

+114
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
module Integreat
2+
3+
module Setups
4+
@setups = {}
5+
6+
def self.store(name, &block)
7+
@setups[name] = block
8+
end
9+
10+
def self.get(name)
11+
if @setups[name]
12+
@setups[name]
13+
else
14+
raise "No setup stored with #{name}"
15+
end
16+
end
17+
end
18+
19+
module Runner
20+
@messages = []
21+
@failures = 0
22+
@steps_run = 0
23+
24+
def self.messages
25+
@messages
26+
end
27+
28+
def self.fail(message)
29+
@messages << message
30+
@failures += 1
31+
end
32+
33+
def self.failures
34+
@failures
35+
end
36+
37+
def self.step_run
38+
@steps_run += 1
39+
end
40+
41+
def self.steps_run
42+
@steps_run
43+
end
44+
end
45+
46+
class Context
47+
def assert(expected, actual)
48+
success = expected == actual
49+
50+
unless success
51+
Integreat::Runner.fail "FAIL in #{caller[0]}: #{expected.to_s} is not #{actual.to_s}"
52+
end
53+
end
54+
55+
end
56+
end
57+
58+
def Integreat(description = nil, &block)
59+
@description = description
60+
@context = nil
61+
62+
def ensure_context
63+
unless @context
64+
puts "\n\nContext for #{@description}"
65+
@context = Integreat::Context.new
66+
puts "-"*80
67+
end
68+
end
69+
70+
def Setup(name, &block)
71+
Integreat::Setups.store(name, &block)
72+
end
73+
74+
def Test(name)
75+
ensure_context
76+
77+
puts "\nRunning test: #{name}"
78+
79+
def Step(name, &block)
80+
puts " Step: #{name}"
81+
Integreat::Runner.step_run
82+
@context.instance_eval(&block)
83+
end
84+
85+
yield
86+
87+
end
88+
89+
def Use(*names)
90+
setup_names = Array(names)
91+
ensure_context
92+
93+
print "Using setups: #{names.join(',')}"
94+
setup_names.each do |name|
95+
@context.instance_eval(&Integreat::Setups.get(name))
96+
end
97+
puts ""
98+
end
99+
100+
101+
yield
102+
103+
104+
if @context
105+
puts
106+
puts "-- Summary for #{@description} context --"
107+
puts " Steps: #{Integreat::Runner.steps_run}, Failed: #{Integreat::Runner.messages.size}"
108+
puts ""
109+
Integreat::Runner.messages.each do |message|
110+
puts message
111+
end
112+
end
113+
114+
end

0 commit comments

Comments
 (0)