js_spec 0.0.1 → 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 +5 -1
- data/Rakefile +3 -3
- data/bin/js_spec +10 -0
- data/bin/js_spec_server +2 -1
- data/core/JSSpec.js +11 -5
- data/core/JSSpecExtensions.js +127 -8
- data/core/demo.html +8 -1
- data/lib/js_spec/rails_server.rb +22 -0
- data/lib/js_spec/{dir.rb → resources/dir.rb} +7 -5
- data/lib/js_spec/{file.rb → resources/file.rb} +9 -3
- data/lib/js_spec/resources/runners/firefox_runner.rb +90 -0
- data/lib/js_spec/resources/runners.rb +16 -0
- data/lib/js_spec/{spec_dir_runner.rb → resources/spec_dir_runner.rb} +5 -3
- data/lib/js_spec/{spec_file_runner.rb → resources/spec_file_runner.rb} +4 -2
- data/lib/js_spec/{spec_runner.rb → resources/spec_runner.rb} +3 -1
- data/lib/js_spec/resources/suite.rb +24 -0
- data/lib/js_spec/resources/suite_finish.rb +20 -0
- data/lib/js_spec/resources/web_root.rb +34 -0
- data/lib/js_spec/server.rb +16 -6
- data/lib/js_spec.rb +16 -7
- data/spec/{functional_spec_suite.rb → functional_suite.rb} +2 -2
- data/spec/spec_suite.rb +2 -2
- data/spec/unit/rails_server_spec.rb +44 -0
- data/spec/unit/{dir_spec.rb → resources/dir_spec.rb} +10 -8
- data/spec/unit/{file_spec.rb → resources/file_spec.rb} +12 -6
- data/spec/unit/resources/runner_spec.rb +24 -0
- data/spec/unit/resources/runners/firefox_runner_spec.rb +87 -0
- data/spec/unit/{spec_dir_runner_spec.rb → resources/spec_dir_runner_spec.rb} +5 -3
- data/spec/unit/resources/spec_file_runner_spec.rb +20 -0
- data/spec/unit/resources/suite_finish_spec.rb +42 -0
- data/spec/unit/resources/suite_spec.rb +44 -0
- data/spec/unit/resources/web_root_spec.rb +55 -0
- data/spec/unit/server_spec.rb +75 -14
- data/spec/unit/unit_spec_helper.rb +9 -8
- data/spec/{unit_spec_suite.rb → unit_suite.rb} +2 -2
- metadata +37 -28
- data/lib/js_spec/suite_result.rb +0 -11
- data/lib/js_spec/web_root.rb +0 -18
- data/spec/unit/spec_file_runner_spec.rb +0 -18
- data/spec/unit/suite_result_spec.rb +0 -31
- data/spec/unit/web_root_spec.rb +0 -39
@@ -23,15 +23,16 @@ module Spec
|
|
23
23
|
end
|
24
24
|
|
25
25
|
module Spec::Example::ExampleMethods
|
26
|
-
attr_reader :spec_root_path, :implementation_root_path, :server
|
26
|
+
attr_reader :spec_root_path, :implementation_root_path, :public_path, :server
|
27
27
|
before(:all) do
|
28
28
|
dir = File.dirname(__FILE__)
|
29
|
-
@spec_root_path =
|
30
|
-
@implementation_root_path =
|
29
|
+
@spec_root_path = File.expand_path("#{dir}/../example_specs")
|
30
|
+
@implementation_root_path = File.expand_path("#{dir}/../example_public/javascripts")
|
31
|
+
@public_path = File.expand_path("#{dir}/../example_public")
|
31
32
|
end
|
32
33
|
|
33
34
|
before(:each) do
|
34
|
-
JsSpec::Server.instance = JsSpec::Server.new(spec_root_path, implementation_root_path)
|
35
|
+
JsSpec::Server.instance = JsSpec::Server.new(spec_root_path, implementation_root_path, public_path)
|
35
36
|
@server = JsSpec::Server.instance
|
36
37
|
end
|
37
38
|
|
@@ -61,13 +62,13 @@ module Spec::Example::ExampleMethods
|
|
61
62
|
end
|
62
63
|
|
63
64
|
def spec_file(relative_path)
|
64
|
-
absolute_path =
|
65
|
-
JsSpec::File.new(absolute_path, "/specs#{relative_path}")
|
65
|
+
absolute_path = spec_root_path + relative_path
|
66
|
+
JsSpec::Resources::File.new(absolute_path, "/specs#{relative_path}")
|
66
67
|
end
|
67
68
|
|
68
69
|
def spec_dir(relative_path="")
|
69
|
-
absolute_path =
|
70
|
-
JsSpec::Dir.new(absolute_path, "/specs#{relative_path}")
|
70
|
+
absolute_path = spec_root_path + relative_path
|
71
|
+
JsSpec::Resources::Dir.new(absolute_path, "/specs#{relative_path}")
|
71
72
|
end
|
72
73
|
|
73
74
|
def contain_spec_file_with_correct_paths(path_relative_to_spec_root)
|
metadata
CHANGED
@@ -3,15 +3,15 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: js_spec
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0
|
7
|
-
date:
|
8
|
-
summary:
|
6
|
+
version: 0.1.0
|
7
|
+
date: 2008-01-25 00:00:00 -08:00
|
8
|
+
summary: The JSSpec client library (http://code.google.com/p/jsspec/) plus a convenient ruby server.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: brian@pivotallabs.com
|
12
12
|
homepage: http://pivotallabs.com
|
13
13
|
rubyforge_project: pivotalrb
|
14
|
-
description:
|
14
|
+
description: The JSSpec client library (http://code.google.com/p/jsspec/) plus a convenient ruby server.
|
15
15
|
autorequire: js_spec
|
16
16
|
default_executable:
|
17
17
|
bindir: bin
|
@@ -29,39 +29,48 @@ post_install_message:
|
|
29
29
|
authors:
|
30
30
|
- Brian Takita & Nathan Sobo
|
31
31
|
files:
|
32
|
-
- Rakefile
|
33
32
|
- CHANGES
|
34
33
|
- README
|
35
|
-
-
|
36
|
-
- lib/js_spec/
|
37
|
-
- lib/js_spec/dir.rb
|
38
|
-
- lib/js_spec/
|
39
|
-
- lib/js_spec/
|
40
|
-
- lib/js_spec/
|
41
|
-
- lib/js_spec/
|
34
|
+
- Rakefile
|
35
|
+
- lib/js_spec/rails_server.rb
|
36
|
+
- lib/js_spec/resources/dir.rb
|
37
|
+
- lib/js_spec/resources/suite_finish.rb
|
38
|
+
- lib/js_spec/resources/runners.rb
|
39
|
+
- lib/js_spec/resources/spec_runner.rb
|
40
|
+
- lib/js_spec/resources/spec_dir_runner.rb
|
41
|
+
- lib/js_spec/resources/file.rb
|
42
|
+
- lib/js_spec/resources/web_root.rb
|
43
|
+
- lib/js_spec/resources/runners/firefox_runner.rb
|
44
|
+
- lib/js_spec/resources/spec_file_runner.rb
|
45
|
+
- lib/js_spec/resources/suite.rb
|
42
46
|
- lib/js_spec/server.rb
|
43
47
|
- lib/js_spec.rb
|
48
|
+
- core/COPYING
|
49
|
+
- core/JSSpec.css
|
50
|
+
- core/demo.html
|
51
|
+
- core/exp
|
44
52
|
- core/JSSpec.js
|
45
53
|
- core/diff_match_patch.js
|
46
54
|
- core/JSSpecExtensions.js
|
47
|
-
-
|
48
|
-
- core/JSSpec.css
|
49
|
-
- core/demo.html
|
50
|
-
- core/COPYING
|
55
|
+
- bin/js_spec
|
51
56
|
- bin/js_spec_server
|
52
|
-
- spec/
|
53
|
-
- spec/
|
54
|
-
- spec/
|
55
|
-
- spec/
|
56
|
-
- spec/
|
57
|
-
- spec/unit/
|
58
|
-
- spec/unit/
|
59
|
-
- spec/unit/
|
60
|
-
- spec/unit/
|
61
|
-
- spec/unit/dir_spec.rb
|
62
|
-
- spec/unit/web_root_spec.rb
|
63
|
-
- spec/unit/suite_result_spec.rb
|
57
|
+
- spec/unit/resources/dir_spec.rb
|
58
|
+
- spec/unit/resources/web_root_spec.rb
|
59
|
+
- spec/unit/resources/suite_spec.rb
|
60
|
+
- spec/unit/resources/spec_file_runner_spec.rb
|
61
|
+
- spec/unit/resources/runner_spec.rb
|
62
|
+
- spec/unit/resources/file_spec.rb
|
63
|
+
- spec/unit/resources/runners/firefox_runner_spec.rb
|
64
|
+
- spec/unit/resources/suite_finish_spec.rb
|
65
|
+
- spec/unit/resources/spec_dir_runner_spec.rb
|
64
66
|
- spec/unit/unit_spec_helper.rb
|
67
|
+
- spec/unit/rails_server_spec.rb
|
68
|
+
- spec/unit/server_spec.rb
|
69
|
+
- spec/functional/functional_spec_helper.rb
|
70
|
+
- spec/functional/server_spec.rb
|
71
|
+
- spec/functional_suite.rb
|
72
|
+
- spec/spec_suite.rb
|
73
|
+
- spec/unit_suite.rb
|
65
74
|
test_files: []
|
66
75
|
|
67
76
|
rdoc_options:
|
data/lib/js_spec/suite_result.rb
DELETED
data/lib/js_spec/web_root.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
module JsSpec
|
2
|
-
class WebRoot
|
3
|
-
def locate(name)
|
4
|
-
case name
|
5
|
-
when 'specs'
|
6
|
-
JsSpec::Dir.new(JsSpec::Server.spec_root_path, "/specs")
|
7
|
-
when 'core'
|
8
|
-
JsSpec::Dir.new(JsSpec::Server.core_path, "/core")
|
9
|
-
when 'implementations'
|
10
|
-
JsSpec::Dir.new(JsSpec::Server.implementation_root_path, "/implementations")
|
11
|
-
when 'results'
|
12
|
-
JsSpec::SuiteResult.new
|
13
|
-
else
|
14
|
-
raise "Invalid path: #{name}"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require File.expand_path("#{File.dirname(__FILE__)}/unit_spec_helper")
|
2
|
-
|
3
|
-
module JsSpec
|
4
|
-
describe SpecFileRunner, "#spec_files" do
|
5
|
-
attr_reader :absolute_path, :relative_path, :file, :runner
|
6
|
-
|
7
|
-
before do
|
8
|
-
@absolute_path = "#{spec_root_path}/failing_spec.js"
|
9
|
-
@relative_path = "/specs/failing_spec.js"
|
10
|
-
@file = File.new(absolute_path, relative_path)
|
11
|
-
@runner = SpecFileRunner.new(file)
|
12
|
-
end
|
13
|
-
|
14
|
-
it "returns the single File to run in an Array" do
|
15
|
-
runner.spec_files.should == [file]
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require File.expand_path("#{File.dirname(__FILE__)}/unit_spec_helper")
|
2
|
-
|
3
|
-
module JsSpec
|
4
|
-
describe SuiteResult do
|
5
|
-
attr_reader :result
|
6
|
-
before do
|
7
|
-
@result = SuiteResult.new
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "#post" do
|
11
|
-
attr_reader :stdout
|
12
|
-
before do
|
13
|
-
@stdout = StringIO.new
|
14
|
-
SuiteResult.const_set(:STDOUT, stdout)
|
15
|
-
end
|
16
|
-
after do
|
17
|
-
SuiteResult.__send__(:remove_const, :STDOUT)
|
18
|
-
end
|
19
|
-
|
20
|
-
it "writes the body of the request to stdout" do
|
21
|
-
body = "The text in the POST body"
|
22
|
-
request = Rack::Request.new({'rack.input' => StringIO.new("text=#{body}")})
|
23
|
-
request.body.string.should == "text=#{body}"
|
24
|
-
stub.proxy(Server).request {request}
|
25
|
-
|
26
|
-
result.post
|
27
|
-
stdout.string.should == "#{body}\n"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
data/spec/unit/web_root_spec.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require File.expand_path("#{File.dirname(__FILE__)}/unit_spec_helper")
|
2
|
-
|
3
|
-
module JsSpec
|
4
|
-
describe WebRoot do
|
5
|
-
attr_reader :root_dir
|
6
|
-
before(:each) do
|
7
|
-
@root_dir = WebRoot.new
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "#locate" do
|
11
|
-
it "when passed 'specs', returns a SpecDirRunner representing the specs" do
|
12
|
-
runner = root_dir.locate('specs')
|
13
|
-
runner.should == spec_dir
|
14
|
-
end
|
15
|
-
|
16
|
-
it "when passed 'core', returns a Dir representing the JsSpec core directory" do
|
17
|
-
runner = root_dir.locate('core')
|
18
|
-
runner.should == JsSpec::Dir.new(JsSpec::Server.core_path, '/core')
|
19
|
-
end
|
20
|
-
|
21
|
-
it "when passed 'implementations', returns a Dir representing the javascript implementations directory" do
|
22
|
-
runner = root_dir.locate('implementations')
|
23
|
-
runner.should == JsSpec::Dir.new(JsSpec::Server.implementation_root_path, '/implementations')
|
24
|
-
end
|
25
|
-
|
26
|
-
it "when passed 'results', returns a SuiteResult" do
|
27
|
-
runner = root_dir.locate('results')
|
28
|
-
runner.should be_instance_of(JsSpec::SuiteResult)
|
29
|
-
end
|
30
|
-
|
31
|
-
it "when not passed 'core' or 'specs', raises an error" do
|
32
|
-
lambda do
|
33
|
-
root_dir.locate('invalid')
|
34
|
-
end.should raise_error
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|