screw_server 0.1.10 → 0.1.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.
@@ -36,7 +36,7 @@ $("script").map(function() {
36
36
 
37
37
  if (Screw.jshint_suites.length > 0) {
38
38
  Screw.Unit(function(){
39
- describe("JSHINT check", function() {
39
+ describe("JSHint check", function() {
40
40
  it("should succeed", function() {
41
41
  var message = "";
42
42
  var ajax = Screw.ajax;
@@ -51,7 +51,7 @@ if (Screw.jshint_suites.length > 0) {
51
51
  if (e) {
52
52
  var line = parseInt(e.line, 10);
53
53
  var character = parseInt(e.character, 10);
54
- message += 'Lint at ' + name + ":" + line + ' character ' +
54
+ message += 'JSHint at ' + name + ":" + line + ' character ' +
55
55
  character + ': ' + e.reason + "\n";
56
56
  message += (e.evidence || '').
57
57
  replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1") + "\n";
data/bin/screw_server CHANGED
@@ -30,6 +30,8 @@ begin
30
30
  rescue Errno::ENOENT
31
31
  end
32
32
 
33
+ require 'optparse'
34
+
33
35
  OptionParser.new do |opt|
34
36
  opt.on('--port -p ', Integer, 'port to start screw_server on (default is 3210)') do |port|
35
37
  options[:port] = port
@@ -179,10 +179,10 @@ module ScrewServer
179
179
 
180
180
  def url_for_source_file(filename)
181
181
  file = File.expand_path(filename)
182
- if file.start_with?(Base.code_base_dir.to_s)
183
- file[Base.code_base_dir.to_s.length..-1]
184
- elsif file.start_with?(Base.spec_base_dir.to_s)
182
+ if file.start_with?(Base.spec_base_dir.to_s)
185
183
  url_for_spec(file[(Base.spec_base_dir.to_s.length + 1)..-1])
184
+ elsif file.start_with?(Base.code_base_dir.to_s)
185
+ file[Base.code_base_dir.to_s.length..-1]
186
186
  else
187
187
  raise "file #{file} cannot be checked by jshint since it it not inside the spec or code path: #{Base.code_base_dir} or #{Base.spec_base_dir}"
188
188
  end
data/screw_server.gemspec CHANGED
@@ -2,7 +2,7 @@ require File.expand_path("../bundler_version", __FILE__)
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{screw_server}
5
- s.version = '0.1.10'
5
+ s.version = '0.1.11'
6
6
  s.authors = ["Kristian Hanekamp", "Infopark AG"]
7
7
  s.description = %q{Screw Server - easy javascript unit tests}
8
8
  s.email = %q{kristian.hanekamp@infopark.de}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: screw_server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,33 +10,43 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-03-08 00:00:00.000000000 Z
13
+ date: 2013-03-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
17
- requirement: &70307345188540 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
- - - =
20
+ - - '='
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.6.5
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70307345188540
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - '='
29
+ - !ruby/object:Gem::Version
30
+ version: 1.6.5
26
31
  - !ruby/object:Gem::Dependency
27
32
  name: haml
28
- requirement: &70307345187620 !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
29
34
  none: false
30
35
  requirements:
31
- - - =
36
+ - - '='
32
37
  - !ruby/object:Gem::Version
33
38
  version: 3.0.13
34
39
  type: :runtime
35
40
  prerelease: false
36
- version_requirements: *70307345187620
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - '='
45
+ - !ruby/object:Gem::Version
46
+ version: 3.0.13
37
47
  - !ruby/object:Gem::Dependency
38
48
  name: bundler
39
- requirement: &70307345185580 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
40
50
  none: false
41
51
  requirements:
42
52
  - - ~>
@@ -44,62 +54,92 @@ dependencies:
44
54
  version: '1.2'
45
55
  type: :runtime
46
56
  prerelease: false
47
- version_requirements: *70307345185580
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: '1.2'
48
63
  - !ruby/object:Gem::Dependency
49
64
  name: rack
50
- requirement: &70307345183220 !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
51
66
  none: false
52
67
  requirements:
53
- - - =
68
+ - - '='
54
69
  - !ruby/object:Gem::Version
55
70
  version: 1.1.0
56
71
  type: :runtime
57
72
  prerelease: false
58
- version_requirements: *70307345183220
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - '='
77
+ - !ruby/object:Gem::Version
78
+ version: 1.1.0
59
79
  - !ruby/object:Gem::Dependency
60
80
  name: sinatra
61
- requirement: &70307345198180 !ruby/object:Gem::Requirement
81
+ requirement: !ruby/object:Gem::Requirement
62
82
  none: false
63
83
  requirements:
64
- - - =
84
+ - - '='
65
85
  - !ruby/object:Gem::Version
66
86
  version: '1.0'
67
87
  type: :runtime
68
88
  prerelease: false
69
- version_requirements: *70307345198180
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - '='
93
+ - !ruby/object:Gem::Version
94
+ version: '1.0'
70
95
  - !ruby/object:Gem::Dependency
71
96
  name: daemons
72
- requirement: &70307345197380 !ruby/object:Gem::Requirement
97
+ requirement: !ruby/object:Gem::Requirement
73
98
  none: false
74
99
  requirements:
75
- - - =
100
+ - - '='
76
101
  - !ruby/object:Gem::Version
77
102
  version: 1.0.10
78
103
  type: :runtime
79
104
  prerelease: false
80
- version_requirements: *70307345197380
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 1.0.10
81
111
  - !ruby/object:Gem::Dependency
82
112
  name: eventmachine
83
- requirement: &70307345196580 !ruby/object:Gem::Requirement
113
+ requirement: !ruby/object:Gem::Requirement
84
114
  none: false
85
115
  requirements:
86
- - - =
116
+ - - '='
87
117
  - !ruby/object:Gem::Version
88
118
  version: 0.12.6
89
119
  type: :runtime
90
120
  prerelease: false
91
- version_requirements: *70307345196580
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - '='
125
+ - !ruby/object:Gem::Version
126
+ version: 0.12.6
92
127
  - !ruby/object:Gem::Dependency
93
128
  name: thin
94
- requirement: &70307345195520 !ruby/object:Gem::Requirement
129
+ requirement: !ruby/object:Gem::Requirement
95
130
  none: false
96
131
  requirements:
97
- - - =
132
+ - - '='
98
133
  - !ruby/object:Gem::Version
99
134
  version: 1.2.7
100
135
  type: :runtime
101
136
  prerelease: false
102
- version_requirements: *70307345195520
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - '='
141
+ - !ruby/object:Gem::Version
142
+ version: 1.2.7
103
143
  description: Screw Server - easy javascript unit tests
104
144
  email: kristian.hanekamp@infopark.de
105
145
  executables:
@@ -117,12 +157,6 @@ files:
117
157
  - assets/screw-server.js
118
158
  - assets/screw.css
119
159
  - assets/vendor/jshint.js
120
- - assets/vendor/jslint/init_ui.js
121
- - assets/vendor/jslint/intercept.js
122
- - assets/vendor/jslint/jslint.html
123
- - assets/vendor/jslint/jslint.js
124
- - assets/vendor/jslint/lint.html
125
- - assets/vendor/jslint/README
126
160
  - assets/vendor/screw-unit/CHANGES
127
161
  - assets/vendor/screw-unit/example/models/cat.js
128
162
  - assets/vendor/screw-unit/example/models/man.js
@@ -198,9 +232,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
232
  version: '0'
199
233
  requirements: []
200
234
  rubyforge_project:
201
- rubygems_version: 1.8.11
235
+ rubygems_version: 1.8.25
202
236
  signing_key:
203
237
  specification_version: 3
204
238
  summary: Screw Server
205
239
  test_files: []
206
- has_rdoc:
@@ -1,41 +0,0 @@
1
- JSLint, The JavaScript Code Quality Tool
2
-
3
- Douglas Crockford
4
- douglas@crockford.com
5
-
6
- 2011-04-17
7
-
8
- jslint.js contains the fully commented JSLINT function.
9
-
10
- jslint.html runs the JSLINT function in a web page. The page also depends
11
- on adsafe.js [www.ADsafe.org] and json2.js [www.JSON.org] (which are not
12
- included in this project) and intercept.js and init_ui.js (which are). The
13
- js files should all be minified, and all except init_ui.js are concatenated
14
- together to form web_jslint.js.
15
-
16
- intercept.js augments ADsafe, giving widgets access to the clock, cookies,
17
- and the JSLINT function.
18
-
19
- init_ui.js hooks the HTML ui components to ADsafe.
20
-
21
- lint.html describes JSLint's usage.
22
-
23
- Direct questions and comments to http://tech.groups.yahoo.com/group/jslint_com/.
24
-
25
- JSLint can be run anywhere that JavaScript (or Java) can run. See for example
26
- http://tech.groups.yahoo.com/group/jslint_com/database?method=reportRows&tbl=1
27
-
28
- The place to express yourself in programming is in the quality of your ideas,
29
- and the efficiency of execution. The role of style is the same as in
30
- literature. A great writer doesn't express himself by putting the spaces
31
- before his commas instead of after, or by putting extra spaces inside his
32
- parentheses. A great writer will slavishly conform to some rules of style,
33
- and that in no way constrains his power to express himself creatively.
34
- See for example William Strunk's The Elements of Style
35
- [http://www.crockford.com/wrrrld/style.html].
36
-
37
- This applies to programming as well. Conforming to a consistent style
38
- improves readability, and frees you to express yourself in ways that matter.
39
- JSLint here plays the part of a stern but benevolent editor, helping you to
40
- get the style right so that you can focus your creative energy where it is
41
- most needed.
@@ -1,178 +0,0 @@
1
- // init_ui.js
2
- // 2011-07-19
3
-
4
- // This is the web browser companion to fulljslint.js. It is an ADsafe
5
- // lib file that implements a web ui by adding behavior to the widget's
6
- // html tags.
7
-
8
- // It stores a function in lib.init_ui. Calling that function will
9
- // start up the JSLint widget ui.
10
-
11
- // option = {adsafe: true, fragment: false}
12
-
13
- /*properties check, cookie, each, edition, get, getCheck, getTitle, getValue,
14
- has, indent, isArray, join, jslint, length, lib, maxerr, maxlen, on,
15
- predef, push, q, select, set, split, stringify, style, target, tree, value
16
- */
17
-
18
-
19
- ADSAFE.lib("init_ui", function (lib) {
20
- "use strict";
21
-
22
- return function (dom) {
23
- var table = dom.q('#JSLINT_TABLE'),
24
- boxes = table.q('span'),
25
- indent = dom.q('#JSLINT_INDENT'),
26
- input = dom.q('#JSLINT_INPUT'),
27
- jslintstring = dom.q('#JSLINT_JSLINTSTRING'),
28
- maxerr = dom.q('#JSLINT_MAXERR'),
29
- maxlen = dom.q('#JSLINT_MAXLEN'),
30
- option = lib.cookie.get(),
31
- output = dom.q('#JSLINT_OUTPUT'),
32
- tree = dom.q('#JSLINT_TREE'),
33
- predefined = dom.q('#JSLINT_PREDEF');
34
-
35
- function show_jslint_control() {
36
-
37
- // Build and display a /*jslint*/ control comment.
38
- // The comment can be copied into a .js file.
39
-
40
- var a = [];
41
-
42
- boxes.each(function (bunch) {
43
- var name = bunch.getTitle(),
44
- value = ADSAFE.get(option, name);
45
- if (typeof value === 'boolean') {
46
- a.push(name + ': ' + value);
47
- bunch.style('backgroundColor', value ? 'black' : 'white');
48
- } else {
49
- bunch.style('backgroundColor', 'gainsboro');
50
- }
51
- });
52
- if (typeof option.maxerr === 'number' && option.maxerr >= 0) {
53
- a.push('maxerr: ' + String(option.maxerr));
54
- }
55
- if (typeof option.maxlen === 'number' && option.maxlen >= 0) {
56
- a.push('maxlen: ' + String(option.maxlen));
57
- }
58
- if (typeof option.indent === 'number' && option.indent >= 0) {
59
- a.push('indent: ' + String(option.indent));
60
- }
61
- jslintstring.value('/*jslint ' + a.join(', ') + ' */');
62
-
63
- // Make a JSON cookie of the option object.
64
-
65
- lib.cookie.set(option);
66
- }
67
-
68
- function show_options() {
69
- indent.value(String(option.indent));
70
- maxlen.value(String(option.maxlen || ''));
71
- maxerr.value(String(option.maxerr));
72
- predefined.value(ADSAFE.isArray(option.predef) ? option.predef.join(',') : '');
73
- show_jslint_control();
74
- }
75
-
76
- function update_box(event) {
77
-
78
- // Boxes are tristate, cycling true, false, undefined.
79
-
80
- var title = event.target.getTitle();
81
- if (title) {
82
- ADSAFE.set(option, title,
83
- ADSAFE.get(option, title) === true ? false :
84
- ADSAFE.get(option, title) === false ? undefined : true);
85
- }
86
- show_jslint_control();
87
- }
88
-
89
- function update_number(event) {
90
- var value = event.target.getValue();
91
- if (value.length === 0 || +value < 0 || !isFinite(value)) {
92
- value = '';
93
- ADSAFE.set(option, event.target.getTitle(), undefined);
94
- } else {
95
- ADSAFE.set(option, event.target.getTitle(), +value);
96
- }
97
- event.target.value(String(value));
98
- show_jslint_control();
99
- }
100
-
101
- function update_list(event) {
102
- var value = event.target.getValue().split(/\s*,\s*/);
103
- ADSAFE.set(option, event.target.getTitle(), value);
104
- event.target.value(value.join(', '));
105
- show_jslint_control();
106
- }
107
-
108
-
109
- // Restore the options from a JSON cookie.
110
-
111
- if (!option || typeof option !== 'object') {
112
- option = {
113
- indent: 4,
114
- maxerr: 50
115
- };
116
- } else {
117
- option.indent =
118
- typeof option.indent === 'number' && option.indent >= 0 ?
119
- option.indent : 4;
120
- option.maxerr =
121
- typeof option.maxerr === 'number' && option.maxerr >= 0 ?
122
- option.maxerr : 50;
123
- }
124
- show_options();
125
-
126
-
127
- // Display the edition.
128
-
129
- dom.q('#JSLINT_EDITION').value('Edition ' + lib.edition());
130
-
131
- // Add click event handlers to the [JSLint] and [clear] buttons.
132
-
133
- dom.q('input&jslint').on('click', function () {
134
- tree.value('');
135
-
136
- // Call JSLint and display the report.
137
-
138
- tree.value(String(lib.jslint(input.getValue(), option, output) / 1000) + ' seconds.');
139
- input.select();
140
- return false;
141
- });
142
-
143
- dom.q('input&tree').on('click', function () {
144
- output.value('Tree:');
145
- tree.value(JSON.stringify(lib.tree(), [
146
- 'label', 'id', 'string', 'number', 'arity', 'name', 'first',
147
- 'second', 'third', 'block', 'else', 'quote', 'type'
148
- ], 4));
149
- input.select();
150
- });
151
-
152
- dom.q('input&clear').on('click', function () {
153
- output.value('');
154
- tree.value('');
155
- input.value('').select();
156
- });
157
-
158
-
159
- dom.q('#JSLINT_CLEARALL').on('click', function () {
160
- option = {
161
- indent: 4,
162
- maxerr: 50
163
- };
164
- show_options();
165
- });
166
-
167
- table.on('click', update_box);
168
- indent.on('change', update_number);
169
- maxerr.on('change', update_number);
170
- maxlen.on('change', update_number);
171
- predefined.on('change', update_list);
172
- input
173
- .on('change', function () {
174
- output.value('');
175
- })
176
- .select();
177
- };
178
- });