jasmine-rails 0.9.0 → 0.9.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.
@@ -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: []