screw_server 0.1.7 → 0.1.8
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/Gemfile.run.lock +2 -2
- data/assets/vendor/jslint/jslint.js +1 -1
- data/assets/vendor/screw-unit/EXAMPLE.html +4 -4
- data/assets/vendor/screw-unit/example/models/man.js +1 -1
- data/assets/vendor/screw-unit/example/spec/models/cat_spec.js +5 -5
- data/assets/vendor/screw-unit/example/spec/models/man_spec.js +4 -4
- data/assets/vendor/screw-unit/example/spec/suite.html +4 -4
- data/assets/vendor/screw-unit/lib/jquery-1.2.6.js +4 -4
- data/assets/vendor/screw-unit/lib/jquery.print.js +1 -1
- data/assets/vendor/screw-unit/lib/screw.behaviors.js +12 -12
- data/assets/vendor/screw-unit/lib/screw.builder.js +1 -1
- data/assets/vendor/screw-unit/lib/screw.css +2 -2
- data/assets/vendor/screw-unit/lib/screw.events.js +2 -2
- data/assets/vendor/screw-unit/lib/screw.matchers.js +5 -5
- data/assets/vendor/screw-unit/spec/behaviors_spec.js +18 -18
- data/assets/vendor/screw-unit/spec/matchers_spec.js +20 -20
- data/assets/vendor/screw-unit/spec/print_spec.js +16 -16
- data/assets/vendor/smoke/lib/smoke.core.js +7 -7
- data/assets/vendor/smoke/lib/smoke.mock.js +6 -6
- data/assets/vendor/smoke/lib/smoke.stub.js +1 -1
- data/assets/vendor/smoke/spec/core_spec.js +14 -14
- data/assets/vendor/smoke/spec/mock_spec.js +46 -46
- data/assets/vendor/smoke/spec/screw_integration_spec.js +2 -2
- data/assets/vendor/smoke/spec/stub_spec.js +2 -2
- data/assets/vendor/smoke/spec/su/jquery-1.2.3.js +203 -203
- data/assets/vendor/smoke/spec/su/jquery.print.js +3 -3
- data/assets/vendor/smoke/spec/su/screw.behaviors.js +12 -12
- data/assets/vendor/smoke/spec/su/screw.events.js +1 -1
- data/assets/vendor/smoke/spec/su/screw.matchers.js +9 -9
- data/assets/vendor/smoke/spec/suite.html +1 -1
- data/bin/screw_server +3 -1
- data/bundler_version.rb +1 -0
- data/lib/screw_server/app.rb +12 -8
- data/lib/screw_server/base.rb +3 -3
- data/lib/screw_server/spec_file.rb +7 -4
- data/screw_server.gemspec +11 -3
- data/views/run_spec.haml +3 -2
- metadata +9 -8
@@ -21,7 +21,7 @@
|
|
21
21
|
'form': ['method', 'action']
|
22
22
|
};
|
23
23
|
$.each(properties.concat(extra[obj.tagName.toLowerCase()] || []), function() {
|
24
|
-
if (obj[this])
|
24
|
+
if (obj[this])
|
25
25
|
result.push(' ' + this.replace('className', 'class') + "=" + $.print(obj[this]))
|
26
26
|
});
|
27
27
|
return "<" + obj.tagName.toLowerCase()
|
@@ -59,7 +59,7 @@
|
|
59
59
|
'\\': '\\\\'
|
60
60
|
};
|
61
61
|
var r = /["\\\x00-\x1f\x7f-\x9f]/g;
|
62
|
-
|
62
|
+
|
63
63
|
var str = r.test(value)
|
64
64
|
? '"' + value.replace(r, function (a) {
|
65
65
|
var c = character_substitutions[a];
|
@@ -104,5 +104,5 @@
|
|
104
104
|
else
|
105
105
|
return obj.toString().replace(/\n\s*/g, '');
|
106
106
|
}
|
107
|
-
|
107
|
+
|
108
108
|
})(jQuery);
|
@@ -12,37 +12,37 @@
|
|
12
12
|
parent: function() {
|
13
13
|
return $(this).parent('.describes').parent('.describe');
|
14
14
|
},
|
15
|
-
|
15
|
+
|
16
16
|
run_befores: function() {
|
17
17
|
$(this).fn('parent').fn('run_befores');
|
18
18
|
$(this).children('.befores').children('.before').fn('run');
|
19
19
|
},
|
20
|
-
|
20
|
+
|
21
21
|
run_afters: function() {
|
22
22
|
$(this).fn('parent').fn('run_afters');
|
23
23
|
$(this).children('.afters').children('.after').fn('run');
|
24
24
|
},
|
25
|
-
|
25
|
+
|
26
26
|
enqueue: function() {
|
27
27
|
$(this).children('.its').children('.it').fn('enqueue');
|
28
28
|
$(this).children('.describes').children('.describe').fn('enqueue');
|
29
29
|
},
|
30
|
-
|
30
|
+
|
31
31
|
selector: function() {
|
32
32
|
return $(this).fn('parent').fn('selector')
|
33
33
|
+ ' > .describes > .describe:eq(' + $(this).parent('.describes').children('.describe').index(this) + ')';
|
34
34
|
}
|
35
35
|
});
|
36
|
-
|
36
|
+
|
37
37
|
$('body > .describe').fn({
|
38
38
|
selector: function() { return 'body > .describe' }
|
39
39
|
});
|
40
|
-
|
40
|
+
|
41
41
|
$('.it').fn({
|
42
42
|
parent: function() {
|
43
43
|
return $(this).parent('.its').parent('.describe');
|
44
44
|
},
|
45
|
-
|
45
|
+
|
46
46
|
run: function() {
|
47
47
|
try {
|
48
48
|
try {
|
@@ -56,7 +56,7 @@
|
|
56
56
|
$(this).trigger('failed', [e]);
|
57
57
|
}
|
58
58
|
},
|
59
|
-
|
59
|
+
|
60
60
|
enqueue: function() {
|
61
61
|
var self = $(this).trigger('enqueued');
|
62
62
|
$(Screw)
|
@@ -65,17 +65,17 @@
|
|
65
65
|
setTimeout(function() { $(Screw).dequeue() }, 0);
|
66
66
|
});
|
67
67
|
},
|
68
|
-
|
68
|
+
|
69
69
|
selector: function() {
|
70
70
|
return $(this).fn('parent').fn('selector')
|
71
71
|
+ ' > .its > .it:eq(' + $(this).parent('.its').children('.it').index(this) + ')';
|
72
72
|
}
|
73
73
|
});
|
74
|
-
|
74
|
+
|
75
75
|
$('.before').fn({
|
76
76
|
run: function() { $(this).data('screwunit.run')() }
|
77
|
-
});
|
78
|
-
|
77
|
+
});
|
78
|
+
|
79
79
|
$('.after').fn({
|
80
80
|
run: function() { $(this).data('screwunit.run')() }
|
81
81
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
Screw.Matchers = (function($) {
|
2
|
-
return matchers = {
|
2
|
+
return matchers = {
|
3
3
|
expect: function(actual) {
|
4
4
|
return {
|
5
5
|
to: function(matcher, expected, not) {
|
@@ -8,13 +8,13 @@ Screw.Matchers = (function($) {
|
|
8
8
|
throw(matcher.failure_message(expected, actual, not));
|
9
9
|
}
|
10
10
|
},
|
11
|
-
|
11
|
+
|
12
12
|
to_not: function(matcher, expected) {
|
13
13
|
this.to(matcher, expected, true);
|
14
14
|
}
|
15
15
|
}
|
16
16
|
},
|
17
|
-
|
17
|
+
|
18
18
|
equal: {
|
19
19
|
match: function(expected, actual) {
|
20
20
|
if (expected instanceof Array) {
|
@@ -31,12 +31,12 @@ Screw.Matchers = (function($) {
|
|
31
31
|
return expected == actual;
|
32
32
|
}
|
33
33
|
},
|
34
|
-
|
34
|
+
|
35
35
|
failure_message: function(expected, actual, not) {
|
36
36
|
return 'expected ' + $.print(actual) + (not ? ' to not equal ' : ' to equal ') + $.print(expected);
|
37
37
|
}
|
38
38
|
},
|
39
|
-
|
39
|
+
|
40
40
|
match: {
|
41
41
|
match: function(expected, actual) {
|
42
42
|
if (expected.constructor == RegExp)
|
@@ -44,19 +44,19 @@ Screw.Matchers = (function($) {
|
|
44
44
|
else
|
45
45
|
return actual.indexOf(expected) > -1;
|
46
46
|
},
|
47
|
-
|
47
|
+
|
48
48
|
failure_message: function(expected, actual, not) {
|
49
49
|
return 'expected ' + $.print(actual) + (not ? ' to not match ' : ' to match ') + $.print(expected);
|
50
50
|
}
|
51
51
|
},
|
52
|
-
|
52
|
+
|
53
53
|
be_empty: {
|
54
54
|
match: function(expected, actual) {
|
55
55
|
if (actual.length == undefined) throw(actual.toString() + " does not respond to length");
|
56
|
-
|
56
|
+
|
57
57
|
return actual.length == 0;
|
58
58
|
},
|
59
|
-
|
59
|
+
|
60
60
|
failure_message: function(expected, actual, not) {
|
61
61
|
return 'expected ' + $.print(actual) + (not ? ' to not be empty' : ' to be empty');
|
62
62
|
}
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<script src="su/screw.matchers.js"></script>
|
9
9
|
<script src="su/screw.events.js"></script>
|
10
10
|
<script src="su/screw.behaviors.js"></script>
|
11
|
-
|
11
|
+
|
12
12
|
<!-- require smoke -->
|
13
13
|
<script src="../lib/smoke.core.js"></script>
|
14
14
|
<script src="../lib/smoke.mock.js"></script>
|
data/bin/screw_server
CHANGED
@@ -8,8 +8,10 @@ if Object.const_defined?("Bundler")
|
|
8
8
|
Kernel.exec(__FILE__)
|
9
9
|
end
|
10
10
|
|
11
|
+
require File.expand_path("../../bundler_version", __FILE__)
|
12
|
+
|
11
13
|
require "rubygems"
|
12
|
-
gem "bundler",
|
14
|
+
gem "bundler", SCREW_SERVER_BUNDLER_VERSION
|
13
15
|
require "bundler"
|
14
16
|
ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile.run", __FILE__)
|
15
17
|
Bundler.require
|
data/bundler_version.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
SCREW_SERVER_BUNDLER_VERSION = "1.1.3"
|
data/lib/screw_server/app.rb
CHANGED
@@ -142,6 +142,10 @@ module ScrewServer
|
|
142
142
|
}
|
143
143
|
end
|
144
144
|
|
145
|
+
def spec_helpers
|
146
|
+
SpecFile.spec_helper_files
|
147
|
+
end
|
148
|
+
|
145
149
|
def sample_spec_file
|
146
150
|
"\n"+File.read(File.join(VIEW_PATH, "sample_spec.js"))
|
147
151
|
end
|
@@ -159,8 +163,8 @@ module ScrewServer
|
|
159
163
|
private
|
160
164
|
|
161
165
|
def file_from_base_dir(base_dir, file)
|
162
|
-
File.expand_path(File.join(base_dir, file)).tap do |result|
|
163
|
-
unless result.start_with?(base_dir)
|
166
|
+
File.expand_path(File.join(base_dir.to_s, file)).tap do |result|
|
167
|
+
unless result.start_with?(base_dir.to_s)
|
164
168
|
raise Sinatra::NotFound, "Forbidden Access out of base directory"
|
165
169
|
end
|
166
170
|
end
|
@@ -168,17 +172,17 @@ module ScrewServer
|
|
168
172
|
|
169
173
|
def url_for_source_file(filename)
|
170
174
|
file = File.expand_path(filename)
|
171
|
-
if file.start_with?(Base.code_base_dir)
|
172
|
-
file[Base.code_base_dir.length..-1]
|
173
|
-
elsif file.start_with?(Base.spec_base_dir)
|
174
|
-
url_for_spec(file[(Base.spec_base_dir.length + 1)..-1])
|
175
|
+
if file.start_with?(Base.code_base_dir.to_s)
|
176
|
+
file[Base.code_base_dir.to_s.length..-1]
|
177
|
+
elsif file.start_with?(Base.spec_base_dir.to_s)
|
178
|
+
url_for_spec(file[(Base.spec_base_dir.to_s.length + 1)..-1])
|
175
179
|
else
|
176
|
-
raise "file #{file} cannot be checked by jslint since it it not inside the spec or code path"
|
180
|
+
raise "file #{file} cannot be checked by jslint since it it not inside the spec or code path: #{Base.code_base_dir} or #{Base.spec_base_dir}"
|
177
181
|
end
|
178
182
|
end
|
179
183
|
|
180
184
|
def run_specs(specs)
|
181
|
-
if
|
185
|
+
if SpecFile.spec_helper_files.length > 0
|
182
186
|
@specs = specs
|
183
187
|
haml :run_spec
|
184
188
|
else
|
data/lib/screw_server/base.rb
CHANGED
@@ -2,7 +2,7 @@ module ScrewServer
|
|
2
2
|
module Base
|
3
3
|
def self.spec_base_dir=(d)
|
4
4
|
raise "expected a directory with javascript specs under #{d}" unless File.exists?(d)
|
5
|
-
@spec_base_dir = d
|
5
|
+
@spec_base_dir = Pathname(d)
|
6
6
|
end
|
7
7
|
|
8
8
|
def self.spec_base_dir
|
@@ -11,11 +11,11 @@ module ScrewServer
|
|
11
11
|
|
12
12
|
def self.code_base_dir=(d)
|
13
13
|
raise "expected a directory with javascript code under #{d}" unless File.exists?(d)
|
14
|
-
@code_base_dir = d
|
14
|
+
@code_base_dir = Pathname(d)
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.code_base_dir
|
18
18
|
@code_base_dir
|
19
19
|
end
|
20
20
|
end
|
21
|
-
end
|
21
|
+
end
|
@@ -39,7 +39,8 @@ module ScrewServer
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def required_scripts
|
42
|
-
|
42
|
+
SpecFile.spec_helper_files.map { |file| required_files_in(file) }.flatten +
|
43
|
+
required_files_in(filename)
|
43
44
|
end
|
44
45
|
|
45
46
|
def last_dependency_change
|
@@ -53,13 +54,15 @@ module ScrewServer
|
|
53
54
|
end
|
54
55
|
|
55
56
|
def used_files
|
56
|
-
[filename
|
57
|
+
[filename] +
|
58
|
+
SpecFile.spec_helper_files +
|
57
59
|
used_fixtures.map(&:filename) +
|
58
60
|
required_scripts.map {|script| File.join(Base.code_base_dir, script)}
|
59
61
|
end
|
60
62
|
|
61
|
-
def self.
|
62
|
-
|
63
|
+
def self.spec_helper_files
|
64
|
+
Dir.glob(Base.spec_base_dir + "spec_helper.js") +
|
65
|
+
Dir.glob(Base.spec_base_dir + "support/**/*.js")
|
63
66
|
end
|
64
67
|
|
65
68
|
protected
|
data/screw_server.gemspec
CHANGED
@@ -1,17 +1,25 @@
|
|
1
|
+
require File.expand_path("../bundler_version", __FILE__)
|
2
|
+
|
1
3
|
Gem::Specification.new do |s|
|
2
4
|
s.name = %q{screw_server}
|
3
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.8"
|
4
6
|
s.authors = ["Kristian Hanekamp", "Infopark AG"]
|
5
7
|
s.description = %q{Screw Server - easy javascript unit tests}
|
6
8
|
s.email = %q{kristian.hanekamp@infopark.de}
|
7
9
|
s.files =
|
8
10
|
Dir.glob("{lib,assets,views}/**/*") +
|
9
|
-
[
|
11
|
+
[
|
12
|
+
"bin/screw_server",
|
13
|
+
"Gemfile.run",
|
14
|
+
"Gemfile.run.lock",
|
15
|
+
"screw_server.gemspec",
|
16
|
+
"bundler_version.rb"
|
17
|
+
]
|
10
18
|
s.summary = %q{Screw Server}
|
11
19
|
|
12
20
|
s.add_dependency("json", "=1.6.5")
|
13
21
|
s.add_dependency("haml", "= 3.0.13")
|
14
|
-
s.add_dependency("bundler",
|
22
|
+
s.add_dependency("bundler", SCREW_SERVER_BUNDLER_VERSION)
|
15
23
|
|
16
24
|
# sinatra and dependencies
|
17
25
|
s.add_dependency("rack", "= 1.1.0")
|
data/views/run_spec.haml
CHANGED
@@ -9,7 +9,8 @@
|
|
9
9
|
- screw_assets.each do |asset|
|
10
10
|
%script{:type => "text/javascript", :src => url_for_screw_asset(asset)}
|
11
11
|
|
12
|
-
|
12
|
+
- spec_helpers.each do |asset|
|
13
|
+
%script{:type => "text/javascript", :src => url_for_source_file(asset)}
|
13
14
|
|
14
15
|
%script{:type => "text/javascript"}
|
15
16
|
= "fixture_container = #{fixture_html.to_json}"
|
@@ -28,4 +29,4 @@
|
|
28
29
|
|
29
30
|
- if @include_monitor_code
|
30
31
|
%script{:type => "text/javascript"}
|
31
|
-
= monitor_code
|
32
|
+
= monitor_code
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: screw_server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 8
|
10
|
+
version: 0.1.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kristian Hanekamp
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-
|
19
|
+
date: 2012-05-24 00:00:00 +02:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -59,12 +59,12 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - "="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
hash:
|
62
|
+
hash: 21
|
63
63
|
segments:
|
64
64
|
- 1
|
65
|
-
-
|
66
|
-
-
|
67
|
-
version: 1.
|
65
|
+
- 1
|
66
|
+
- 3
|
67
|
+
version: 1.1.3
|
68
68
|
type: :runtime
|
69
69
|
version_requirements: *id003
|
70
70
|
- !ruby/object:Gem::Dependency
|
@@ -224,6 +224,7 @@ files:
|
|
224
224
|
- Gemfile.run
|
225
225
|
- Gemfile.run.lock
|
226
226
|
- screw_server.gemspec
|
227
|
+
- bundler_version.rb
|
227
228
|
has_rdoc: true
|
228
229
|
homepage:
|
229
230
|
licenses: []
|