jasnode 0.2.0.0 → 0.4.0.0
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/.gitignore +2 -1
- data/README.md +42 -0
- data/Rakefile +1 -3
- data/VERSION.yml +1 -1
- data/bin/jasnode +25 -2
- data/features/step_definitions/jasnode-steps.rb +3 -2
- data/jasnode.gemspec +2 -3
- data/lib/jasnode/core.rb +4 -5
- data/spec/spec_helper.rb +1 -0
- data/templates/Rakefile +12 -5
- data/templates/spec/README.md +69 -2
- metadata +12 -5
- data/pkg/jasnode-0.1.0.0.gem +0 -0
data/.gitignore
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
.DS_Store
|
1
|
+
.DS_Store
|
2
|
+
pkg/
|
data/README.md
CHANGED
@@ -4,6 +4,48 @@ Inspired by [node-jasmine](http://github.com/mhevery/jasmine-node), Angrybits Ja
|
|
4
4
|
|
5
5
|
## Getting Started
|
6
6
|
|
7
|
+
Grab the gem
|
8
|
+
|
9
|
+
$ [sudo] gem install jasnode
|
10
|
+
|
11
|
+
Create a project template
|
12
|
+
|
13
|
+
$ jasnode MyProject
|
14
|
+
|
15
|
+
This will create the following hierarchy
|
16
|
+
|
17
|
+
MyProject
|
18
|
+
|-- bin
|
19
|
+
| `-- hello_world <- replace with your main executable
|
20
|
+
|-- lib
|
21
|
+
| `-- server.js <- your libraries go here
|
22
|
+
|-- Rakefile
|
23
|
+
`-- spec
|
24
|
+
|-- README.md
|
25
|
+
|-- runner.js <- you'll need to add your libraries here
|
26
|
+
|-- server
|
27
|
+
| |-- server_spec.js <- test specs, replace with your own
|
28
|
+
| `-- spec_server.js
|
29
|
+
`-- spec.js
|
30
|
+
|
31
|
+
You can then run the jasmine tests using node
|
32
|
+
|
33
|
+
$ cd MyProject
|
34
|
+
$ jasnoda spec
|
35
|
+
|
36
|
+
You can also use common rake tasks
|
37
|
+
|
38
|
+
$ rake
|
39
|
+
$ rake test
|
40
|
+
$ rake cruise
|
41
|
+
$ rake examples
|
42
|
+
|
43
|
+
All of these map to
|
44
|
+
|
45
|
+
$ jasnoda spec
|
46
|
+
|
47
|
+
The exit value is the number of failures, so 0 in the success case, so this should play nicely with CI and other tools.
|
48
|
+
|
7
49
|
## License
|
8
50
|
|
9
51
|
Copyright (c) 2010 Cory Ondrejka
|
data/Rakefile
CHANGED
data/VERSION.yml
CHANGED
data/bin/jasnode
CHANGED
@@ -21,7 +21,7 @@ program :version, get_version
|
|
21
21
|
program :description, 'Easy Jasmine BDD with Node.js'
|
22
22
|
program :formatter, :compact
|
23
23
|
|
24
|
-
default_command :
|
24
|
+
default_command :help
|
25
25
|
|
26
26
|
command :spec do |c|
|
27
27
|
c.syntax = 'jasnode spec [options]'
|
@@ -35,7 +35,13 @@ command :spec do |c|
|
|
35
35
|
options.log = true
|
36
36
|
end
|
37
37
|
options.default :logfile => "logfile.txt"
|
38
|
-
|
38
|
+
results = Jasnode::Spec.spec(options.verbose, options.log ? options.logfile : nil)
|
39
|
+
puts results
|
40
|
+
if results =~ /(\d+) failure/
|
41
|
+
exit($1.to_i)
|
42
|
+
else
|
43
|
+
exit(-1)
|
44
|
+
end
|
39
45
|
end
|
40
46
|
end
|
41
47
|
|
@@ -47,6 +53,23 @@ command :init do |c|
|
|
47
53
|
projectname = args.shift or raise 'Project name required'
|
48
54
|
Jasnode::Init.template(projectname)
|
49
55
|
say "Project template initialized at `#{projectname}'"
|
56
|
+
say <<-eos
|
57
|
+
|
58
|
+
#{projectname}
|
59
|
+
|-- bin
|
60
|
+
| `-- hello_world <- replace with your main executable
|
61
|
+
|-- lib
|
62
|
+
| `-- server.js <- your libraries go here
|
63
|
+
|-- Rakefile
|
64
|
+
`-- spec
|
65
|
+
|-- README.md
|
66
|
+
|-- runner.js <- you'll need to add your libraries here
|
67
|
+
|-- server
|
68
|
+
| |-- server_spec.js <- test specs, replace with your own
|
69
|
+
| `-- spec_server.js
|
70
|
+
`-- spec.js
|
71
|
+
|
72
|
+
eos
|
50
73
|
end
|
51
74
|
end
|
52
75
|
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# Copyright (c) 2010 Cory Ondrejka. All rights reserved.
|
2
2
|
# See MIT.LICENSE for licensing details.
|
3
|
+
require 'fileutils.rb'
|
4
|
+
|
3
5
|
JASNODE_BIN = File.join(File.dirname(__FILE__), '..', '..', 'bin')
|
4
6
|
|
5
7
|
Given /^I am ready to work$/ do
|
@@ -7,11 +9,10 @@ end
|
|
7
9
|
|
8
10
|
When /^I give the jasnode command init "([^\"]*)"$/ do |projectname|
|
9
11
|
@name = projectname
|
10
|
-
%x[#{JASNODE_BIN}/jasnode init #{@name}].should == "Project template initialized at `#{@name}'\n"
|
12
|
+
%x[#{JASNODE_BIN}/jasnode --trace init #{@name}].should == "Project template initialized at `#{@name}'\n"
|
11
13
|
end
|
12
14
|
|
13
15
|
Then /^I should have a properly populated "([^\"]*)" directory$/ do |arg1|
|
14
|
-
require "ftools"
|
15
16
|
File.exist?("#{@name}").should == true
|
16
17
|
File.exist?("#{@name}/lib").should == true
|
17
18
|
File.exist?("#{@name}/spec").should == true
|
data/jasnode.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{jasnode}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Cory Ondrejka"]
|
@@ -134,7 +134,6 @@ Gem::Specification.new do |s|
|
|
134
134
|
"lib/jasnode.js",
|
135
135
|
"lib/jasnode.rb",
|
136
136
|
"lib/jasnode/core.rb",
|
137
|
-
"pkg/jasnode-0.1.0.0.gem",
|
138
137
|
"spec/jasnode/jasnode_spec.rb",
|
139
138
|
"spec/rspec_suite.rb",
|
140
139
|
"spec/spec_helper.rb",
|
@@ -150,7 +149,7 @@ Gem::Specification.new do |s|
|
|
150
149
|
s.homepage = %q{http://angrybits.github.com/jasnode}
|
151
150
|
s.rdoc_options = ["--charset=UTF-8"]
|
152
151
|
s.require_paths = ["lib"]
|
153
|
-
s.rubygems_version = %q{1.3.
|
152
|
+
s.rubygems_version = %q{1.3.6}
|
154
153
|
s.summary = %q{Jasmine Ruby Runner}
|
155
154
|
s.test_files = [
|
156
155
|
"spec/jasnode/jasnode_spec.rb",
|
data/lib/jasnode/core.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# Copyright (c) 2010 Cory Ondrejka. All rights reserved.
|
2
2
|
# See MIT.LICENSE for licensing details.
|
3
|
+
require 'fileutils.rb'
|
3
4
|
|
4
5
|
module Jasnode
|
5
6
|
class Spec
|
@@ -156,13 +157,13 @@ for ( var key in jasmine) {
|
|
156
157
|
end
|
157
158
|
|
158
159
|
def self.spec(verbose, logfile)
|
159
|
-
File.open(File.join("lib", "jasnode.js"), "w") {|f| f.write(Jasnode::Spec.build_jasmine_test_file(Jasnode::Spec.find_jasmine, Jasnode::Spec.find_specs(Dir.pwd), true)) }
|
160
|
+
File.open(File.expand_path(File.join("lib", "jasnode.js")), "w") {|f| f.write(Jasnode::Spec.build_jasmine_test_file(Jasnode::Spec.find_jasmine, Jasnode::Spec.find_specs(Dir.pwd), true)) }
|
160
161
|
Dir.chdir("spec")
|
161
162
|
output = ""
|
162
163
|
if logfile
|
163
164
|
output = %x[node runner.js > #{logfile}]
|
164
165
|
else
|
165
|
-
|
166
|
+
output = %x[node runner.js]
|
166
167
|
end
|
167
168
|
Dir.chdir("..")
|
168
169
|
output
|
@@ -171,9 +172,7 @@ for ( var key in jasmine) {
|
|
171
172
|
|
172
173
|
class Init
|
173
174
|
def self.template(projectname)
|
174
|
-
|
175
|
-
template_base = File.join(File.dirname(__FILE__), '..', '..', 'templates')
|
176
|
-
File.makedirs("#{projectname}")
|
175
|
+
template_base = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'templates'))
|
177
176
|
FileUtils.cp_r("#{template_base}/.", "#{projectname}")
|
178
177
|
end
|
179
178
|
end
|
data/spec/spec_helper.rb
CHANGED
data/templates/Rakefile
CHANGED
@@ -1,9 +1,16 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
|
+
|
4
|
+
task :default => [:examples]
|
3
5
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
task :examples do
|
7
|
+
sh 'jasnode spec'
|
8
|
+
end
|
9
|
+
|
10
|
+
task :test do
|
11
|
+
sh 'jasnode spec'
|
12
|
+
end
|
13
|
+
|
14
|
+
task :cruise do
|
15
|
+
sh 'jasnode spec'
|
9
16
|
end
|
data/templates/spec/README.md
CHANGED
@@ -1,3 +1,70 @@
|
|
1
|
-
#
|
1
|
+
# Jasnode
|
2
2
|
|
3
|
-
|
3
|
+
Inspired by [node-jasmine](http://github.com/mhevery/jasmine-node), Angrybits Jasmine is a simple way to use Pivotal's [jasmine](http://github.com/pivotal/jasmine) with [Node.js](http://github.com/ry/node).
|
4
|
+
|
5
|
+
## Getting Started
|
6
|
+
|
7
|
+
Grab the gem
|
8
|
+
|
9
|
+
$ [sudo] gem install jasnode
|
10
|
+
|
11
|
+
Create a project template
|
12
|
+
|
13
|
+
$ jasnode MyProject
|
14
|
+
|
15
|
+
This will create the following hierarchy
|
16
|
+
|
17
|
+
MyProject
|
18
|
+
|-- bin
|
19
|
+
| `-- hello_world <- replace with your main executable
|
20
|
+
|-- lib
|
21
|
+
| `-- server.js <- your libraries go here
|
22
|
+
|-- Rakefile
|
23
|
+
`-- spec
|
24
|
+
|-- README.md <- this file
|
25
|
+
|-- runner.js <- you'll need to add your libraries here
|
26
|
+
|-- server
|
27
|
+
| |-- server_spec.js <- test specs, replace with your own
|
28
|
+
| `-- spec_server.js
|
29
|
+
`-- spec.js
|
30
|
+
|
31
|
+
You can then run the jasmine tests using node
|
32
|
+
|
33
|
+
$ cd MyProject
|
34
|
+
$ jasnoda spec
|
35
|
+
|
36
|
+
You can also use common rake tasks
|
37
|
+
|
38
|
+
$ rake
|
39
|
+
$ rake test
|
40
|
+
$ rake cruise
|
41
|
+
$ rake examples
|
42
|
+
|
43
|
+
All of these map to
|
44
|
+
|
45
|
+
$ jasnoda spec
|
46
|
+
|
47
|
+
The exit value is the number of failures, so 0 in the success case, so this should play nicely with CI and other tools.
|
48
|
+
|
49
|
+
## License
|
50
|
+
|
51
|
+
Copyright (c) 2010 Cory Ondrejka
|
52
|
+
|
53
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
54
|
+
a copy of this software and associated documentation files (the
|
55
|
+
"Software"), to deal in the Software without restriction, including
|
56
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
57
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
58
|
+
permit persons to whom the Software is furnished to do so, subject to
|
59
|
+
the following conditions:
|
60
|
+
|
61
|
+
The above copyright notice and this permission notice shall be
|
62
|
+
included in all copies or substantial portions of the Software.
|
63
|
+
|
64
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
65
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
66
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
67
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
68
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
69
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
70
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jasnode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 4
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 0.4.0.0
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Cory Ondrejka
|
@@ -138,7 +144,6 @@ files:
|
|
138
144
|
- lib/jasnode.js
|
139
145
|
- lib/jasnode.rb
|
140
146
|
- lib/jasnode/core.rb
|
141
|
-
- pkg/jasnode-0.1.0.0.gem
|
142
147
|
- spec/jasnode/jasnode_spec.rb
|
143
148
|
- spec/rspec_suite.rb
|
144
149
|
- spec/spec_helper.rb
|
@@ -163,18 +168,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
163
168
|
requirements:
|
164
169
|
- - ">="
|
165
170
|
- !ruby/object:Gem::Version
|
171
|
+
segments:
|
172
|
+
- 0
|
166
173
|
version: "0"
|
167
|
-
version:
|
168
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
175
|
requirements:
|
170
176
|
- - ">="
|
171
177
|
- !ruby/object:Gem::Version
|
178
|
+
segments:
|
179
|
+
- 0
|
172
180
|
version: "0"
|
173
|
-
version:
|
174
181
|
requirements: []
|
175
182
|
|
176
183
|
rubyforge_project:
|
177
|
-
rubygems_version: 1.3.
|
184
|
+
rubygems_version: 1.3.6
|
178
185
|
signing_key:
|
179
186
|
specification_version: 3
|
180
187
|
summary: Jasmine Ruby Runner
|
data/pkg/jasnode-0.1.0.0.gem
DELETED
Binary file
|