js_spec 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/CHANGES +12 -0
  2. data/README +2 -1
  3. data/Rakefile +2 -3
  4. data/core/JSSpecExtensions.js +18 -16
  5. data/lib/js_spec/resources/{spec_runner.rb → spec.rb} +4 -8
  6. data/lib/js_spec/resources.rb +1 -10
  7. data/lib/js_spec.rb +19 -20
  8. data/spec/integration/integration_spec.rb +14 -3
  9. data/spec/integration/integration_spec_helper.rb +1 -2
  10. data/spec/unit/js_test_core/resources/spec_dir_spec.rb +35 -0
  11. data/spec/unit/js_test_core/resources/spec_file_spec.rb +33 -0
  12. data/spec/unit/unit_spec_helper.rb +9 -9
  13. metadata +7 -46
  14. data/core/jquery.js +0 -2992
  15. data/lib/js_spec/client.rb +0 -50
  16. data/lib/js_spec/guid.rb +0 -153
  17. data/lib/js_spec/rack/commonlogger.rb +0 -5
  18. data/lib/js_spec/rack.rb +0 -2
  19. data/lib/js_spec/rails_server.rb +0 -22
  20. data/lib/js_spec/resources/dir.rb +0 -60
  21. data/lib/js_spec/resources/file.rb +0 -32
  22. data/lib/js_spec/resources/runners/firefox_runner.rb +0 -71
  23. data/lib/js_spec/resources/runners.rb +0 -15
  24. data/lib/js_spec/resources/spec_dir_runner.rb +0 -15
  25. data/lib/js_spec/resources/spec_file_runner.rb +0 -15
  26. data/lib/js_spec/resources/suite.rb +0 -24
  27. data/lib/js_spec/resources/suite_finish.rb +0 -20
  28. data/lib/js_spec/resources/web_root.rb +0 -34
  29. data/lib/js_spec/server.rb +0 -98
  30. data/lib/js_spec/thin/backends/js_spec_server.rb +0 -9
  31. data/lib/js_spec/thin/js_spec_connection.rb +0 -42
  32. data/lib/js_spec/thin.rb +0 -3
  33. data/spec/unit/js_spec/client_spec.rb +0 -137
  34. data/spec/unit/js_spec/rails_server_spec.rb +0 -45
  35. data/spec/unit/js_spec/resources/dir_spec.rb +0 -84
  36. data/spec/unit/js_spec/resources/file_spec.rb +0 -87
  37. data/spec/unit/js_spec/resources/runner_spec.rb +0 -24
  38. data/spec/unit/js_spec/resources/runners/firefox_runner_spec.rb +0 -152
  39. data/spec/unit/js_spec/resources/spec_dir_runner_spec.rb +0 -48
  40. data/spec/unit/js_spec/resources/spec_file_runner_spec.rb +0 -20
  41. data/spec/unit/js_spec/resources/suite_finish_spec.rb +0 -42
  42. data/spec/unit/js_spec/resources/suite_spec.rb +0 -44
  43. data/spec/unit/js_spec/resources/web_root_spec.rb +0 -55
  44. data/spec/unit/js_spec/server_spec.rb +0 -154
  45. data/spec/unit/thin/js_spec_connection_spec.rb +0 -64
data/CHANGES CHANGED
@@ -1,3 +1,15 @@
1
+ 0.3.0
2
+ - Client accepts selenium_server_start_command parameter, which allows the user to parameterize the selenium_server_start_command
3
+ - Added support for running specs in Internet Explorer via POST /runners/iexplore
4
+ - Resource file download performance improvements via caching and chunked sending
5
+ - Fixed false positive bug when Client connection times out
6
+ - Added JSSpec.session_id method
7
+ - Removed JSSpec.guid property
8
+ - Sending session_id post parameter instead of guid
9
+ - Using Selenium session_id instead of a generated guid to identify the session.
10
+ - ExampleGroups no longer need to be constructors
11
+ - Fixed finalize for nil error when running specs from the browser
12
+
1
13
  0.2.1
2
14
  - Using thin 0.8.1
3
15
  - Fixed server crashing on exception issue.
