jasmine-rails 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 04c5286d68468e3af180888684f02448f3fe52a3
4
+ data.tar.gz: f4bf90cf1d05548e50a2b493a4a478939398a7a9
5
+ SHA512:
6
+ metadata.gz: de941110cc8d0db01c8c2920223f8bdf17f88ef2de4e4478d142f495d8c5899cfaac3e0870abe7a6f93576d4bddc8f61e134ba63fd157748b0cc85479fc061bd
7
+ data.tar.gz: 1496482fefa855753b89005ccaaf5b759cf03bc544c86bcbb91bab8202b16884c299a9c9e15daeaa7f259ab8930071a9fdec1787dd1170b586cbcc8c96713bc7
data/README.md CHANGED
@@ -11,14 +11,6 @@ By bundling this gem and configuring your project, you can expect to:
11
11
  [PhantomJS](http://phantomjs.org/))
12
12
  * Write specs or source in [CoffeeScript](http://jashkenas.github.com/coffee-script/), leveraging the [asset pipeline](http://railscasts.com/episodes/279-understanding-the-asset-pipeline) to pre-process it
13
13
 
14
- ## Prerequisites
15
-
16
- Install phantomjs in order to run tests headless on the command line. The easiest way (on a Mac) that I've found is to use [homebrew](https://github.com/mxcl/homebrew):
17
-
18
- brew install phantomjs
19
-
20
- If you're not on a Mac, fear not, as [installing PhantomJS](http://phantomjs.org) is pretty painless for most environments. The important thing is that the binary be somewhere on your PATH.
21
-
22
14
  ## Installation
23
15
 
24
16
  First, add jasmine-rails to your Gemfile, like so
@@ -129,43 +121,42 @@ Again, it's the opinion of the present author that this shouldn't be necessary i
129
121
 
130
122
  ### Custom Helpers
131
123
 
132
- If you need to write a custom spec runner template (for example, using requireJS to load components from your specs), you might benefit from
124
+ If you need to write a custom spec runner template (for example, using requireJS to load components from your specs), you might benefit from
133
125
  custom helper functions. The controller will attempt to load `JasmineRails::SpecHelper` if it exists. An example:
134
126
 
135
127
  ```ruby
136
128
  # in lib/jasmine_rails/spec_helper.rb
137
- Module JasmineRails
138
- Module SpecHelper
139
- def custom_fuction
140
- "hello world"
141
- end
142
- end
129
+ module JasmineRails
130
+ module SpecHelper
131
+ def custom_function
132
+ "hello world"
133
+ end
134
+ end
143
135
  end
144
136
  ```
145
137
 
146
- Create a custom layout in app/layouts/jasmine_rails/spec_runner.html.erb and reference your helper:
138
+ Create a custom layout in app/views/layouts/jasmine_rails/spec_runner.html.erb and reference your helper:
147
139
 
148
140
  ```erb
149
141
  <%= custom_function %>
150
142
  ```
151
143
 
152
- If you wanted to do something like this using [requirejs-rails](https://github.com/jwhitley/requirejs-rails), your helper
144
+ If you wanted to do something like this using [requirejs-rails](https://github.com/jwhitley/requirejs-rails), your helper
153
145
  might look like this:
154
146
 
155
- ```
156
-
157
- # in lib/jasmine_rails_spec_helper.rb
158
- Module JasmineRails
159
- Module SpecHelper
160
- # Gives us access to the require_js_include_tag helper
161
- include RequirejsHelper
162
- end
147
+ ```ruby
148
+ # in lib/jasmine_rails/spec_helper.rb
149
+ module JasmineRails
150
+ module SpecHelper
151
+ # Gives us access to the require_js_include_tag helper
152
+ include RequirejsHelper
153
+ end
163
154
  end
164
155
  ```
165
156
 
166
157
  Remove any reference to `src_files` in `spec/javascripts/support/jasmine.yml`, to ensure files aren't loaded prematurely.
167
158
 
168
- Create your custom layout `app/layouts/jasmine_rails/spec_runner.html.erb` like so:
159
+ Create your custom layout `app/views/layouts/jasmine_rails/spec_runner.html.erb` like so:
169
160
  ```erb
170
161
 
171
162
  <!DOCTYPE html>
@@ -191,9 +182,9 @@ Use require with a callback to load your components:
191
182
  ```coffeescript
192
183
 
193
184
  describe 'test my module', ->
194
- require ['my/module'], (Module) ->
195
- it 'does something', ->
196
- expect(Module.method).toEqual 'something'
185
+ require ['my/module'], (Module) ->
186
+ it 'does something', ->
187
+ expect(Module.method).toEqual 'something'
197
188
  ```
198
189
 
199
190
  ### Custom Reporter
@@ -1,31 +1,38 @@
1
+ // using react's Function.prototype.bind polyfill for phantomjs
2
+ // https://github.com/facebook/react/blob/master/src/test/phantomjs-shims.js
3
+
1
4
  (function() {
2
- /**
3
- * Function.bind for ECMAScript 5 Support
4
- *
5
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
6
- */
7
5
 
8
- if (!Function.prototype.bind) {
9
- Function.prototype.bind = function (oThis) {
10
- if (typeof this !== "function") {
11
- // closest thing possible to the ECMAScript 5 internal IsCallable function
12
- throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
13
- }
6
+ var Ap = Array.prototype;
7
+ var slice = Ap.slice;
8
+ var Fp = Function.prototype;
9
+
10
+ if (!Fp.bind) {
11
+ // PhantomJS doesn't support Function.prototype.bind natively, so
12
+ // polyfill it whenever this module is required.
13
+ Fp.bind = function(context) {
14
+ var func = this;
15
+ var args = slice.call(arguments, 1);
16
+
17
+ function bound() {
18
+ var invokedAsConstructor = func.prototype && (this instanceof func);
19
+ return func.apply(
20
+ // Ignore the context parameter when invoking the bound function
21
+ // as a constructor. Note that this includes not only constructor
22
+ // invocations using the new keyword but also calls to base class
23
+ // constructors such as BaseClass.call(this, ...) or super(...).
24
+ !invokedAsConstructor && context || this,
25
+ args.concat(slice.call(arguments))
26
+ );
27
+ }
14
28
 
15
- var aArgs = Array.prototype.slice.call(arguments, 1),
16
- fToBind = this,
17
- fNOP = function () {},
18
- fBound = function () {
19
- return fToBind.apply(this instanceof fNOP && oThis
20
- ? this
21
- : oThis,
22
- aArgs.concat(Array.prototype.slice.call(arguments)));
23
- };
29
+ // The bound function must share the .prototype of the unbound
30
+ // function so that any object created by one constructor will count
31
+ // as an instance of both constructors.
32
+ bound.prototype = func.prototype;
24
33
 
25
- fNOP.prototype = this.prototype;
26
- fBound.prototype = new fNOP();
34
+ return bound;
35
+ };
36
+ }
27
37
 
28
- return fBound;
29
- };
30
- }
31
- })();
38
+ })();
@@ -1,3 +1,3 @@
1
1
  module JasmineRails
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jasmine-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
5
- prerelease:
4
+ version: 0.9.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Justin Searls
@@ -11,46 +10,41 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2014-05-12 00:00:00.000000000 Z
13
+ date: 2014-07-02 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: railties
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
- - - ! '>='
19
+ - - '>='
22
20
  - !ruby/object:Gem::Version
23
21
  version: 3.1.0
24
22
  type: :runtime
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
25
  requirements:
29
- - - ! '>='
26
+ - - '>='
30
27
  - !ruby/object:Gem::Version
31
28
  version: 3.1.0
32
29
  - !ruby/object:Gem::Dependency
33
30
  name: sprockets-rails
34
31
  requirement: !ruby/object:Gem::Requirement
35
- none: false
36
32
  requirements:
37
- - - ! '>='
33
+ - - '>='
38
34
  - !ruby/object:Gem::Version
39
35
  version: '0'
40
36
  type: :runtime
41
37
  prerelease: false
42
38
  version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
39
  requirements:
45
- - - ! '>='
40
+ - - '>='
46
41
  - !ruby/object:Gem::Version
47
42
  version: '0'
48
43
  - !ruby/object:Gem::Dependency
49
44
  name: jasmine-core
50
45
  requirement: !ruby/object:Gem::Requirement
51
- none: false
52
46
  requirements:
53
- - - ! '>='
47
+ - - '>='
54
48
  - !ruby/object:Gem::Version
55
49
  version: '1.3'
56
50
  - - <
@@ -59,9 +53,8 @@ dependencies:
59
53
  type: :runtime
60
54
  prerelease: false
61
55
  version_requirements: !ruby/object:Gem::Requirement
62
- none: false
63
56
  requirements:
64
- - - ! '>='
57
+ - - '>='
65
58
  - !ruby/object:Gem::Version
66
59
  version: '1.3'
67
60
  - - <
@@ -70,33 +63,29 @@ dependencies:
70
63
  - !ruby/object:Gem::Dependency
71
64
  name: phantomjs
72
65
  requirement: !ruby/object:Gem::Requirement
73
- none: false
74
66
  requirements:
75
- - - ! '>='
67
+ - - '>='
76
68
  - !ruby/object:Gem::Version
77
69
  version: '0'
78
70
  type: :runtime
79
71
  prerelease: false
80
72
  version_requirements: !ruby/object:Gem::Requirement
81
- none: false
82
73
  requirements:
83
- - - ! '>='
74
+ - - '>='
84
75
  - !ruby/object:Gem::Version
85
76
  version: '0'
86
77
  - !ruby/object:Gem::Dependency
87
78
  name: testbeds
88
79
  requirement: !ruby/object:Gem::Requirement
89
- none: false
90
80
  requirements:
91
- - - ! '>='
81
+ - - '>='
92
82
  - !ruby/object:Gem::Version
93
83
  version: '0'
94
84
  type: :development
95
85
  prerelease: false
96
86
  version_requirements: !ruby/object:Gem::Requirement
97
- none: false
98
87
  requirements:
99
- - - ! '>='
88
+ - - '>='
100
89
  - !ruby/object:Gem::Version
101
90
  version: '0'
102
91
  description: Provides a Jasmine Spec Runner that plays nicely with Rails 3.1 assets
@@ -109,6 +98,9 @@ executables: []
109
98
  extensions: []
110
99
  extra_rdoc_files: []
111
100
  files:
101
+ - MIT-LICENSE
102
+ - README.md
103
+ - Rakefile
112
104
  - app/controllers/jasmine_rails/application_controller.rb
113
105
  - app/controllers/jasmine_rails/spec_runner_controller.rb
114
106
  - app/helpers/jasmine_rails/spec_runner_helper.rb
@@ -132,37 +124,27 @@ files:
132
124
  - lib/jasmine_rails/save_fixture.rb
133
125
  - lib/jasmine_rails/version.rb
134
126
  - lib/tasks/jasmine-rails_tasks.rake
135
- - MIT-LICENSE
136
- - Rakefile
137
- - README.md
138
127
  homepage: http://github.com/searls/jasmine-rails
139
128
  licenses: []
129
+ metadata: {}
140
130
  post_install_message:
141
131
  rdoc_options: []
142
132
  require_paths:
143
133
  - lib
144
134
  required_ruby_version: !ruby/object:Gem::Requirement
145
- none: false
146
135
  requirements:
147
- - - ! '>='
136
+ - - '>='
148
137
  - !ruby/object:Gem::Version
149
138
  version: '0'
150
- segments:
151
- - 0
152
- hash: -2099432972387832543
153
139
  required_rubygems_version: !ruby/object:Gem::Requirement
154
- none: false
155
140
  requirements:
156
- - - ! '>='
141
+ - - '>='
157
142
  - !ruby/object:Gem::Version
158
143
  version: '0'
159
- segments:
160
- - 0
161
- hash: -2099432972387832543
162
144
  requirements: []
163
145
  rubyforge_project:
164
- rubygems_version: 1.8.23
146
+ rubygems_version: 2.3.0
165
147
  signing_key:
166
- specification_version: 3
148
+ specification_version: 4
167
149
  summary: Makes Jasmine easier on Rails 3.1
168
150
  test_files: []