fitnesse-ruby 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +2 -0
- data/README.markdown +6 -0
- data/Rakefile +8 -0
- data/bin/fitnesse +8 -0
- data/core/fitnesse.jar +0 -0
- data/fitnesse-ruby.gemspec +21 -0
- data/lib/fitnesse.rb +15 -0
- data/spec/functional/fitnesse_spec.rb +51 -0
- data/spec/functional/spec_helper.rb +14 -0
- metadata +64 -0
data/CHANGES
ADDED
data/README.markdown
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
Fitnesse-ruby packages the [Fitnesse](http://fitnesse.org/) server jar
|
2
|
+
into a convenient gem.
|
3
|
+
|
4
|
+
To execute, run `fitnesse -p <server port> -r <wiki root dir>`
|
5
|
+
|
6
|
+
You can find the source at [http://github.com/pivotal/fitnesse-ruby](http://github.com/pivotal/fitnesse-ruby)
|
data/Rakefile
ADDED
data/bin/fitnesse
ADDED
data/core/fitnesse.jar
ADDED
Binary file
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "fitnesse-ruby"
|
3
|
+
s.version = "0.1.0"
|
4
|
+
s.date = "2008-05-18"
|
5
|
+
s.summary = "The fitnesse server packaged as a convenient gem (version 20070619)."
|
6
|
+
s.email = "opensource@pivotallabs.com"
|
7
|
+
s.homepage = "http://github.com/pivotal/fitnesse-ruby"
|
8
|
+
s.description = "The fitnesse server packaged as a convenient gem."
|
9
|
+
s.has_rdoc = true
|
10
|
+
s.authors = ["Brian Takita"]
|
11
|
+
files = [
|
12
|
+
"README.markdown", "Rakefile", "fitnesse-ruby.gemspec", "bin/fitnesse",
|
13
|
+
"lib/fitnesse.rb", "core/fitnesse.jar", "spec/example_wiki_root",
|
14
|
+
"spec/functional/spec_helper.rb", "spec/functional/fitnesse_spec.rb"
|
15
|
+
]
|
16
|
+
s.files = files
|
17
|
+
s.executables = ['fitnesse']
|
18
|
+
s.test_files = ["spec/functional/fitnesse_spec.rb"]
|
19
|
+
s.rdoc_options = ["--main", "README.markdown"]
|
20
|
+
s.extra_rdoc_files = ["CHANGES", "README.markdown"]
|
21
|
+
end
|
data/lib/fitnesse.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
class Fitnesse
|
2
|
+
attr_reader :argv
|
3
|
+
def initialize(argv)
|
4
|
+
@argv = argv
|
5
|
+
end
|
6
|
+
|
7
|
+
def start
|
8
|
+
system "java -cp #{jar_path} fitnesse.FitNesse #{argv.join(' ')}"
|
9
|
+
end
|
10
|
+
|
11
|
+
def jar_path
|
12
|
+
dir = File.dirname(__FILE__)
|
13
|
+
File.expand_path("#{dir}/../core/fitnesse.jar")
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require File.expand_path("#{dir = File.dirname(__FILE__)}/spec_helper")
|
2
|
+
|
3
|
+
describe "A Fitnesse server" do
|
4
|
+
attr_reader :port
|
5
|
+
before do
|
6
|
+
@port = 8081
|
7
|
+
stop_server
|
8
|
+
end
|
9
|
+
|
10
|
+
after do
|
11
|
+
stop_server
|
12
|
+
end
|
13
|
+
|
14
|
+
it "starts a Fitnesse server" do
|
15
|
+
start_server
|
16
|
+
agent = WWW::Mechanize.new
|
17
|
+
page = agent.get("http://localhost:#{port}")
|
18
|
+
|
19
|
+
page.body.should include("Welcome to the Wonderful World of FitNesse!")
|
20
|
+
end
|
21
|
+
|
22
|
+
def wait_for
|
23
|
+
Timeout.timeout(5) do
|
24
|
+
loop do
|
25
|
+
break if yield
|
26
|
+
sleep 0.25
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def start_server
|
32
|
+
dir = File.dirname(__FILE__)
|
33
|
+
Thread.start do
|
34
|
+
Fitnesse.new(['-p', port, '-r', "spec/example_wiki_root"]).start
|
35
|
+
end
|
36
|
+
|
37
|
+
wait_for do
|
38
|
+
Lsof.running?(port)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def stop_server
|
43
|
+
if Lsof.running?(port)
|
44
|
+
Lsof.kill(port)
|
45
|
+
|
46
|
+
wait_for do
|
47
|
+
!Lsof.running?(port)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
dir = File.dirname(__FILE__)
|
2
|
+
$LOAD_PATH.unshift(File.expand_path("#{dir}/../../lib"))
|
3
|
+
require "fitnesse"
|
4
|
+
|
5
|
+
require "rubygems"
|
6
|
+
require "spec"
|
7
|
+
require "lsof"
|
8
|
+
require "timeout"
|
9
|
+
require "mechanize"
|
10
|
+
|
11
|
+
Spec::Runner.configure do |config|
|
12
|
+
config.mock_with :rr
|
13
|
+
end
|
14
|
+
|
metadata
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fitnesse-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Brian Takita
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-05-18 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: The fitnesse server packaged as a convenient gem.
|
17
|
+
email: opensource@pivotallabs.com
|
18
|
+
executables:
|
19
|
+
- fitnesse
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- CHANGES
|
24
|
+
- README.markdown
|
25
|
+
files:
|
26
|
+
- README.markdown
|
27
|
+
- Rakefile
|
28
|
+
- fitnesse-ruby.gemspec
|
29
|
+
- bin/fitnesse
|
30
|
+
- lib/fitnesse.rb
|
31
|
+
- core/fitnesse.jar
|
32
|
+
- spec/example_wiki_root
|
33
|
+
- spec/functional/spec_helper.rb
|
34
|
+
- spec/functional/fitnesse_spec.rb
|
35
|
+
- CHANGES
|
36
|
+
has_rdoc: true
|
37
|
+
homepage: http://github.com/pivotal/fitnesse-ruby
|
38
|
+
post_install_message:
|
39
|
+
rdoc_options:
|
40
|
+
- --main
|
41
|
+
- README.markdown
|
42
|
+
require_paths:
|
43
|
+
- lib
|
44
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: "0"
|
49
|
+
version:
|
50
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: "0"
|
55
|
+
version:
|
56
|
+
requirements: []
|
57
|
+
|
58
|
+
rubyforge_project:
|
59
|
+
rubygems_version: 1.1.0
|
60
|
+
signing_key:
|
61
|
+
specification_version: 2
|
62
|
+
summary: The fitnesse server packaged as a convenient gem (version 20070619).
|
63
|
+
test_files:
|
64
|
+
- spec/functional/fitnesse_spec.rb
|