bootcamp 0.1.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.
Files changed (126) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +14 -0
  5. data/Gemfile.lock +36 -0
  6. data/LICENSE.txt +20 -0
  7. data/NOTES +3 -0
  8. data/README.rdoc +49 -0
  9. data/Rakefile +42 -0
  10. data/VERSION +1 -0
  11. data/bin/bootcamp +8 -0
  12. data/bootcamp.gemspec +190 -0
  13. data/lib/bootcamp.rb +22 -0
  14. data/lib/bootcamp/armory.rb +20 -0
  15. data/lib/bootcamp/drill_instructor.rb +95 -0
  16. data/lib/bootcamp/formations/core.rb +13 -0
  17. data/lib/bootcamp/formations/html.rb +17 -0
  18. data/lib/bootcamp/formations/jquery.rb +13 -0
  19. data/lib/bootcamp/recruit.rb +28 -0
  20. data/spec/bootcamp_spec.rb +12 -0
  21. data/spec/spec_helper.rb +12 -0
  22. data/vendor/core.js +1 -0
  23. data/vendor/dojo.js +14 -0
  24. data/vendor/jquery.js +18 -0
  25. data/vendor/midori.js +1502 -0
  26. data/vendor/mootools.js +486 -0
  27. data/vendor/prototype.js +6082 -0
  28. data/vendor/test_suites/jasmine/SpecRunner.html +27 -0
  29. data/vendor/test_suites/jasmine/lib/jasmine-1.0.2/MIT.LICENSE +20 -0
  30. data/vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine-html.js +188 -0
  31. data/vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine.css +166 -0
  32. data/vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine.js +2421 -0
  33. data/vendor/test_suites/jasmine/spec/PlayerSpec.js +58 -0
  34. data/vendor/test_suites/jasmine/spec/SpecHelper.js +9 -0
  35. data/vendor/test_suites/jasmine/src/Player.js +22 -0
  36. data/vendor/test_suites/jasmine/src/Song.js +7 -0
  37. data/vendor/test_suites/jspec/History.md +790 -0
  38. data/vendor/test_suites/jspec/Manifest +79 -0
  39. data/vendor/test_suites/jspec/README.md +1030 -0
  40. data/vendor/test_suites/jspec/Rakefile +28 -0
  41. data/vendor/test_suites/jspec/bin/jspec +182 -0
  42. data/vendor/test_suites/jspec/jspec.gemspec +44 -0
  43. data/vendor/test_suites/jspec/lib/images/bg.png +0 -0
  44. data/vendor/test_suites/jspec/lib/images/hr.png +0 -0
  45. data/vendor/test_suites/jspec/lib/images/loading.gif +0 -0
  46. data/vendor/test_suites/jspec/lib/images/sprites.bg.png +0 -0
  47. data/vendor/test_suites/jspec/lib/images/sprites.png +0 -0
  48. data/vendor/test_suites/jspec/lib/images/vr.png +0 -0
  49. data/vendor/test_suites/jspec/lib/jspec.css +149 -0
  50. data/vendor/test_suites/jspec/lib/jspec.growl.js +115 -0
  51. data/vendor/test_suites/jspec/lib/jspec.jquery.js +72 -0
  52. data/vendor/test_suites/jspec/lib/jspec.js +1876 -0
  53. data/vendor/test_suites/jspec/lib/jspec.shell.js +39 -0
  54. data/vendor/test_suites/jspec/lib/jspec.timers.js +90 -0
  55. data/vendor/test_suites/jspec/lib/jspec.xhr.js +195 -0
  56. data/vendor/test_suites/jspec/spec/commands/example_command.rb +19 -0
  57. data/vendor/test_suites/jspec/spec/dom.html +33 -0
  58. data/vendor/test_suites/jspec/spec/fixtures/test.html +1 -0
  59. data/vendor/test_suites/jspec/spec/fixtures/test.json +1 -0
  60. data/vendor/test_suites/jspec/spec/fixtures/test.xml +5 -0
  61. data/vendor/test_suites/jspec/spec/node.js +17 -0
  62. data/vendor/test_suites/jspec/spec/rhino.js +23 -0
  63. data/vendor/test_suites/jspec/spec/ruby/bin/init_spec.rb +101 -0
  64. data/vendor/test_suites/jspec/spec/ruby/bin/install_spec.rb +141 -0
  65. data/vendor/test_suites/jspec/spec/ruby/bin/run_spec.rb +0 -0
  66. data/vendor/test_suites/jspec/spec/ruby/bin/shell_spec.rb +13 -0
  67. data/vendor/test_suites/jspec/spec/ruby/bin/spec_helper.rb +8 -0
  68. data/vendor/test_suites/jspec/spec/ruby/bin/update_spec.rb +72 -0
  69. data/vendor/test_suites/jspec/spec/server.html +29 -0
  70. data/vendor/test_suites/jspec/spec/server.rb +2 -0
  71. data/vendor/test_suites/jspec/spec/support/env.js +10118 -0
  72. data/vendor/test_suites/jspec/spec/support/jquery.js +4376 -0
  73. data/vendor/test_suites/jspec/spec/unit/helpers.js +64 -0
  74. data/vendor/test_suites/jspec/spec/unit/spec.fixtures.js +24 -0
  75. data/vendor/test_suites/jspec/spec/unit/spec.grammar-less.js +34 -0
  76. data/vendor/test_suites/jspec/spec/unit/spec.grammar.js +275 -0
  77. data/vendor/test_suites/jspec/spec/unit/spec.jquery.js +178 -0
  78. data/vendor/test_suites/jspec/spec/unit/spec.jquery.xhr.js +84 -0
  79. data/vendor/test_suites/jspec/spec/unit/spec.js +187 -0
  80. data/vendor/test_suites/jspec/spec/unit/spec.matchers.js +577 -0
  81. data/vendor/test_suites/jspec/spec/unit/spec.modules.js +51 -0
  82. data/vendor/test_suites/jspec/spec/unit/spec.shared-behaviors.js +279 -0
  83. data/vendor/test_suites/jspec/spec/unit/spec.utils.js +346 -0
  84. data/vendor/test_suites/jspec/spec/unit/spec.xhr.js +157 -0
  85. data/vendor/test_suites/jspec/src/browsers.rb +279 -0
  86. data/vendor/test_suites/jspec/src/helpers.rb +67 -0
  87. data/vendor/test_suites/jspec/src/installables.rb +229 -0
  88. data/vendor/test_suites/jspec/src/project.rb +341 -0
  89. data/vendor/test_suites/jspec/src/routes.rb +57 -0
  90. data/vendor/test_suites/jspec/src/server.rb +88 -0
  91. data/vendor/test_suites/jspec/support/js.jar +0 -0
  92. data/vendor/test_suites/jspec/templates/default/History.md +5 -0
  93. data/vendor/test_suites/jspec/templates/default/Readme.md +29 -0
  94. data/vendor/test_suites/jspec/templates/default/lib/yourlib.js +2 -0
  95. data/vendor/test_suites/jspec/templates/default/spec/commands/example_command.rb +19 -0
  96. data/vendor/test_suites/jspec/templates/default/spec/dom.html +22 -0
  97. data/vendor/test_suites/jspec/templates/default/spec/node.js +10 -0
  98. data/vendor/test_suites/jspec/templates/default/spec/rhino.js +10 -0
  99. data/vendor/test_suites/jspec/templates/default/spec/server.html +18 -0
  100. data/vendor/test_suites/jspec/templates/default/spec/server.rb +4 -0
  101. data/vendor/test_suites/jspec/templates/default/spec/unit/spec.helper.js +0 -0
  102. data/vendor/test_suites/jspec/templates/default/spec/unit/spec.js +8 -0
  103. data/vendor/test_suites/jspec/templates/node/History.md +5 -0
  104. data/vendor/test_suites/jspec/templates/node/Readme.md +29 -0
  105. data/vendor/test_suites/jspec/templates/node/lib/yourlib.js +2 -0
  106. data/vendor/test_suites/jspec/templates/node/spec/node.js +10 -0
  107. data/vendor/test_suites/jspec/templates/node/spec/unit/spec.helper.js +0 -0
  108. data/vendor/test_suites/jspec/templates/node/spec/unit/spec.js +8 -0
  109. data/vendor/test_suites/jspec/templates/rails/commands/example_commands.rb +19 -0
  110. data/vendor/test_suites/jspec/templates/rails/dom.html +22 -0
  111. data/vendor/test_suites/jspec/templates/rails/rhino.js +10 -0
  112. data/vendor/test_suites/jspec/templates/rails/server.html +18 -0
  113. data/vendor/test_suites/jspec/templates/rails/server.rb +4 -0
  114. data/vendor/test_suites/jspec/templates/rails/unit/spec.helper.js +0 -0
  115. data/vendor/test_suites/jspec/templates/rails/unit/spec.js +8 -0
  116. data/vendor/test_suites/qunit/README.md +24 -0
  117. data/vendor/test_suites/qunit/package.json +21 -0
  118. data/vendor/test_suites/qunit/qunit/qunit.css +225 -0
  119. data/vendor/test_suites/qunit/qunit/qunit.js +1448 -0
  120. data/vendor/test_suites/qunit/test/headless.html +24 -0
  121. data/vendor/test_suites/qunit/test/index.html +19 -0
  122. data/vendor/test_suites/qunit/test/logs.html +17 -0
  123. data/vendor/test_suites/qunit/test/logs.js +150 -0
  124. data/vendor/test_suites/qunit/test/same.js +1421 -0
  125. data/vendor/test_suites/qunit/test/test.js +324 -0
  126. metadata +282 -0