data/README CHANGED
@@ -36,5 +36,6 @@ To use JsSpec in a CI environment,
36
36
  selenium
37
37
  * Run the js_spec_server on the machine that has the files.
38
38
  script/js_spec_server
39
- * Run the js_spec client. The js_spec client has --selenium_host, --selenium_port, and --spec_url arguments to specify
39
+ * Run the js_spec client. The js_spec client has --selenium_browser_start_command, --selenium_host, --selenium_port, and --spec_url arguments to specify
40
40
  where the Selenium server is relative to the js_spec server, and where the js_spec server is relative to the browser.
41
+ * Running `script/js_spec_server` is equivalent to running `script/js_spec_server --selenium_browser_start_command *firefox --selenium_host localhost --selenium_port 4444 --spec_url http://localhost:8080/specs`
data/Rakefile CHANGED
@@ -26,7 +26,7 @@ def run_suite
26
26
  end
27
27
 
28
28
  PKG_NAME = "js_spec"
29
- PKG_VERSION = "0.2.1"
29
+ PKG_VERSION = "0.3.0"
30
30
  PKG_FILES = FileList[
31
31
  '[A-Z]*',
32
32
  '*.rb',
@@ -58,8 +58,7 @@ spec = Gem::Specification.new do |s|
58
58
  s.homepage = "http://pivotallabs.com"
59
59
  s.rubyforge_project = "pivotalrb"
60
60
  s.add_dependency('Selenium')
61
- s.add_dependency('thin')
62
- s.add_dependency('uuid')
61
+ s.add_dependency('thin', '=0.8.1')
63
62
  end
64
63
 
65
64
  Rake::GemPackageTask.new(spec) do |pkg|
@@ -1,17 +1,17 @@
1
1
  function Spec() {
2
2
  }
3
3
 
4
- Spec.register = function(spec_constructor) {
5
- spec_constructor.describe = function(context, definition) {
4
+ Spec.register = function(example_group) {
5
+ example_group.describe = function(context, definition) {
6
6
  var custom_before = definition['before each'];
7
7
  if(custom_before) {
8
8
  definition['before each'] = function() {
9
- if(spec_constructor['before each']) spec_constructor['before each']();
9
+ if(example_group['before each']) example_group['before each']();
10
10
  custom_before();
11
11
  }
12
12
  } else {
13
13
  definition['before each'] = function() {
14
- if(spec_constructor['before each']) spec_constructor['before each']();
14
+ if(example_group['before each']) example_group['before each']();
15
15
  };
16
16
  }
17
17
 
@@ -19,17 +19,16 @@ Spec.register = function(spec_constructor) {
19
19
  if(custom_after) {
20
20
  definition['after each'] = function() {
21
21
  custom_after();
22
- if(spec_constructor['after each']) spec_constructor['after each']();
22
+ if(example_group['after each']) example_group['after each']();
23
23
  Spec.reset();
24
24
  }
25
25
  } else {
26
26
  definition['after each'] = function() {
27
- if(spec_constructor['after each']) spec_constructor['after each']();
27
+ if(example_group['after each']) example_group['after each']();
28
28
  Spec.reset();
29
29
  }
30
30
  }
31
- new spec_constructor();
32
- describe(spec_constructor.name.toString() + context.toString(), definition);
31
+ describe(example_group.name.toString() + context.toString(), definition);
33
32
  }
34
33
  }
35
34
 
@@ -93,16 +92,19 @@ function parse_url(url) {
93
92
  JSSpec.Logger.prototype.onRunnerEndWithoutServerNotification = JSSpec.Logger.prototype.onRunnerEnd;
94
93
  JSSpec.Logger.prototype.onRunnerEndWithServerNotification = function() {
95
94
  this.onRunnerEndWithoutServerNotification();
96
- var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
97
- xml.open("POST", '/suites/1/finish', true);
98
- xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");
99
- var body = [];
100
- body.push(encodeURIComponent("guid") + "=" + encodeURIComponent( JSSpec.guid ));
101
- body.push(encodeURIComponent("text") + "=" + encodeURIComponent( this.get_error_message_text() ));
102
- xml.send(body.join("&"));
95
+ var suite_id = JSSpec.suite_id();
96
+ if(suite_id) {
97
+ var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
98
+ xml.open("POST", '/suites/' + suite_id + '/finish', true);
99
+ xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");
100
+ xml.send("text=" + encodeURIComponent(this.get_error_message_text()));
101
+ }
103
102
  }
104
103
  JSSpec.Logger.prototype.onRunnerEnd = JSSpec.Logger.prototype.onRunnerEndWithServerNotification;
105
- JSSpec.guid = null;
104
+
105
+ JSSpec.suite_id = function() {
106
+ return top.runOptions ? top.runOptions.getSessionId() : 'user';
107
+ }
106
108
 
107
109
  JSSpec.Logger.prototype.get_error_message_text = function() {
108
110
  var error_messages = [];
@@ -1,8 +1,7 @@
1
1
  module JsSpec
2
2
  module Resources
3
- class SpecRunner
4
- def get(request, response)
5
- guid = (request && request['guid']) || 'null';
3
+ module Spec
4
+ def get
6
5
  html = <<-HTML
7
6
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
8
7
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko">
@@ -12,7 +11,6 @@ module JsSpec
12
11
  <link rel="stylesheet" type="text/css" href="/core/JSSpec.css" />
13
12
  <script type="text/javascript" src="/core/diff_match_patch.js"></script>
14
13
  <script type="text/javascript" src="/core/JSSpec.js"></script>
15
- <script type="text/javascript" src="/core/jquery.js"></script>
16
14
  <script type="text/javascript" src="/core/JSSpecExtensions.js"></script>
17
15
  HTML
18
16
  spec_files.each do |file|
@@ -20,16 +18,14 @@ module JsSpec
20
18
  end
21
19
 
22
20
  html << <<-HTML
23
- <script type="text/javascript">
24
- JSSpec.guid = '#{guid}';
25
- </script>
26
21
  </head>
27
22
  <body>
28
23
  <div id="js_spec_content"></div>
29
24
  </body>
30
25
  </html>
31
26
  HTML
32
- response.body = html.gsub(/^ /, "")
27
+ connection.send_head
28
+ connection.send_body(html.gsub(/^ /, ""))
33
29
  end
34
30
  end
35
31
  end
@@ -1,11 +1,2 @@
1
1
  dir = File.dirname(__FILE__)
2
- require "#{dir}/resources/runners"
3
- require "#{dir}/resources/runners/firefox_runner"
4
- require "#{dir}/resources/spec_runner"
5
- require "#{dir}/resources/spec_file_runner"
6
- require "#{dir}/resources/spec_dir_runner"
7
- require "#{dir}/resources/file"
8
- require "#{dir}/resources/dir"
9
- require "#{dir}/resources/web_root"
10
- require "#{dir}/resources/suite"
11
- require "#{dir}/resources/suite_finish"
2
+ require "#{dir}/resources/spec"
data/lib/js_spec.rb CHANGED
@@ -1,27 +1,26 @@
1
1
  require "rubygems"
2
- gem "eventmachine", "0.10.0"
3
- gem "thin", "0.8.0"
4
-
5
- require "thin"
6
- require "fileutils"
7
- require "tmpdir"
8
- require "timeout"
9
- require "cgi"
10
- require "net/http"
11
- require "selenium"
12
- require "optparse"
13
2
 
14
3
  dir = File.dirname(__FILE__)
15
- require "#{dir}/js_spec/guid"
16
- require "#{dir}/js_spec/thin"
17
- require "#{dir}/js_spec/rack"
18
- require "#{dir}/js_spec/resources"
4
+ $:.unshift(File.expand_path("#{dir}/../vendor/js-test-core/lib"))
5
+ require "js_test_core"
6
+ JsTestCore::Resources::WebRoot.dispatch_specs
19
7
 
20
- require "#{dir}/js_spec/client"
21
- require "#{dir}/js_spec/server"
22
- require "#{dir}/js_spec/rails_server"
8
+ require "#{dir}/js_spec/resources"
23
9
 
24
10
  module JsSpec
25
- DEFAULT_HOST = "0.0.0.0"
26
- DEFAULT_PORT = 8080
11
+ DEFAULT_HOST = JsTestCore::DEFAULT_HOST
12
+ DEFAULT_PORT = JsTestCore::DEFAULT_PORT
13
+
14
+ Server = JsTestCore::Server
15
+ RailsServer = JsTestCore::RailsServer
16
+ Client = JsTestCore::Client
17
+ end
18
+ JsTestCore.core_path = File.expand_path("#{dir}/../core")
19
+
20
+ class JsTestCore::Resources::Specs::SpecFile
21
+ include JsSpec::Resources::Spec
22
+ end
23
+
24
+ class JsTestCore::Resources::Specs::SpecDir
25
+ include JsSpec::Resources::Spec
27
26
  end
@@ -1,14 +1,25 @@
1
1
  require File.expand_path("#{File.dirname(__FILE__)}/integration_spec_helper")
2
2
 
3
3
  describe "JsSpec" do
4
+ attr_reader :stdout, :request
5
+ before do
6
+ @stdout = StringIO.new
7
+ JsSpec::Client.const_set(:STDOUT, stdout)
8
+ @request = "http request"
9
+ end
10
+
11
+ after do
12
+ JsSpec::Client.__send__(:remove_const, :STDOUT)
13
+ end
14
+
4
15
  it "runs a full passing Suite" do
5
- mock(JsSpec::Client).puts("SUCCESS")
6
16
  JsSpec::Client.run(:spec_url => "#{root_url}/specs/foo/passing_spec")
17
+ stdout.string.strip.should == "SUCCESS"
7
18
  end
8
19
 
9
20
  it "runs a full failing Suite" do
10
- mock(JsSpec::Client).puts("FAILURE")
11
- mock(JsSpec::Client).puts(/A failing spec in foo fails/)
12
21
  JsSpec::Client.run(:spec_url => "#{root_url}/specs/foo/failing_spec")
22
+ stdout.string.strip.should include("FAILURE")
23
+ stdout.string.strip.should include("A failing spec in foo fails")
13
24
  end
14
25
  end
@@ -1,8 +1,7 @@
1
1
  require "rubygems"
2
- dir = File.dirname(__FILE__)
3
- $LOAD_PATH.unshift "#{dir}/../../../plugins/rspec/lib"
4
2
  require "spec"
5
3
 
4
+ dir = File.dirname(__FILE__)
6
5
  $LOAD_PATH.unshift "#{dir}/../../lib"
7
6
  require "js_spec"
8
7
  require "hpricot"
@@ -0,0 +1,35 @@
1
+ require File.expand_path("#{File.dirname(__FILE__)}/../../unit_spec_helper")
2
+
3
+ module JsTestCore
4
+ module Resources
5
+ module Specs
6
+ describe SpecDir do
7
+ describe "GET /specs" do
8
+ attr_reader :html, :doc
9
+ before do
10
+ mock(connection).send_head
11
+ mock(connection).send_body(anything) do |@html|
12
+ # do nothing
13
+ end
14
+
15
+ connection.receive_data("GET /specs HTTP/1.1\r\nHost: _\r\n\r\n")
16
+ @doc = Hpricot(html)
17
+ end
18
+
19
+ it "returns script tags for each test javascript file" do
20
+ doc.at("script[@src='/specs/failing_spec.js']").should exist
21
+ doc.at("script[@src='/specs/foo/failing_spec.js']").should exist
22
+ doc.at("script[@src='/specs/foo/passing_spec.js']").should exist
23
+ end
24
+
25
+ it "returns the js specs template" do
26
+ doc.at("link[@href='/core/JSSpec.css']").should exist
27
+ doc.at("script[@src='/core/JSSpec.js']").should exist
28
+ doc.at("script[@src='/core/JSSpecExtensions.js']").should exist
29
+ doc.at("body/#js_spec_content").should_not be_nil
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,33 @@
1
+ require File.expand_path("#{File.dirname(__FILE__)}/../../unit_spec_helper")
2
+
3
+ module JsTestCore
4
+ module Resources
5
+ module Specs
6
+ describe SpecFile do
7
+ describe "GET /specs/failing_spec" do
8
+ attr_reader :html, :doc
9
+ before do
10
+ mock(connection).send_head
11
+ mock(connection).send_body(anything) do |@html|
12
+ # do nothing
13
+ end
14
+
15
+ connection.receive_data("GET /specs/failing_spec HTTP/1.1\r\nHost: _\r\n\r\n")
16
+ @doc = Hpricot(html)
17
+ end
18
+
19
+ it "returns script tags for the test javascript file" do
20
+ doc.at("script[@src='/specs/failing_spec.js']").should exist
21
+ end
22
+
23
+ it "returns the screw unit template" do
24
+ doc.at("link[@href='/core/JSSpec.css']").should exist
25
+ doc.at("script[@src='/core/JSSpec.js']").should exist
26
+ doc.at("script[@src='/core/JSSpecExtensions.js']").should exist
27
+ doc.at("body/#js_spec_content").should_not be_nil
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,11 +1,11 @@
1
1
  require "rubygems"
2
- dir = File.dirname(__FILE__)
3
- $LOAD_PATH.unshift "#{dir}/../../../plugins/rspec/lib"
4
2
  require "spec"
3
+ dir = File.dirname(__FILE__)
5
4
 
6
5
  $LOAD_PATH.unshift "#{dir}/../../lib"
7
6
  require "js_spec"
8
7
  require "hpricot"
8
+ require "guid"
9
9
 
10
10
  Spec::Runner.configure do |config|
11
11
  config.mock_with :rr
@@ -43,7 +43,7 @@ module Spec::Example::ExampleMethods
43
43
  end
44
44
 
45
45
  before(:each) do
46
- JsSpec::Server.instance = JsSpec::Server.new(spec_root_path, implementation_root_path, public_path)
46
+ JsTestCore::Server.instance = JsTestCore::Server.new(spec_root_path, implementation_root_path, public_path)
47
47
  stub(EventMachine).run do
48
48
  raise "You need to mock calls to EventMachine.run or the process will hang"
49
49
  end
@@ -53,10 +53,10 @@ module Spec::Example::ExampleMethods
53
53
  stub(EventMachine).send_data do
54
54
  raise "Calls to EventMachine.send_data must be mocked or stubbed"
55
55
  end
56
- @connection = Thin::JsSpecConnection.new(Guid.new)
56
+ @connection = Thin::JsTestCoreConnection.new(Guid.new)
57
57
  stub(EventMachine).send_data {raise "EventMachine.send_data must be handled"}
58
58
  stub(EventMachine).close_connection {raise "EventMachine.close_connection must be handled"}
59
- @server = JsSpec::Server.instance
59
+ @server = JsTestCore::Server.instance
60
60
  Thin::Logging.silent = !self.class.thin_logging
61
61
  Thin::Logging.debug = self.class.thin_logging
62
62
  end
@@ -83,7 +83,7 @@ module Spec::Example::ExampleMethods
83
83
  end
84
84
 
85
85
  def env_for(method, url, params)
86
- Rack::MockRequest.env_for(url, params.merge({:method => method.to_s.upcase, 'js_spec.connection' => connection}))
86
+ Rack::MockRequest.env_for(url, params.merge({:method => method.to_s.upcase, 'js_test_core.connection' => connection}))
87
87
  end
88
88
 
89
89
  def create_request(method, url, params={})
@@ -93,17 +93,17 @@ module Spec::Example::ExampleMethods
93
93
  alias_method :request, :create_request
94
94
 
95
95
  def core_path
96
- JsSpec::Server.core_path
96
+ JsTestCore::Server.core_path
97
97
  end
98
98
 
99
99
  def spec_file(relative_path)
100
100
  absolute_path = spec_root_path + relative_path
101
- JsSpec::Resources::File.new(absolute_path, "/specs#{relative_path}")
101
+ JsTestCore::Resources::File.new(absolute_path, "/specs#{relative_path}")
102
102
  end
103
103
 
104
104
  def spec_dir(relative_path="")
105
105
  absolute_path = spec_root_path + relative_path
106
- JsSpec::Resources::Dir.new(absolute_path, "/specs#{relative_path}")
106
+ JsTestCore::Resources::SpecDir.new(absolute_path, "/specs#{relative_path}")
107
107
  end
108
108
 
109
109
  def contain_spec_file_with_correct_paths(path_relative_to_spec_root)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: js_spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Takita & Nathan Sobo
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-04-22 00:00:00 -07:00
12
+ date: 2008-09-02 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -26,18 +26,9 @@ dependencies:
26
26
  version_requirement:
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
28
  requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- version: "0"
32
- version:
33
- - !ruby/object:Gem::Dependency
34
- name: uuid
35
- version_requirement:
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
29
+ - - "="
39
30
  - !ruby/object:Gem::Version
40
- version: "0"
31
+ version: 0.8.1
41
32
  version:
42
33
  description: The JSSpec client library (http://code.google.com/p/jsspec/) plus a convenient ruby server.
43
34
  email: brian@pivotallabs.com
@@ -54,29 +45,10 @@ files:
54
45
  - CHANGES
55
46
  - README
56
47
  - init.rb
57
- - lib/js_spec/rack.rb
58
- - lib/js_spec/thin/backends/js_spec_server.rb
59
- - lib/js_spec/thin/js_spec_connection.rb
60
- - lib/js_spec/rack/commonlogger.rb
61
- - lib/js_spec/resources/spec_file_runner.rb
62
- - lib/js_spec/resources/spec_runner.rb
63
- - lib/js_spec/resources/dir.rb
64
- - lib/js_spec/resources/runners/firefox_runner.rb
65
- - lib/js_spec/resources/suite_finish.rb
66
- - lib/js_spec/resources/spec_dir_runner.rb
67
- - lib/js_spec/resources/web_root.rb
68
- - lib/js_spec/resources/file.rb
69
- - lib/js_spec/resources/suite.rb
70
- - lib/js_spec/resources/runners.rb
71
- - lib/js_spec/rails_server.rb
48
+ - lib/js_spec/resources/spec.rb
72
49
  - lib/js_spec/resources.rb
73
- - lib/js_spec/thin.rb
74
- - lib/js_spec/guid.rb
75
- - lib/js_spec/server.rb
76
- - lib/js_spec/client.rb
77
50
  - lib/js_spec.rb
78
51
  - core/JSSpec.js
79
- - core/jquery.js
80
52
  - core/diff_match_patch.js
81
53
  - core/JSSpecExtensions.js
82
54
  - core/exp
@@ -91,19 +63,8 @@ files:
91
63
  - spec/integration/integration_spec_helper.rb
92
64
  - spec/integration/integration_spec.rb
93
65
  - spec/integration_suite.rb
94
- - spec/unit/thin/js_spec_connection_spec.rb
95
- - spec/unit/js_spec/resources/spec_file_runner_spec.rb
96
- - spec/unit/js_spec/resources/file_spec.rb
97
- - spec/unit/js_spec/resources/spec_dir_runner_spec.rb
98
- - spec/unit/js_spec/resources/suite_spec.rb
99
- - spec/unit/js_spec/resources/dir_spec.rb
100
- - spec/unit/js_spec/resources/suite_finish_spec.rb
101
- - spec/unit/js_spec/resources/web_root_spec.rb
102
- - spec/unit/js_spec/resources/runners/firefox_runner_spec.rb
103
- - spec/unit/js_spec/resources/runner_spec.rb
104
- - spec/unit/js_spec/server_spec.rb
105
- - spec/unit/js_spec/client_spec.rb
106
- - spec/unit/js_spec/rails_server_spec.rb
66
+ - spec/unit/js_test_core/resources/spec_dir_spec.rb
67
+ - spec/unit/js_test_core/resources/spec_file_spec.rb
107
68
  - spec/unit/unit_spec_helper.rb
108
69
  - spec/functional_suite.rb
109
70
  - spec/unit_suite.rb