fitnesse-ruby 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|