backbone-jasmine 0.0.1
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 +4 -0
- data/LICENSE +22 -0
- data/README.md +29 -0
- data/Rakefile +2 -0
- data/lib/backbone-jasmine.rb +4 -0
- data/lib/backbone-jasmine/version.rb +3 -0
- data/lib/generators/backbone_jasmine.rb +28 -0
- data/lib/generators/backbone_jasmine/collection/USAGE +8 -0
- data/lib/generators/backbone_jasmine/collection/collection_generator.rb +24 -0
- data/lib/generators/backbone_jasmine/collection/templates/collection_without_model.js +37 -0
- data/lib/generators/backbone_jasmine/install/install_generator.rb +35 -0
- data/lib/generators/backbone_jasmine/install/templates/jasmine-html.js +190 -0
- data/lib/generators/backbone_jasmine/install/templates/jasmine-jquery-1.3.1.js +288 -0
- data/lib/generators/backbone_jasmine/install/templates/jasmine-sinon.js +41 -0
- data/lib/generators/backbone_jasmine/install/templates/jasmine.yml +76 -0
- data/lib/generators/backbone_jasmine/install/templates/jasmine_config.rb +23 -0
- data/lib/generators/backbone_jasmine/install/templates/jasmine_runner.rb +32 -0
- data/lib/generators/backbone_jasmine/install/templates/sinon-1.1.1.js +2821 -0
- data/lib/generators/backbone_jasmine/model/USAGE +8 -0
- data/lib/generators/backbone_jasmine/model/model_generator.rb +18 -0
- data/lib/generators/backbone_jasmine/model/templates/model.js +38 -0
- data/lib/generators/backbone_jasmine/model/templates/model_no_collection.js +38 -0
- data/lib/generators/backbone_jasmine/model/templates/model_with_collection.js +33 -0
- metadata +101 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'generators/backbone_jasmine'
|
2
|
+
|
3
|
+
module BackboneJasmine
|
4
|
+
module Generators
|
5
|
+
class ModelGenerator < Base
|
6
|
+
|
7
|
+
argument :model_name, :type => :string, :banner => 'model_name'
|
8
|
+
|
9
|
+
def generate_model_test
|
10
|
+
|
11
|
+
template "model_no_collection.js", "spec/javascripts/models/#{model_name}_spec.js"
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
describe('<%= model_name %> model', function() {
|
2
|
+
|
3
|
+
beforeEach(function() {
|
4
|
+
|
5
|
+
this.<%=model_name%> = new <%=model_name.capitalize%>({
|
6
|
+
my_attribute: "my_value"
|
7
|
+
});
|
8
|
+
|
9
|
+
});
|
10
|
+
|
11
|
+
describe('when instantiated with an attribute', function() {
|
12
|
+
it('should see an attribute', function() {
|
13
|
+
expect(this.<%=model_name%>.get('my_attribute')).toEqual("my_value");
|
14
|
+
});
|
15
|
+
|
16
|
+
});
|
17
|
+
|
18
|
+
describe("url", function() {
|
19
|
+
beforeEach(function() {
|
20
|
+
var collection = {
|
21
|
+
url: "/collection"
|
22
|
+
};
|
23
|
+
this.<%=model_name%>.collection = collection;
|
24
|
+
});
|
25
|
+
describe("when no id is set", function() {
|
26
|
+
it("should return the collection URL", function() {
|
27
|
+
expect(this.<%=model_name%>.url()).toEqual("/collection");
|
28
|
+
});
|
29
|
+
});
|
30
|
+
|
31
|
+
describe("when id is set", function() {
|
32
|
+
it("should return the collection URL and id", function() {
|
33
|
+
this.<%=model_name%>.id = 1;
|
34
|
+
expect(this.<%=model_name%>.url()).toEqual("/collection/1");
|
35
|
+
});
|
36
|
+
});
|
37
|
+
});
|
38
|
+
});
|
@@ -0,0 +1,38 @@
|
|
1
|
+
describe('<%= model_name %> model', function() {
|
2
|
+
|
3
|
+
beforeEach(function() {
|
4
|
+
|
5
|
+
this.<%=model_name%> = new <%=model_name.capitalize%>({
|
6
|
+
my_attribute: "my_value"
|
7
|
+
});
|
8
|
+
|
9
|
+
});
|
10
|
+
|
11
|
+
describe('when instantiated with an attribute', function() {
|
12
|
+
it('should see an attribute', function() {
|
13
|
+
expect(this.<%=model_name%>.get('my_attribute')).toEqual("my_value");
|
14
|
+
});
|
15
|
+
|
16
|
+
});
|
17
|
+
|
18
|
+
describe("url", function() {
|
19
|
+
beforeEach(function() {
|
20
|
+
var collection = {
|
21
|
+
url: "/collection"
|
22
|
+
};
|
23
|
+
this.<%=model_name%>.collection = collection;
|
24
|
+
});
|
25
|
+
describe("when no id is set", function() {
|
26
|
+
it("should return the collection URL", function() {
|
27
|
+
expect(this.<%=model_name%>.url()).toEqual("/collection");
|
28
|
+
});
|
29
|
+
});
|
30
|
+
|
31
|
+
describe("when id is set", function() {
|
32
|
+
it("should return the collection URL and id", function() {
|
33
|
+
this.<%=model_name%>.id = 1;
|
34
|
+
expect(this.<%=model_name%>.url()).toEqual("/collection/1");
|
35
|
+
});
|
36
|
+
});
|
37
|
+
});
|
38
|
+
});
|
@@ -0,0 +1,33 @@
|
|
1
|
+
describe('<%= model_name %> model', function() {
|
2
|
+
|
3
|
+
beforeEach(function() {
|
4
|
+
|
5
|
+
this.<%=model_name%> = new <%=model_name.capitalize%>({
|
6
|
+
my_attribute: "my_value"
|
7
|
+
});
|
8
|
+
|
9
|
+
});
|
10
|
+
|
11
|
+
describe('when instantiated with an attribute', function() {
|
12
|
+
it('should see an attribute', function() {
|
13
|
+
expect(this.<%=model_name%>.get('my_attribute')).toEqual("my_value");
|
14
|
+
});
|
15
|
+
|
16
|
+
});
|
17
|
+
|
18
|
+
describe("url", function() {
|
19
|
+
|
20
|
+
describe("when no id is set", function() {
|
21
|
+
it("should return the collection URL", function() {
|
22
|
+
expect(this.<%=model_name%>.url()).toEqual("/<%=model_name%>");
|
23
|
+
});
|
24
|
+
});
|
25
|
+
|
26
|
+
describe("when id is set", function() {
|
27
|
+
it("should return the collection URL and id", function() {
|
28
|
+
this.<%=model_name%>.id = 1;
|
29
|
+
expect(this.<%=model_name%>.url()).toEqual("/<%=model_name.pluralize%>/1");
|
30
|
+
});
|
31
|
+
});
|
32
|
+
});
|
33
|
+
});
|
metadata
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: backbone-jasmine
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Wavell Watson
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-05-07 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: jquery-rails
|
16
|
+
requirement: &2151817460 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2151817460
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: backbone-on-rails
|
27
|
+
requirement: &2151816180 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2151816180
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: jasmine
|
38
|
+
requirement: &2151814960 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2151814960
|
47
|
+
description: Generates tests for backbone.js within rails
|
48
|
+
email:
|
49
|
+
- wavell.watson@gmail.com
|
50
|
+
executables: []
|
51
|
+
extensions: []
|
52
|
+
extra_rdoc_files: []
|
53
|
+
files:
|
54
|
+
- lib/backbone-jasmine/version.rb
|
55
|
+
- lib/backbone-jasmine.rb
|
56
|
+
- lib/generators/backbone_jasmine/collection/collection_generator.rb
|
57
|
+
- lib/generators/backbone_jasmine/collection/templates/collection_without_model.js
|
58
|
+
- lib/generators/backbone_jasmine/collection/USAGE
|
59
|
+
- lib/generators/backbone_jasmine/install/install_generator.rb
|
60
|
+
- lib/generators/backbone_jasmine/install/templates/jasmine-html.js
|
61
|
+
- lib/generators/backbone_jasmine/install/templates/jasmine-jquery-1.3.1.js
|
62
|
+
- lib/generators/backbone_jasmine/install/templates/jasmine-sinon.js
|
63
|
+
- lib/generators/backbone_jasmine/install/templates/jasmine.yml
|
64
|
+
- lib/generators/backbone_jasmine/install/templates/jasmine_config.rb
|
65
|
+
- lib/generators/backbone_jasmine/install/templates/jasmine_runner.rb
|
66
|
+
- lib/generators/backbone_jasmine/install/templates/sinon-1.1.1.js
|
67
|
+
- lib/generators/backbone_jasmine/model/model_generator.rb
|
68
|
+
- lib/generators/backbone_jasmine/model/templates/model.js
|
69
|
+
- lib/generators/backbone_jasmine/model/templates/model_no_collection.js
|
70
|
+
- lib/generators/backbone_jasmine/model/templates/model_with_collection.js
|
71
|
+
- lib/generators/backbone_jasmine/model/USAGE
|
72
|
+
- lib/generators/backbone_jasmine.rb
|
73
|
+
- Gemfile
|
74
|
+
- LICENSE
|
75
|
+
- Rakefile
|
76
|
+
- README.md
|
77
|
+
homepage: https://github.com/wavell/backbone-jasmine
|
78
|
+
licenses: []
|
79
|
+
post_install_message:
|
80
|
+
rdoc_options: []
|
81
|
+
require_paths:
|
82
|
+
- lib
|
83
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
requirements: []
|
96
|
+
rubyforge_project:
|
97
|
+
rubygems_version: 1.8.17
|
98
|
+
signing_key:
|
99
|
+
specification_version: 3
|
100
|
+
summary: Generates tests using Jasmine and Sinon
|
101
|
+
test_files: []
|