js_spec 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|