pivotal-screw-unit-server 0.5.10 → 0.5.11
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 +3 -0
- data/VERSION.yml +1 -1
- data/lib/screw_unit/representations/spec.html.rb +8 -7
- data/spec/unit/spec_file_spec.rb +54 -18
- data/vendor/js-test-core/CHANGES +1 -0
- data/vendor/js-test-core/lib/js_test_core/representations/spec.html.rb +26 -0
- data/vendor/js-test-core/spec/unit/js_test_core/resources/spec_file_spec.rb +28 -0
- metadata +1 -1
data/CHANGES
CHANGED
data/VERSION.yml
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
module ScrewUnit
|
2
2
|
module Representations
|
3
3
|
class Spec < JsTestCore::Representations::Spec
|
4
|
+
class << self
|
5
|
+
def jquery_js_file
|
6
|
+
@jquery_js_file ||= "/core/jquery-1.3.2.js"
|
7
|
+
end
|
8
|
+
attr_writer :jquery_js_file
|
9
|
+
end
|
10
|
+
|
4
11
|
needs :spec_files
|
5
12
|
def title_text
|
6
13
|
"Screw Unit suite"
|
@@ -100,14 +107,8 @@ module ScrewUnit
|
|
100
107
|
script :src => "/core/screw.behaviors.js"
|
101
108
|
end
|
102
109
|
|
103
|
-
def project_js_files
|
104
|
-
end
|
105
|
-
|
106
|
-
def project_css_files
|
107
|
-
end
|
108
|
-
|
109
110
|
def jquery_js_file
|
110
|
-
|
111
|
+
self.class.jquery_js_file
|
111
112
|
end
|
112
113
|
|
113
114
|
def body_content
|
data/spec/unit/spec_file_spec.rb
CHANGED
@@ -6,28 +6,64 @@ module JsTestCore
|
|
6
6
|
describe SpecFile do
|
7
7
|
describe "File" do
|
8
8
|
describe "GET /specs/failing_spec" do
|
9
|
-
attr_reader :
|
10
|
-
before do
|
11
|
-
response = get(SpecFile.path("/failing_spec"))
|
12
|
-
response.should be_http(
|
13
|
-
200,
|
14
|
-
{},
|
15
|
-
""
|
16
|
-
)
|
9
|
+
attr_reader :doc
|
17
10
|
|
18
|
-
|
19
|
-
|
11
|
+
context "when using the default .jquery_js_file" do
|
12
|
+
before do
|
13
|
+
ScrewUnit::Representations::Spec.project_js_files += ["/javascripts/test_file_1.js", "/javascripts/test_file_2.js"]
|
14
|
+
ScrewUnit::Representations::Spec.project_css_files += ["/stylesheets/test_file_1.css", "/stylesheets/test_file_2.css"]
|
20
15
|
|
21
|
-
|
22
|
-
|
16
|
+
response = get(SpecFile.path("/failing_spec"))
|
17
|
+
response.should be_http( 200, {}, "" )
|
18
|
+
|
19
|
+
@doc = Nokogiri::HTML(response.body)
|
20
|
+
end
|
21
|
+
|
22
|
+
after do
|
23
|
+
ScrewUnit::Representations::Spec.project_js_files.clear
|
24
|
+
ScrewUnit::Representations::Spec.project_css_files.clear
|
25
|
+
end
|
26
|
+
|
27
|
+
it "returns script tags for the test javascript file" do
|
28
|
+
doc.at("script[@src='/specs/failing_spec.js']").should_not be_nil
|
29
|
+
end
|
30
|
+
|
31
|
+
it "renders the screw unit template" do
|
32
|
+
doc.at("link[@href='/core/screw.css']").should_not be_nil
|
33
|
+
doc.at("script[@src='/core/screw.builder.js']").should_not be_nil
|
34
|
+
doc.at("script[@src='/core/screw.events.js']").should_not be_nil
|
35
|
+
doc.at("script[@src='/core/screw.behaviors.js']").should_not be_nil
|
36
|
+
doc.at("body/#screw_unit_content").should_not be_nil
|
37
|
+
end
|
38
|
+
|
39
|
+
it "renders project js files" do
|
40
|
+
doc.at("script[@src='/javascripts/test_file_1.js']").should_not be_nil
|
41
|
+
doc.at("script[@src='/javascripts/test_file_2.js']").should_not be_nil
|
42
|
+
end
|
43
|
+
|
44
|
+
it "renders project css files" do
|
45
|
+
doc.at("link[@href='/stylesheets/test_file_1.css']").should_not be_nil
|
46
|
+
doc.at("link[@href='/stylesheets/test_file_2.css']").should_not be_nil
|
47
|
+
end
|
23
48
|
end
|
24
49
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
50
|
+
context "when using a custom .jquery_js_file" do
|
51
|
+
attr_reader :default_jquery_js_file
|
52
|
+
before do
|
53
|
+
@default_jquery_js_file = ScrewUnit::Representations::Spec.jquery_js_file
|
54
|
+
ScrewUnit::Representations::Spec.jquery_js_file = "/javascripts/jquery-6.6.6.js"
|
55
|
+
default_jquery_js_file.should_not == ScrewUnit::Representations::Spec.jquery_js_file
|
56
|
+
|
57
|
+
response = get(SpecFile.path("/failing_spec"))
|
58
|
+
response.should be_http( 200, {}, "" )
|
59
|
+
|
60
|
+
@doc = Nokogiri::HTML(response.body)
|
61
|
+
end
|
62
|
+
|
63
|
+
it "renders the custom jquery file" do
|
64
|
+
doc.at("script[@src='/javascripts/jquery-6.6.6.js']").should_not be_nil
|
65
|
+
doc.at("script[@src='#{default_jquery_js_file}']").should be_nil
|
66
|
+
end
|
31
67
|
end
|
32
68
|
end
|
33
69
|
end
|
data/vendor/js-test-core/CHANGES
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
- Added JsTestCore::Representations::Spec.project_js_files and .project_css_files
|
1
2
|
- Updated to erector 0.6.7, which fixes a bug related to including modules into Representations.
|
2
3
|
- Allow test suite to clear all cookies
|
3
4
|
- No longer using the /implementanions directory. Replace all cases of /implementations with /javascripts.
|
@@ -1,6 +1,18 @@
|
|
1
1
|
module JsTestCore
|
2
2
|
module Representations
|
3
3
|
class Spec < Page
|
4
|
+
class << self
|
5
|
+
def project_js_files
|
6
|
+
@project_js_files ||= []
|
7
|
+
end
|
8
|
+
attr_writer :project_js_files
|
9
|
+
|
10
|
+
def project_css_files
|
11
|
+
@project_css_files ||= []
|
12
|
+
end
|
13
|
+
attr_writer :project_css_files
|
14
|
+
end
|
15
|
+
|
4
16
|
needs :spec_files, :session_id
|
5
17
|
protected
|
6
18
|
def title_text
|
@@ -8,6 +20,8 @@ module JsTestCore
|
|
8
20
|
end
|
9
21
|
|
10
22
|
def head_content
|
23
|
+
project_js_files
|
24
|
+
project_css_files
|
11
25
|
spec_script_elements
|
12
26
|
end
|
13
27
|
|
@@ -21,6 +35,18 @@ module JsTestCore
|
|
21
35
|
def script_to_set_window_session_id
|
22
36
|
script "window._session_id = '#{session_id}';", :type => "text/javascript"
|
23
37
|
end
|
38
|
+
|
39
|
+
def project_js_files
|
40
|
+
self.class.project_js_files.each do |file|
|
41
|
+
script :src => file, :type => "text/javascript"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def project_css_files
|
46
|
+
self.class.project_css_files.each do |file|
|
47
|
+
link :href => file, :type => "text/css", :media => "screen", :rel => "stylesheet"
|
48
|
+
end
|
49
|
+
end
|
24
50
|
|
25
51
|
def body_content
|
26
52
|
end
|
@@ -3,6 +3,34 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../unit_spec_helper")
|
|
3
3
|
module JsTestCore
|
4
4
|
module Resources
|
5
5
|
describe SpecFile do
|
6
|
+
describe "Configuration" do
|
7
|
+
attr_reader :doc
|
8
|
+
before do
|
9
|
+
JsTestCore::Representations::Spec.project_js_files += ["/javascripts/test_file_1.js", "/javascripts/test_file_2.js"]
|
10
|
+
JsTestCore::Representations::Spec.project_css_files += ["/stylesheets/test_file_1.css", "/stylesheets/test_file_2.css"]
|
11
|
+
|
12
|
+
response = get(SpecFile.path("/failing_spec"))
|
13
|
+
response.should be_http( 200, {}, "" )
|
14
|
+
|
15
|
+
@doc = Nokogiri::HTML(response.body)
|
16
|
+
end
|
17
|
+
|
18
|
+
after do
|
19
|
+
JsTestCore::Representations::Spec.project_js_files.clear
|
20
|
+
JsTestCore::Representations::Spec.project_css_files.clear
|
21
|
+
end
|
22
|
+
|
23
|
+
it "renders project js files" do
|
24
|
+
doc.at("script[@src='/javascripts/test_file_1.js']").should_not be_nil
|
25
|
+
doc.at("script[@src='/javascripts/test_file_2.js']").should_not be_nil
|
26
|
+
end
|
27
|
+
|
28
|
+
it "renders project css files" do
|
29
|
+
doc.at("link[@href='/stylesheets/test_file_1.css']").should_not be_nil
|
30
|
+
doc.at("link[@href='/stylesheets/test_file_2.css']").should_not be_nil
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
6
34
|
describe "Files" do
|
7
35
|
describe "GET /specs/failing_spec" do
|
8
36
|
it "renders a suite only for failing_spec.js as text/html" do
|