@@ -0,0 +1,58 @@
1
+ describe("Player", function() {
2
+ var player;
3
+ var song;
4
+
5
+ beforeEach(function() {
6
+ player = new Player();
7
+ song = new Song();
8
+ });
9
+
10
+ it("should be able to play a Song", function() {
11
+ player.play(song);
12
+ expect(player.currentlyPlayingSong).toEqual(song);
13
+
14
+ //demonstrates use of custom matcher
15
+ expect(player).toBePlaying(song);
16
+ });
17
+
18
+ describe("when song has been paused", function() {
19
+ beforeEach(function() {
20
+ player.play(song);
21
+ player.pause();
22
+ });
23
+
24
+ it("should indicate that the song is currently paused", function() {
25
+ expect(player.isPlaying).toBeFalsy();
26
+
27
+ // demonstrates use of 'not' with a custom matcher
28
+ expect(player).not.toBePlaying(song);
29
+ });
30
+
31
+ it("should be possible to resume", function() {
32
+ player.resume();
33
+ expect(player.isPlaying).toBeTruthy();
34
+ expect(player.currentlyPlayingSong).toEqual(song);
35
+ });
36
+ });
37
+
38
+ // demonstrates use of spies to intercept and test method calls
39
+ it("tells the current song if the user has made it a favorite", function() {
40
+ spyOn(song, 'persistFavoriteStatus');
41
+
42
+ player.play(song);
43
+ player.makeFavorite();
44
+
45
+ expect(song.persistFavoriteStatus).toHaveBeenCalledWith(true);
46
+ });
47
+
48
+ //demonstrates use of expected exceptions
49
+ describe("#resume", function() {
50
+ it("should throw an exception if song is already playing", function() {
51
+ player.play(song);
52
+
53
+ expect(function() {
54
+ player.resume();
55
+ }).toThrow("song is already playing");
56
+ });
57
+ });
58
+ });
@@ -0,0 +1,9 @@
1
+ beforeEach(function() {
2
+ this.addMatchers({
3
+ toBePlaying: function(expectedSong) {
4
+ var player = this.actual;
5
+ return player.currentlyPlayingSong === expectedSong
6
+ && player.isPlaying;
7
+ }
8
+ })
9
+ });
@@ -0,0 +1,22 @@
1
+ function Player() {
2
+ }
3
+ Player.prototype.play = function(song) {
4
+ this.currentlyPlayingSong = song;
5
+ this.isPlaying = true;
6
+ };
7
+
8
+ Player.prototype.pause = function() {
9
+ this.isPlaying = false;
10
+ };
11
+
12
+ Player.prototype.resume = function() {
13
+ if (this.isPlaying) {
14
+ throw new Error("song is already playing");
15
+ }
16
+
17
+ this.isPlaying = true;
18
+ };
19
+
20
+ Player.prototype.makeFavorite = function() {
21
+ this.currentlyPlayingSong.persistFavoriteStatus(true);
22
+ };
@@ -0,0 +1,7 @@
1
+ function Song() {
2
+ }
3
+
4
+ Song.prototype.persistFavoriteStatus = function(value) {
5
+ // something complicated
6
+ throw new Error("not yet implemented");
7
+ };
@@ -0,0 +1,790 @@
1
+
2
+ 4.0.0 / 2010-03-22
3
+ ==================
4
+
5
+ * Added json_fixture(). Closes #157
6
+
7
+ * Added swalke16 to contrib list (shared behavior fixes)
8
+
9
+ * Added shared_behaviors_for() for shared behavior support.
10
+ This is essentially a Suite instance, however the shared
11
+ behavior itself is no longer executed, only suites which use
12
+ should_behave_like().
13
+
14
+ * Added before_nested / after_nested for legacy support.
15
+ These hooks function just as before / after did < 4.0.0,
16
+ where they will execute once per nested suite as well.
17
+
18
+ * Changed; before / after are now executed ONLY once, not
19
+ when a nested suite is running. Use before_nested / after_nested
20
+ if you wish to re-gain this functionality.
21
+
22
+ * Removed JSpec.error()
23
+
24
+ 3.3.3 / 2010-03-15
25
+ ==================
26
+
27
+ * Added nodejs template. use --node
28
+
29
+ 3.3.2 / 2010-02-25
30
+ ==================
31
+
32
+ * Fixed; output bug with shared behaviors
33
+
34
+ 3.3.1 / 2010-02-22
35
+ ==================
36
+
37
+ * Added have_any matcher
38
+ * Fixed; using readFileSync for node.js support
39
+
40
+ 3.3.0 / 2010-02-16
41
+ ==================
42
+
43
+ * Added support for Chrome on Linux [alex-bepple]
44
+ * Added node.js support in core, no longer has node-specific code in template
45
+ * Fixed linux Default browser support, use 'xdg-open' [alex-bepple]
46
+ * Fixed lastRequest global
47
+ * Removed Console reporter. Closes #142
48
+
49
+ 3.2.1 / 2010-02-02
50
+ ==================
51
+
52
+ * Fixed JRuby compatibility; Look up host in a JRuby-compatible way.
53
+
54
+ 3.2.0 / 2010-01-27
55
+ ==================
56
+
57
+ * Added support for running specs in WebKit nightlies.
58
+ * Fixed bug in dom.html templates that was incorrectly passing options to report() rather than run().
59
+
60
+ 3.1.3 / 2010-01-14
61
+ ==================
62
+
63
+ * Fixed node.js template which was missing fixturePath option. Closes #131
64
+ * Fixed some stray globals
65
+
66
+ 3.1.2 / 2010-01-14
67
+ ==================
68
+
69
+ * Changed dependency; commander 4.0.1 for JRuby support
70
+ * Fixed rails init issue with node.js. Closes #135
71
+ * Fixed bin specs
72
+
73
+ 3.1.1 / 2010-01-14
74
+ ==================
75
+
76
+ * Fixed include matcher substring matching regexp issue. Closes #132
77
+
78
+ 3.1.0 / 2010-01-05
79
+ ==================
80
+
81
+ * Added --node (works just like --rhino)
82
+ * Added Node.js support [#114]
83
+ * Fixed markdown < > chars in Readme.md
84
+
85
+ 3.0.0 / 2010-01-04
86
+ ==================
87
+
88
+ * Added JSpec.equal() replacing hash()
89
+ * Added Rhino's .jar to JSpec so that users do not need to install it
90
+ * Added specs for receive matcher negation with times [#150]
91
+ * Added fixturePath option to let JSpec know where your fixtures live
92
+ * Added `jspec stats`
93
+ * Added lastRequest() / last_request() helper [#58]
94
+ * Added jspec.xhr.js in templates by default [#44]
95
+ * Added jspec subcommand hooks; checks for spec/commands/*_command.rb [#38]
96
+ * Added circular reference printing support now shown as { foo: "bar", self: &lt;circular reference&gt; }
97
+ * Added install sub-command with support for jquery, jqueryui, prototype, mootools, dojo, envjs, and rhino
98
+ * Added update support for --freeze / --symlink [#34]
99
+ * Changed; defaulting browsers using system calls [#104]
100
+ * Changed; using json_pure gem instead of json to prevent c extension requirements
101
+ * Changed argumentsToArray() -> toArray() [#62]
102
+ * Changed formatter to reporter [#6]
103
+ * Changed project templates to a newer cleaner format with markdown files, and better structure
104
+ * Changed; Rails is now detected when using `jspec init` --rails is no longer required
105
+ * Changed; Major refactor of the `jspec` executable and all Ruby
106
+ * Changed; Ruby server re-written using Sinatra
107
+ * Removed JSpec.hash()
108
+ * Removed JSpec.paramsFor()
109
+ * Removed profiling [#85]
110
+ * Removed module contexts [#72]
111
+ * Fixed --rhino from exiting using --bind [#111]
112
+ * Fixed sprite spacing when several failure messages are shown [#90]
113
+ * Fixed receive matcher negation issue with the number of times called [#150]
114
+ * Fixed #send_file override; no-cache [#93]
115
+ * Fixed most css issues in IE8 [#71]
116
+ * Fixed "Access is denied" error in IE
117
+ * Fixed __END__
118
+ * Fixed; inverted core specifications (mock_it()) for easier contribution
119
+
120
+ 2.11.13 / 2009-11-22
121
+ --------------------
122
+
123
+ * Fixed dom template root replacement
124
+ * Added Tobias Svensson to contributor list
125
+
126
+ 2.11.12 / 2009-11-12
127
+ --------------------
128
+
129
+ * Changed; DOM formatter displaying several failure messages when present [#89]
130
+ * Changed; displaying multiple error messages for Terminal formatter
131
+ * Updated mock timers to 1.0.2
132
+ * Fixed receive matcher negation issue with the number of times called [#150]
133
+
134
+ 2.11.11 / 2009-10-23
135
+ --------------------
136
+
137
+ * Added cheat sheet install docs
138
+ * Added Google Group link
139
+ * Added sarah to contrib list
140
+ * Changed Terminal formatter's java.lang.System.exit() -> quit()
141
+ * Removed unnecessary flags from several regexps
142
+ * Fixed DOM paths when using --freeze [#88]
143
+ * Fixed __END__
144
+
145
+ 2.11.10 / 2009-10-19
146
+ --------------------
147
+
148
+ * Fixed exit status with Terminal reporter [#77] [thanks darxriggs for reporting]
149
+ This is now fixed when using `jspec run --rhino` as well as `java -jar js.jar spec/spec.rhino.js`.
150
+
151
+ 2.11.9 / 2009-10-16
152
+ -------------------
153
+
154
+ * Fixed puts() with jQuery instance without .selector should output outerHTML, not innerHTML
155
+ * Fixed some specs breaking when using Env.js
156
+ * Fixed Env.js support
157
+
158
+ 2.11.8 / 2009-10-16
159
+ -------------------
160
+
161
+ * Fixed newline support in grammar (supports \r\n, \n, \r)
162
+ * Fixed tabs in grammar [#11]
163
+
164
+ 2.11.7 / 2009-10-15
165
+ -------------------
166
+
167
+ * Fixed minor grammar issues for windows users [thanks Tony]
168
+ * Fixes installation issue when XCode is not present; changed dependency json -> json_pure [thanks esbie]
169
+ * Fixed Chrome#visit; latest builds of Chrome for the mac are now "Google Chrome"
170
+
171
+ 2.11.6 / 2009-10-12
172
+ -------------------
173
+
174
+ * Added Tony to contributor list
175
+ * Removed JSpec.paramsFor()
176
+ * Removed module contexts [#72]
177
+ * Fixed some css styling issues in IE8 [#71]
178
+ * Fixed; DOM formatter supporting \r\n \r \n for EOL in the body source [Thanks Tony]
179
+ * Fixed "Access is denied" error in IE
180
+ * Fixed some css support for older browsers [Thanks Tony]
181
+
182
+ 2.11.5 / 2009-10-10
183
+ -------------------
184
+
185
+ * Fixed dependencies (created by github's gem builder removal)
186
+
187
+ 2.11.4 / 2009-10-10
188
+ -------------------
189
+
190
+ * Updated installation docs
191
+ * Removed namespaced dependencies (thanks alot github...)
192
+
193
+ 2.11.3 / 2009-09-30
194
+ -------------------
195
+
196
+ * Updated to mock timers 1.0.1
197
+ fixes an issue where setTimeout(function(){}, 0); tick(100) is never called
198
+
199
+ 2.11.2 / 2009-09-21
200
+ -------------------
201
+
202
+ * Fixed example path in rails template
203
+
204
+ 2.11.1 / 2009-09-10
205
+ -------------------
206
+
207
+ * Fixed JSpec root when using --symlink, --freeze [#36]
208
+ * Added __END__ to the grammar (works like Ruby's __END__)
209
+
210
+ 2.11.0 / 2009-09-04
211
+ -------------------
212
+
213
+ * Added --symlink switch (links the current version of JSpec to ./spec/lib) [#4]
214
+ * Added --freeze switch (copies the current version of JSpec to ./spec/lib) [#4]
215
+
216
+ 2.10.1 / 2009-09-02
217
+ -------------------
218
+
219
+ * Added `jspec shell` sub command (interactive Rhino shell through JSpec)
220
+ * Added jspec.shell.js
221
+
222
+ 2.10.0 / 2009-08-27
223
+ -------------------
224
+
225
+ * Added Async support via mock timers (lib/jspec.timers.js) [#19]
226
+ * IRC channel up and running! irc://irc.freenode.net#jspec
227
+
228
+ 2.9.1 / 2009-08-21
229
+ ------------------
230
+
231
+ * Added module support for formatters
232
+
233
+ 2.9.0 / 2009-08-21
234
+ ------------------
235
+
236
+ * Server output matching Rhino when using verbose or failuresOnly options
237
+ * Added mock_request() and unmock_request() as aliases for mockRequest() and unmockRequest()
238
+ * Added JSpec.JSON.encode()
239
+ * Added default Sinatra routes /slow/NUMBER and /status/NUMBER for simulating
240
+ slow reponses and HTTP status codes.
241
+ * Added server support for loading spec/jspec.rb (or jspec/jspec.rb for rails)
242
+ Allowing additional browser support to be plugged in, as well as Sinatra routes.
243
+ * Added dependency for Sinatra (new server)
244
+ * Added a new Ruby server
245
+ * Added support for --bind and --server on various platforms
246
+ * Added Google Chrome support
247
+ * Added Internet Explorer support
248
+ * Change; --server without --browsers defaults to all supported browsers
249
+ * Removed JSpec.reportToServer()
250
+ Now utilizes JSpec.formatters.Server to handle this
251
+ functionality.
252
+ * Fixed Server output escaping (removed html escaping from puts()) [#13]
253
+ * Fixed JSpec.load(); returns responseText when 2xx or 0 (for file://)
254
+
255
+ 2.8.4 / 2009-08-02
256
+ ------------------
257
+
258
+ * Fixed error thrown when a module has no utilities
259
+
260
+ 2.8.3 / 2009-07-30
261
+ ------------------
262
+
263
+ * Added JSpec.evalHook()
264
+ * Added JSpec.paramsFor()
265
+ * Refactored jspec.xhr.js
266
+ * Fixed mock xhr HEAD method
267
+ * Fixed node.js print() newline issue
268
+ * Fixed specs preventing spec/spec.node.js from running
269
+
270
+ 2.8.2 / 2009-07-29
271
+ ------------------
272
+
273
+ * Added JSpec.tryLoading()
274
+ * Added JSpec.request used to reference the original XMLHttpRequest; used to fix [#149]
275
+ * Fixed Mock XHR issue messing up JSpec request related utilities such as fixture() [#149]
276
+
277
+ 2.8.1 / 2009-07-27
278
+ ------------------
279
+
280
+ * Added Lawrence Pit as a contributor
281
+ * Fixed object hash equality [#146]
282
+ { a : '1', b : '2' } is now the same as:
283
+ { b : '2', a : '1' }
284
+
285
+ 2.8.0 / 2009-07-27
286
+ ------------------
287
+
288
+ * Give readFile precendence over xhr so that fixtures work with mockRequest when using Rhino
289
+ * Give XMLHttpRequest precedence over microsoft crap
290
+ * Added Mock Ajax Support
291
+ * Added mockRequest(), unmockRequest() utilities
292
+ * Added jspec.xhr.js
293
+ * Fixed be_visible, and be_hidden. Now implement the jQuery <= 1.3.1 method
294
+
295
+ 2.7.2 / 2009-07-24
296
+ ------------------
297
+
298
+ * Fixed "end" in spec bodies when using the grammar
299
+ * Fixed "it" in spec bodies when using the grammar [#142]
300
+ * Changed; HTML entities in descriptions are now escaped for DOM formatter [#141]
301
+ * Added enno84@gmx.net as a contributor (thanks for the bug reports)
302
+
303
+ 2.7.1 / 2009-07-17
304
+ ------------------
305
+
306
+ * Changed; hash() now accepts null
307
+ * Fixed should_receive issue with validating boolean args or return values
308
+ * Fixed --server-only switch
309
+ * Fixed jQuery dependency error message when jQuery is not available
310
+ when using jspec.jquery.js
311
+
312
+ 2.7.0 / 2009-07-14
313
+ ------------------
314
+
315
+ * Added fixture() utility function
316
+ * Templates initialize with example paths to lib
317
+
318
+ 2.6.0 / 2009-07-09
319
+ ------------------
320
+
321
+ * Added Ruby on Rails support
322
+ * Added exporting of JSpec (node.js etc)
323
+ * Added be_undefined matcher [#134]
324
+
325
+ 2.5.1 / 2009-07-07
326
+ ------------------
327
+
328
+ * Added intermediate node.js support
329
+ * Fixed; grammar now allows foo.bar.baz.stub() etc to convert to stub(foo.bar.baz)
330
+
331
+ 2.5.0 / 2009-07-03
332
+ ------------------
333
+
334
+ * Added contrib in README (thanks to anyone who has helped)
335
+ * Added more shared behavior specs
336
+ * Added Module.DSLs support for extending / adding new DSLs (DSL exchange not yet fully implemented)
337
+ * Added spec to make sure methods like end() will not fail due to the grammar
338
+ * Changed; giving hook precedence to suite hooks (before_each, etc) over module hooks (beforeSuite, etc) ; (thanks mpd)
339
+ * Changed; calls to stub() without and_return() now simply stub an arbitrary method with no return value
340
+ * Changed JSpec.include(); now returns JSpec allowing chaining
341
+ * Fixed having "end" in descriptions which would be replaced with '});'
342
+ * Fixed negation of should.receive('foo') matcher
343
+ * Fixed shared behavior assertion count issue
344
+
345
+ 2.4.3 / 2009-07-02
346
+ ------------------
347
+
348
+ * Fixed matcher semicolon matcher issue when using the JSpec grammar
349
+ * Added pass() util; Spec#pass() and Spec#fail() (thanks gisikw)
350
+ * Removing Object.prototype.stubby() after specs are finished to prevent pollution
351
+
352
+ 2.4.2 / 2009-06-30
353
+ ------------------
354
+
355
+ * Fixed trailing comma (thanks Kevin)
356
+
357
+ 2.4.1 / 2009-06-30
358
+ ------------------
359
+
360
+ * Moved beforeSpec and afterSpec hook into proper positions
361
+ allowing for additional assertions within afterSpec.
362
+
363
+ 2.4.0 / 2009-06-30
364
+ ------------------
365
+
366
+ * Added hook() and hookImmutable()
367
+ * Added support for matcher lists ('be enabled disabled selected') == be_enabled, be_disabled etc
368
+ * Added JSpec.include()
369
+ * Added several hooks
370
+ * Added Module support
371
+ * Added grammar conversion of Foo.stub('method') to stub(Foo, 'method')
372
+ * Added grammar conversion of Foo.destub() to destub(Foo)
373
+ * Require bind gem
374
+ * Fixed `jspec` bin docs
375
+
376
+ 2.3.1 / 2009-06-25
377
+ ------------------
378
+
379
+ * Fixed; all stubs generated with stub() are restored
380
+ to their original methods after each 'it' block. See
381
+ README for details.
382
+
383
+ 2.3.0 / 2009-06-25
384
+ ------------------
385
+
386
+ * Added stub()
387
+ * Added destub()
388
+ * Changed; Server responses utilize Rack::Mime now for arbitrary requests
389
+
390
+ 2.2.1 / 2009-06-22
391
+ ------------------
392
+
393
+ * Changed; reportToServer() now accepts url arg
394
+
395
+ * Fixed be_empty matcher; now considers {} empty, however { foo : bar } is not
396
+ * Fixed throw_error error messages for Opera
397
+ * Fixed throw_error in Rhino (Opera is broken now)
398
+ * Fixed stray console.log() call
399
+
400
+ * Fixed some tab issues.
401
+ When using the JSpec grammar option you should
402
+ use the 'soft tabs' feature of your IDE or text editor.
403
+ A patch for tabs is pending and should be available soon,
404
+ however be aware that a 'parse error' may occur otherwise.
405
+
406
+ 2.2.0 / 2009-06-18
407
+ ------------------
408
+
409
+ * Added link to JSpec in JSMag June 2009
410
+ * Added Github gem source location to docs
411
+ * Changed throw_error matcher; now accepts two arguments
412
+ * Changed --server; serves from current working directory.
413
+ This allows files in ../lib/ * to be served rather than ./spec/ * only.
414
+ * Refactored argumentsToArray()
415
+
416
+ 2.1.0 / 2009-06-12
417
+ ------------------
418
+
419
+ * Changed `jspec init` to utilize a single template
420
+ which allows for all three suite running capabilities
421
+ within a single template. Now after initializing a
422
+ project you may `jspec run --server`, `jspec run --rhino`
423
+ etc at any time without modifications.
424
+
425
+ 2.0.3 / 2009-05-15
426
+ ------------------
427
+
428
+ * Table should span full width
429
+ (Very week release I know, but improperly styled things bug me :) )
430
+
431
+ 2.0.2 / 2009-05-11
432
+ ------------------
433
+
434
+ * Added rails integration link http://github.com/bhauman/jspec-rails
435
+ * Changed; puts() now displays constructor name when available
436
+ * Fixed Terminal output which was not displaying due to a recent commit
437
+ * fixed IE bug : DOM elements don't have valueOf() method
438
+
439
+ 2.0.1 / 2009-05-01
440
+ ------------------
441
+
442
+ * Added better failure messages for throw_error matcher
443
+ * Renamed print() to puts() [#108]
444
+
445
+ 2.0.0 / 2009-04-27
446
+ ------------------
447
+
448
+ * Added DOM loading indicator [#105]
449
+ * Added wait() helper for additional async support
450
+ * Added shared behavior support using should_behave_like('Another Suite')
451
+ * Added CSS body toggling [#1]
452
+ * Added receive matcher for Proxy Assertins
453
+ * Added grammar-less support
454
+ * Added an_instance_of() helper
455
+ * Removed .this literal
456
+ * Removed deprecated be_a_TYPE_input matchers
457
+
458
+ * Added ProxyAssertion
459
+ * Added select() util
460
+ * Added does() util for report-less assertions
461
+ * Added find() util
462
+ * Added JSpec.contentsOf()
463
+ * Added matchers to body evaluation [#90]
464
+
465
+ 1.1.7 / 2009-04-22
466
+ ------------------
467
+
468
+ * Removed trailing commas causing issues with IE (what a suprise ;) )
469
+
470
+ 1.1.6 / 2009-04-22
471
+ ------------------
472
+
473
+ * Fixed typo in requires()
474
+ * Added expect()
475
+
476
+ 1.1.5 / 2009-04-17
477
+ ------------------
478
+
479
+ * Strengthened specs for cascading hooks
480
+ * Fixed cascading hooks
481
+
482
+ 1.1.4 / 2009-04-17
483
+ ------------------
484
+
485
+ * Added rhino and server template files
486
+ * Added JSpec.hasXhr()
487
+ * Added JSpec.xhr()
488
+ * Added Ruby javascript testing server
489
+ * Added support for options passed to run()
490
+ * Added failuresOnly for Terminal formatter
491
+ * Added terminal assertion graphs
492
+ * Addec color() utility
493
+ * Added main.puts() since we use print() as a utility
494
+ * Added rhino support
495
+ * Added fail() utility function
496
+ * Added JSpec.Assertion
497
+ * Added normalizeMatcherMessage()
498
+ * Added normalizeMatcherBody()
499
+ * Added have_classes [#19]
500
+ * Added extend() utility
501
+ * Added be_an_instance_of matcher
502
+ * Added constructor checking support for throw_error matcher [#72]
503
+ * Added file support for exception messages, making them much easier to debug
504
+ * Added catching of exceptions throw within specs [#46]
505
+ * Changed; executable aborts when template does not exist
506
+ * Changed; matchers now normalized upon creation, accepts function, hash, or string.
507
+ * Changed be() matcher to be strict [#57]
508
+ * Changed error() to conditionally show line number when available
509
+ * Renamed Jspec.addSuite to JSpec.describe and Suite#addSpec to Suite#it
510
+ * Refactored be_a_TYPE_input matchers so that the deprication warning is logged only when calling the method
511
+ * Fixed JSpec.requires() now works with latest version of JSpec.error()
512
+ * Fixed error() now displays exceptions throw that do not respond to .message
513
+ * Fixed commenting bug [#37]
514
+ * Removed JSpec.main, now just using local main
515
+
516
+ 1.1.3 / 2009-04-14
517
+ ------------------
518
+
519
+ * Removed /test used for the executable, causing gem to fail building
520
+
521
+ 1.1.2 / 2009-04-14
522
+ ------------------
523
+
524
+ * Added `jspec update` sub-command [#63]
525
+
526
+ 1.1.1 / 2009-04-12
527
+ ------------------
528
+
529
+ * Added gemspec
530
+
531
+ 1.1.0 / 2009-04-12
532
+ ------------------
533
+
534
+ * jspec executable fully functional
535
+
536
+ 1.0.4 / 2009-04-09
537
+ ------------------
538
+
539
+ * Added `jspec bind`
540
+ * Added `jspec run`
541
+ * Added `jspec init`
542
+ * Added `jspec` executable
543
+ * Added gemspec and manifest
544
+ * Added command-line usage docs
545
+ * Added custom matchers documentation
546
+ * Removed double negation
547
+
548
+ 1.0.3 / 2009-04-08
549
+ ------------------
550
+
551
+ * Added have_prop matcher, have_property is now strict [#56]
552
+
553
+ 1.0.2 / 2009-04-08
554
+ ------------------
555
+
556
+ * Added be_selected, be_checked matchers
557
+ * Added string support to each() each('some foo bar', ...)
558
+ * Added have_ATTR matchers [#51]
559
+ * Deprected be_a_TYPE_input matchers [#50]
560
+
561
+ 1.0.1 / 2009-04-07
562
+ ------------------
563
+
564
+ * Added have_property matcher [#53]
565
+
566
+ 1.0.0 / 2009-04-06
567
+ ------------------
568
+
569
+ * Added option() which gives the query string option precedence [#39]
570
+ * Changed; Using JSpec.options.formatter not JSpec.formatter [#44]
571
+ * Fixed Console formatter, now displays nested suites
572
+ * Check out http://visionmedia.github.com/jspec for additional documentation!
573
+
574
+ 0.9.6 / 2009-04-03
575
+ ------------------
576
+
577
+ * Added nesting support
578
+ * Added printing of nested specs
579
+ * Added assertion graphs to DOM formatter
580
+ * Refactored preprocess()
581
+ * Refactored most of the specs
582
+ * Renamed preProcess() to preprocess()
583
+ * Removed running of a single suite via ?suite= for now
584
+
585
+ 0.9.5 / 2009-04-02
586
+ ------------------
587
+
588
+ * Added support for printing of function bodies and regexps [#27]
589
+ * Added support for strings / regexp with should_throw_error [#26]
590
+ * Added have_within matcher
591
+ * Added have_at_most matcher
592
+ * Added have_at_least matcher
593
+ * Added have matcher [#24]
594
+
595
+ 0.9.4 / 2009-04-02
596
+ ------------------
597
+
598
+ * Added be_a_TYPE_input matchers (be_a_checkbox_input, be_a_text_input, etc)
599
+ * Added be_disabled matcher [#21]
600
+ * Added be_enabled matcher [#20]
601
+ * Refactored be_visible and be_hidden with $(elem).is()
602
+
603
+ 0.9.2 / 2009-04-02
604
+ ------------------
605
+
606
+ * Added support for multi-arg failure messages [#2]
607
+ * Better printing of jQuery objects [#15]
608
+
609
+ 0.9.1 / 2009-04-02
610
+ ------------------
611
+
612
+ * Added support for dotted negation of assertions (foo.should.not.equal bar)
613
+ * Added support for dot-style assertions [#17] (foo.should_not.equal bar)
614
+
615
+ 0.9.0 / 2009-04-01
616
+ ------------------
617
+
618
+ * Added spec for strip()
619
+ * Added strip()
620
+ * Added any() util
621
+ * Added new improved include matcher
622
+ * Added have_many and have_one matchers
623
+ * Added have_attr matcher [#14]
624
+ * Added map() util
625
+ * Added inject() util
626
+ * Added escape() util
627
+ * Added recursive array and object printing
628
+ * Added DOM formatter option failuresOnly
629
+ * Added support for running of a single squite via ?suite=...
630
+ * Added query() util
631
+ * Added last() util
632
+ * Added be_within matcher, accepts a range literal
633
+ * Added inclusive range literal n..n
634
+ * Added row hover
635
+ * Refactored range()
636
+ * Refactored setMessage()
637
+ * Refactored hash()
638
+ * Changed; preprocessor passing array of args (multi-arg matcher support)
639
+ * Changed jQuery to $ for internal usage
640
+
641
+ 0.8.0 / 2009-02-27
642
+ ------------------
643
+
644
+ * Added a new style for the DOM formatter (not finished yet)
645
+
646
+ 0.7.0 / 2009-02-27
647
+ ------------------
648
+
649
+ * Added Console formatter (anything implementing the console object. Firebug, Safari 4, etc)
650
+ * Added JSpec.options.profile for optional profiling of specs
651
+ * Added this. literal alternative (view readme)
652
+ * Moved formatters into JSpec.formatters
653
+ * Added error() util
654
+ * Added savings raketask
655
+ * Fixed parse error bug in Safari 4
656
+
657
+ 0.6.3 / 2009-02-26
658
+ ------------------
659
+
660
+ * Added minification for jspec.jquery.js when packaging before release
661
+ * Added compression of css when packaging before release
662
+
663
+ 0.6.2 / 2009-02-26
664
+ ------------------
665
+
666
+ * Changed; using $ in jspec.jquery.js for JSpec, take that jQuery ;)
667
+ * Added addMatchers, print, hash, and each as 'utility functions' this allows
668
+ JSpec to do each(...) internally instead of JSpec.each(...), while still preventing
669
+ pollution of the global scope.
670
+
671
+ 0.6.1 / 2009-02-26
672
+ ------------------
673
+
674
+ * Added closrue literal -{ (view README)
675
+ * Added option to DOM formatter, now allows you to specify which element id to output to
676
+
677
+ 0.6.0 / 2009-02-24
678
+ ------------------
679
+
680
+ * Added JSpec.hash
681
+ * Added be_null matcher
682
+ * Allow recursive composite matching using should_eql and should_not_eql
683
+ For example [1, 2, [3]].should_eql([1, 2, [3]]) is true, works with object
684
+ 'hashes' as well.
685
+
686
+ 0.5.1 / 2009-02-24
687
+ ------------------
688
+
689
+ * Damn auto-release messed up
690
+
691
+ 0.5.0 / 2009-02-24
692
+ ------------------
693
+
694
+ * Added async support for jQuery
695
+ * Added JSpec.requires for dependencies
696
+ * Added JSpec.throw
697
+ * Added JSpec.runSpec
698
+ * Refactored jspec.jquery.js
699
+ * Fixed evalBody exceptions, previously was not showing exception message
700
+ * Fixed bug of JSpec interpreting // in a string such as http:// to be a comment.
701
+
702
+ 0.4.1 / 2009-02-22
703
+ ------------------
704
+
705
+ * Added elements() alias of element()
706
+ * Added support for string passed to runSuite; runSuite('Matchers') is the same as
707
+ runSuite(JSpec.suites['Matchers']).
708
+ * Fixed some documentation
709
+
710
+ 0.4.0 / 2009-02-20
711
+ ------------------
712
+
713
+ * Added comment literal (//)
714
+ * Added pre-processor for convering matchers.
715
+ For example 'test'.should_be_true becomes JSpec.match('test', 'should_be', 'true'),
716
+ preventing pollution of core prototypes.
717
+
718
+ 0.3.2 / 2009-02-19
719
+ ------------------
720
+
721
+ * Added TM bundle (go checkout my jspec.tmbundle repo on github)
722
+ * Renamed have_length_of to have_length
723
+
724
+ 0.3.1 / 2009-02-19
725
+ ------------------
726
+
727
+ * Added jquery js to package
728
+
729
+ 0.3.0 / 2009-02-19
730
+ ------------------
731
+
732
+ * Added JSpec.match
733
+ * Added options to report() which are passed to formatter
734
+ * Added sandbox helpers (reg / jquery)
735
+ * Added have_child and have_children
736
+ * Added have_tag and have_tags
737
+ * Changed exec to only load / eval file
738
+ * Fixed parser token issue, was previously matching things like end() as literal end
739
+
740
+ 0.2.3 / 2009-02-18
741
+ ------------------
742
+
743
+ * Changed test dir to spec
744
+ * Changed test.js to core.spec.js
745
+
746
+ 0.2.2 / 2009-02-18
747
+ ------------------
748
+
749
+ * Added contexts
750
+
751
+ 0.2.0 / 2009-02-18
752
+ ------------------
753
+
754
+ * Added release rake task
755
+ * Added package with minified alternative
756
+
757
+ 0.1.0 / 2009-02-18
758
+ ------------------
759
+
760
+ * Added new sexy syntax (warning: you will have to re-write your specs)
761
+ * Added pre-processor for optional matcher parens
762
+ * Added several new matchers
763
+ * Added matcher aliasing
764
+ * Added simple matcher declarations
765
+ * Added __END__
766
+ * Added yet-to-be-implemented specs
767
+ * Added loading of suites via JSpec.load
768
+
769
+ 0.0.4 / 2008-11-03
770
+ ------------------
771
+
772
+ * Added ability to pass only a description to it(), meaning not yet implemented
773
+
774
+ 0.0.3 / 2008-10-28
775
+ ------------------
776
+
777
+ * Added should_fail
778
+ * Added should_match
779
+ * Added should_not_match
780
+ * Added should_be and should_not_be
781
+
782
+ 0.0.2 / 2008-10-28
783
+ ------------------
784
+
785
+ * Fixed typo in documentation for pointing to the master repo
786
+
787
+ 0.0.1 / 2008-10-28
788
+ ------------------
789
+
790
+ * Initial release