shuriken 0.1.2.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. data/.gitignore +1 -0
  2. data/Rakefile +28 -0
  3. data/coffeescripts/shuriken/test/assertions.coffee +111 -0
  4. data/coffeescripts/shuriken/test/reporters.coffee +61 -0
  5. data/coffeescripts/shuriken/test.coffee +117 -0
  6. data/coffeescripts/shuriken.coffee +2 -2
  7. data/javascripts/shuriken/mixins/callbacks.js +45 -0
  8. data/javascripts/shuriken/mixins.js +58 -0
  9. data/javascripts/shuriken/test/assertions.js +117 -0
  10. data/javascripts/shuriken/test/reporters.js +84 -0
  11. data/javascripts/shuriken/test.js +165 -0
  12. data/javascripts/shuriken.js +195 -0
  13. data/lib/shuriken.rb +1 -1
  14. data/shuriken.gemspec +84 -4
  15. data/tests/basic_namespace_tests.coffee +114 -0
  16. data/tests/template.erb +26 -0
  17. data/tests.watchr +6 -0
  18. data/vendor/jasmine-0.10.0/MIT.LICENSE +20 -0
  19. data/vendor/jasmine-0.10.0/README.markdown +437 -0
  20. data/vendor/jasmine-0.10.0/doc/files.html +460 -0
  21. data/vendor/jasmine-0.10.0/doc/index.html +322 -0
  22. data/vendor/jasmine-0.10.0/doc/symbols/_global_.html +918 -0
  23. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Block.html +417 -0
  24. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Clock.html +678 -0
  25. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Env.html +1169 -0
  26. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.JsApiReporter.html +822 -0
  27. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Matchers.html +1461 -0
  28. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.MultiReporter.html +394 -0
  29. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.NestedResults.html +710 -0
  30. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Reporter.html +574 -0
  31. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Runner.html +710 -0
  32. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Spec.html +1259 -0
  33. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Spy.html +855 -0
  34. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.Suite.html +705 -0
  35. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.html +1345 -0
  36. data/vendor/jasmine-0.10.0/doc/symbols/jasmine.util.html +535 -0
  37. data/vendor/jasmine-0.10.0/doc/symbols/src/lib_TrivialReporter.js.html +124 -0
  38. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Block.js.html +29 -0
  39. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Env.js.html +240 -0
  40. data/vendor/jasmine-0.10.0/doc/symbols/src/src_JsApiReporter.js.html +111 -0
  41. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Matchers.js.html +328 -0
  42. data/vendor/jasmine-0.10.0/doc/symbols/src/src_MultiReporter.js.html +36 -0
  43. data/vendor/jasmine-0.10.0/doc/symbols/src/src_NestedResults.js.html +88 -0
  44. data/vendor/jasmine-0.10.0/doc/symbols/src/src_PrettyPrinter.js.html +130 -0
  45. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Queue.js.html +102 -0
  46. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Reporter.js.html +35 -0
  47. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Reporters.js.html +51 -0
  48. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Runner.js.html +75 -0
  49. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Spec.js.html +211 -0
  50. data/vendor/jasmine-0.10.0/doc/symbols/src/src_Suite.js.html +77 -0
  51. data/vendor/jasmine-0.10.0/doc/symbols/src/src_WaitsBlock.js.html +21 -0
  52. data/vendor/jasmine-0.10.0/doc/symbols/src/src_WaitsForBlock.js.html +45 -0
  53. data/vendor/jasmine-0.10.0/doc/symbols/src/src_base.js.html +555 -0
  54. data/vendor/jasmine-0.10.0/doc/symbols/src/src_mock-timeout.js.html +185 -0
  55. data/vendor/jasmine-0.10.0/doc/symbols/src/src_util.js.html +75 -0
  56. data/vendor/jasmine-0.10.0/example/example_runner.html +25 -0
  57. data/vendor/jasmine-0.10.0/example/spec/example_suite.js +11 -0
  58. data/vendor/jasmine-0.10.0/lib/TrivialReporter.js +117 -0
  59. data/vendor/jasmine-0.10.0/lib/consolex.js +28 -0
  60. data/vendor/jasmine-0.10.0/lib/jasmine-0.10.0.js +2261 -0
  61. data/vendor/jasmine-0.10.0/lib/jasmine.css +86 -0
  62. data/vendor/jasmine-0.10.0/spec/runner.html +63 -0
  63. data/vendor/jasmine-0.10.0/spec/suites/CustomMatchersSpec.js +112 -0
  64. data/vendor/jasmine-0.10.0/spec/suites/EnvSpec.js +71 -0
  65. data/vendor/jasmine-0.10.0/spec/suites/ExceptionsSpec.js +107 -0
  66. data/vendor/jasmine-0.10.0/spec/suites/JsApiReporterSpec.js +82 -0
  67. data/vendor/jasmine-0.10.0/spec/suites/MatchersSpec.js +589 -0
  68. data/vendor/jasmine-0.10.0/spec/suites/MockClockSpec.js +34 -0
  69. data/vendor/jasmine-0.10.0/spec/suites/MultiReporterSpec.js +30 -0
  70. data/vendor/jasmine-0.10.0/spec/suites/NestedResultsSpec.js +54 -0
  71. data/vendor/jasmine-0.10.0/spec/suites/PrettyPrintSpec.js +93 -0
  72. data/vendor/jasmine-0.10.0/spec/suites/QueueSpec.js +23 -0
  73. data/vendor/jasmine-0.10.0/spec/suites/ReporterSpec.js +60 -0
  74. data/vendor/jasmine-0.10.0/spec/suites/RunnerSpec.js +258 -0
  75. data/vendor/jasmine-0.10.0/spec/suites/SpecRunningSpec.js +1086 -0
  76. data/vendor/jasmine-0.10.0/spec/suites/SpecSpec.js +110 -0
  77. data/vendor/jasmine-0.10.0/spec/suites/SpySpec.js +187 -0
  78. data/vendor/jasmine-0.10.0/spec/suites/SuiteSpec.js +101 -0
  79. data/vendor/jasmine-0.10.0/spec/suites/TrivialReporterSpec.js +140 -0
  80. data/vendor/jasmine-0.10.0/spec/suites/UtilSpec.js +23 -0
  81. data/vendor/jquery.js +154 -0
  82. data/wip-coffeescripts/example_test.coffee +0 -0
  83. data/wip-coffeescripts/test/assertions.coffee +111 -0
  84. data/wip-coffeescripts/test/reporters.coffee +61 -0
  85. data/wip-coffeescripts/test.coffee +96 -15
  86. metadata +83 -4
@@ -0,0 +1,855 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
+ <meta name="generator" content="JsDoc Toolkit" />
7
+
8
+ <title>JsDoc Reference - jasmine.Spy</title>
9
+
10
+ <style type="text/css">
11
+ /* default.css */
12
+ body
13
+ {
14
+ font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
15
+ width: 800px;
16
+ }
17
+
18
+ .header
19
+ {
20
+ clear: both;
21
+ background-color: #ccc;
22
+ padding: 8px;
23
+ }
24
+
25
+ h1
26
+ {
27
+ font-size: 150%;
28
+ font-weight: bold;
29
+ padding: 0;
30
+ margin: 1em 0 0 .3em;
31
+ }
32
+
33
+ hr
34
+ {
35
+ border: none 0;
36
+ border-top: 1px solid #7F8FB1;
37
+ height: 1px;
38
+ }
39
+
40
+ pre.code
41
+ {
42
+ display: block;
43
+ padding: 8px;
44
+ border: 1px dashed #ccc;
45
+ }
46
+
47
+ #index
48
+ {
49
+ margin-top: 24px;
50
+ float: left;
51
+ width: 160px;
52
+ position: absolute;
53
+ left: 8px;
54
+ background-color: #F3F3F3;
55
+ padding: 8px;
56
+ }
57
+
58
+ #content
59
+ {
60
+ margin-left: 190px;
61
+ width: 600px;
62
+ }
63
+
64
+ .classList
65
+ {
66
+ list-style-type: none;
67
+ padding: 0;
68
+ margin: 0 0 0 8px;
69
+ font-family: arial, sans-serif;
70
+ font-size: 1em;
71
+ overflow: auto;
72
+ }
73
+
74
+ .classList li
75
+ {
76
+ padding: 0;
77
+ margin: 0 0 8px 0;
78
+ }
79
+
80
+ .summaryTable { width: 100%; }
81
+
82
+ h1.classTitle
83
+ {
84
+ font-size:170%;
85
+ line-height:130%;
86
+ }
87
+
88
+ h2 { font-size: 110%; }
89
+ caption, div.sectionTitle
90
+ {
91
+ background-color: #7F8FB1;
92
+ color: #fff;
93
+ font-size:130%;
94
+ text-align: left;
95
+ padding: 2px 6px 2px 6px;
96
+ border: 1px #7F8FB1 solid;
97
+ }
98
+
99
+ div.sectionTitle { margin-bottom: 8px; }
100
+ .summaryTable thead { display: none; }
101
+
102
+ .summaryTable td
103
+ {
104
+ vertical-align: top;
105
+ padding: 4px;
106
+ border-bottom: 1px #7F8FB1 solid;
107
+ border-right: 1px #7F8FB1 solid;
108
+ }
109
+
110
+ /*col#summaryAttributes {}*/
111
+ .summaryTable td.attributes
112
+ {
113
+ border-left: 1px #7F8FB1 solid;
114
+ width: 140px;
115
+ text-align: right;
116
+ }
117
+
118
+ td.attributes, .fixedFont
119
+ {
120
+ line-height: 15px;
121
+ color: #002EBE;
122
+ font-family: "Courier New",Courier,monospace;
123
+ font-size: 13px;
124
+ }
125
+
126
+ .summaryTable td.nameDescription
127
+ {
128
+ text-align: left;
129
+ font-size: 13px;
130
+ line-height: 15px;
131
+ }
132
+
133
+ .summaryTable td.nameDescription, .description
134
+ {
135
+ line-height: 15px;
136
+ padding: 4px;
137
+ padding-left: 4px;
138
+ }
139
+
140
+ .summaryTable { margin-bottom: 8px; }
141
+
142
+ ul.inheritsList
143
+ {
144
+ list-style: square;
145
+ margin-left: 20px;
146
+ padding-left: 0;
147
+ }
148
+
149
+ .detailList {
150
+ margin-left: 20px;
151
+ line-height: 15px;
152
+ }
153
+ .detailList dt { margin-left: 20px; }
154
+
155
+ .detailList .heading
156
+ {
157
+ font-weight: bold;
158
+ padding-bottom: 6px;
159
+ margin-left: 0;
160
+ }
161
+
162
+ .light, td.attributes, .light a:link, .light a:visited
163
+ {
164
+ color: #777;
165
+ font-style: italic;
166
+ }
167
+
168
+ .fineprint
169
+ {
170
+ text-align: right;
171
+ font-size: 10px;
172
+ }
173
+ </style>
174
+ </head>
175
+
176
+ <body>
177
+ <!-- ============================== header ================================= -->
178
+ <!-- begin static/header.html -->
179
+ <div id="header">
180
+ </div>
181
+ <!-- end static/header.html -->
182
+
183
+ <!-- ============================== classes index ============================ -->
184
+ <div id="index">
185
+ <!-- begin publish.classesIndex -->
186
+ <div align="center"><a href="../index.html">Class Index</a>
187
+ | <a href="../files.html">File Index</a></div>
188
+ <hr />
189
+ <h2>Classes</h2>
190
+ <ul class="classList">
191
+
192
+ <li><i><a href="../symbols/_global_.html">_global_</a></i></li>
193
+
194
+ <li><a href="../symbols/jasmine.html">jasmine</a></li>
195
+
196
+ <li><a href="../symbols/jasmine.Block.html">jasmine.Block</a></li>
197
+
198
+ <li><a href="../symbols/jasmine.Clock.html">jasmine.Clock</a></li>
199
+
200
+ <li><a href="../symbols/jasmine.Env.html">jasmine.Env</a></li>
201
+
202
+ <li><a href="../symbols/jasmine.JsApiReporter.html">jasmine.JsApiReporter</a></li>
203
+
204
+ <li><a href="../symbols/jasmine.Matchers.html">jasmine.Matchers</a></li>
205
+
206
+ <li><a href="../symbols/jasmine.MultiReporter.html">jasmine.MultiReporter</a></li>
207
+
208
+ <li><a href="../symbols/jasmine.NestedResults.html">jasmine.NestedResults</a></li>
209
+
210
+ <li><a href="../symbols/jasmine.Reporter.html">jasmine.Reporter</a></li>
211
+
212
+ <li><a href="../symbols/jasmine.Runner.html">jasmine.Runner</a></li>
213
+
214
+ <li><a href="../symbols/jasmine.Spec.html">jasmine.Spec</a></li>
215
+
216
+ <li><a href="../symbols/jasmine.Spy.html">jasmine.Spy</a></li>
217
+
218
+ <li><a href="../symbols/jasmine.Suite.html">jasmine.Suite</a></li>
219
+
220
+ <li><a href="../symbols/jasmine.util.html">jasmine.util</a></li>
221
+
222
+ </ul>
223
+ <hr />
224
+ <!-- end publish.classesIndex -->
225
+ </div>
226
+
227
+ <div id="content">
228
+ <!-- ============================== class title ============================ -->
229
+ <h1 class="classTitle">
230
+
231
+ Class jasmine.Spy
232
+ </h1>
233
+
234
+ <!-- ============================== class summary ========================== -->
235
+ <p class="description">
236
+
237
+
238
+
239
+
240
+
241
+ <br /><i>Defined in: </i> <a href="../symbols/src/src_base.js.html">base.js</a>.
242
+
243
+ </p>
244
+
245
+ <!-- ============================== constructor summary ==================== -->
246
+
247
+ <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class jasmine.Spy.">
248
+ <caption>Class Summary</caption>
249
+ <thead>
250
+ <tr>
251
+ <th scope="col">Constructor Attributes</th>
252
+ <th scope="col">Constructor Name and Description</th>
253
+ </tr>
254
+ </thead>
255
+ <tbody>
256
+ <tr>
257
+ <td class="attributes">&nbsp;</td>
258
+ <td class="nameDescription" >
259
+ <div class="fixedFont">
260
+ <b><a href="../symbols/jasmine.Spy.html">jasmine.Spy</a></b>(name)
261
+ </div>
262
+ <div class="description">Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks.</div>
263
+ </td>
264
+ </tr>
265
+ </tbody>
266
+ </table>
267
+
268
+
269
+ <!-- ============================== properties summary ===================== -->
270
+
271
+
272
+
273
+ <table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class jasmine.Spy.">
274
+ <caption>Field Summary</caption>
275
+ <thead>
276
+ <tr>
277
+ <th scope="col">Field Attributes</th>
278
+ <th scope="col">Field Name and Description</th>
279
+ </tr>
280
+ </thead>
281
+ <tbody>
282
+
283
+ <tr>
284
+ <td class="attributes">&nbsp;</td>
285
+ <td class="nameDescription">
286
+ <div class="fixedFont">
287
+ <b><a href="../symbols/jasmine.Spy.html#argsForCall">argsForCall</a></b>
288
+ </div>
289
+ <div class="description">Holds arguments for each call to the spy, indexed by call count</div>
290
+ </td>
291
+ </tr>
292
+
293
+ <tr>
294
+ <td class="attributes">&nbsp;</td>
295
+ <td class="nameDescription">
296
+ <div class="fixedFont">
297
+ <b><a href="../symbols/jasmine.Spy.html#identity">identity</a></b>
298
+ </div>
299
+ <div class="description">The name of the spy, if provided.</div>
300
+ </td>
301
+ </tr>
302
+
303
+ <tr>
304
+ <td class="attributes">&nbsp;</td>
305
+ <td class="nameDescription">
306
+ <div class="fixedFont">
307
+ <b><a href="../symbols/jasmine.Spy.html#isSpy">isSpy</a></b>
308
+ </div>
309
+ <div class="description">Is this Object a spy?</div>
310
+ </td>
311
+ </tr>
312
+
313
+ <tr>
314
+ <td class="attributes">&nbsp;</td>
315
+ <td class="nameDescription">
316
+ <div class="fixedFont">
317
+ <b><a href="../symbols/jasmine.Spy.html#mostRecentCall">mostRecentCall</a></b>
318
+ </div>
319
+ <div class="description">Tracking of the most recent call to the spy.</div>
320
+ </td>
321
+ </tr>
322
+
323
+ </tbody>
324
+ </table>
325
+
326
+
327
+
328
+
329
+
330
+ <!-- ============================== methods summary ======================== -->
331
+
332
+
333
+
334
+ <table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class jasmine.Spy.">
335
+ <caption>Method Summary</caption>
336
+ <thead>
337
+ <tr>
338
+ <th scope="col">Method Attributes</th>
339
+ <th scope="col">Method Name and Description</th>
340
+ </tr>
341
+ </thead>
342
+ <tbody>
343
+
344
+ <tr>
345
+ <td class="attributes">&nbsp;</td>
346
+ <td class="nameDescription">
347
+ <div class="fixedFont"><b><a href="../symbols/jasmine.Spy.html#andCallFake">andCallFake</a></b>(fakeFunc)
348
+ </div>
349
+ <div class="description">Calls an alternate implementation when a spy is called.</div>
350
+ </td>
351
+ </tr>
352
+
353
+ <tr>
354
+ <td class="attributes">&nbsp;</td>
355
+ <td class="nameDescription">
356
+ <div class="fixedFont"><b><a href="../symbols/jasmine.Spy.html#andCallThrough">andCallThrough</a></b>()
357
+ </div>
358
+ <div class="description">Tells a spy to call through to the actual implemenatation.</div>
359
+ </td>
360
+ </tr>
361
+
362
+ <tr>
363
+ <td class="attributes">&nbsp;</td>
364
+ <td class="nameDescription">
365
+ <div class="fixedFont"><b><a href="../symbols/jasmine.Spy.html#andReturn">andReturn</a></b>(value)
366
+ </div>
367
+ <div class="description">For setting the return value of a spy.</div>
368
+ </td>
369
+ </tr>
370
+
371
+ <tr>
372
+ <td class="attributes">&nbsp;</td>
373
+ <td class="nameDescription">
374
+ <div class="fixedFont"><b><a href="../symbols/jasmine.Spy.html#andThrow">andThrow</a></b>(exceptionMsg)
375
+ </div>
376
+ <div class="description">For throwing an exception when a spy is called.</div>
377
+ </td>
378
+ </tr>
379
+
380
+ <tr>
381
+ <td class="attributes">&nbsp;</td>
382
+ <td class="nameDescription">
383
+ <div class="fixedFont"><b><a href="../symbols/jasmine.Spy.html#plan">plan</a></b>()
384
+ </div>
385
+ <div class="description">The actual function this spy stubs.</div>
386
+ </td>
387
+ </tr>
388
+
389
+ <tr>
390
+ <td class="attributes">&nbsp;</td>
391
+ <td class="nameDescription">
392
+ <div class="fixedFont"><b><a href="../symbols/jasmine.Spy.html#reset">reset</a></b>()
393
+ </div>
394
+ <div class="description">Resets all of a spy's the tracking variables so that it can be used again.</div>
395
+ </td>
396
+ </tr>
397
+
398
+ </tbody>
399
+ </table>
400
+
401
+
402
+
403
+
404
+ <!-- ============================== events summary ======================== -->
405
+
406
+
407
+ <!-- ============================== constructor details ==================== -->
408
+
409
+ <div class="details"><a name="constructor"> </a>
410
+ <div class="sectionTitle">
411
+ Class Detail
412
+ </div>
413
+
414
+ <div class="fixedFont">
415
+ <b>jasmine.Spy</b>(name)
416
+ </div>
417
+
418
+ <div class="description">
419
+ Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks.
420
+
421
+ Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine
422
+ expectation syntax. Spies can be checked if they were called or not and what the calling params were.
423
+
424
+ A Spy has the following mehtod: wasCalled, callCount, mostRecentCall, and argsForCall (see docs)
425
+ Spies are torn down at the end of every spec.
426
+
427
+ Note: Do <b>not</b> call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj.
428
+
429
+ </div>
430
+
431
+
432
+
433
+ <pre class="code">// a stub
434
+ var myStub = jasmine.createSpy('myStub'); // can be used anywhere
435
+
436
+ // spy example
437
+ var foo = {
438
+ not: function(bool) { return !bool; }
439
+ }
440
+
441
+ // actual foo.not will not be called, execution stops
442
+ spyOn(foo, 'not');
443
+
444
+ // foo.not spied upon, execution will continue to implementation
445
+ spyOn(foo, 'not').andCallThrough();
446
+
447
+ // fake example
448
+ var foo = {
449
+ not: function(bool) { return !bool; }
450
+ }
451
+
452
+ // foo.not(val) will return val
453
+ spyOn(foo, 'not').andCallFake(function(value) {return value;});
454
+
455
+ // mock example
456
+ foo.not(7 == 7);
457
+ expect(foo.not).wasCalled();
458
+ expect(foo.not).wasCalledWith(true);</pre>
459
+
460
+
461
+
462
+
463
+
464
+ <dl class="detailList">
465
+ <dt class="heading">Parameters:</dt>
466
+
467
+ <dt>
468
+ <span class="light fixedFont">{String}</span> <b>name</b>
469
+
470
+ </dt>
471
+ <dd></dd>
472
+
473
+ </dl>
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+ <dl class="detailList">
482
+ <dt class="heading">See:</dt>
483
+
484
+ <dd><a href="../symbols/_global_.html#spyOn">spyOn</a>, jasmine.createSpy, jasmine.createSpyObj</dd>
485
+
486
+ </dl>
487
+
488
+
489
+ </div>
490
+
491
+
492
+ <!-- ============================== field details ========================== -->
493
+
494
+ <div class="sectionTitle">
495
+ Field Detail
496
+ </div>
497
+
498
+ <a name="argsForCall"> </a>
499
+ <div class="fixedFont">
500
+
501
+
502
+ <b>argsForCall</b>
503
+
504
+ </div>
505
+ <div class="description">
506
+ Holds arguments for each call to the spy, indexed by call count
507
+
508
+
509
+ </div>
510
+
511
+
512
+
513
+ <pre class="code">var mySpy = jasmine.createSpy('foo');
514
+ mySpy(1, 2);
515
+ mySpy(7, 8);
516
+ mySpy.mostRecentCall.args = [7, 8];
517
+ mySpy.argsForCall[0] = [1, 2];
518
+ mySpy.argsForCall[1] = [7, 8];</pre>
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+ <hr />
528
+
529
+ <a name="identity"> </a>
530
+ <div class="fixedFont">
531
+
532
+
533
+ <b>identity</b>
534
+
535
+ </div>
536
+ <div class="description">
537
+ The name of the spy, if provided.
538
+
539
+
540
+ </div>
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+ <hr />
550
+
551
+ <a name="isSpy"> </a>
552
+ <div class="fixedFont">
553
+
554
+
555
+ <b>isSpy</b>
556
+
557
+ </div>
558
+ <div class="description">
559
+ Is this Object a spy?
560
+
561
+
562
+ </div>
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+ <hr />
572
+
573
+ <a name="mostRecentCall"> </a>
574
+ <div class="fixedFont">
575
+
576
+
577
+ <b>mostRecentCall</b>
578
+
579
+ </div>
580
+ <div class="description">
581
+ Tracking of the most recent call to the spy.
582
+
583
+
584
+ </div>
585
+
586
+
587
+
588
+ <pre class="code">var mySpy = jasmine.createSpy('foo');
589
+ mySpy(1, 2);
590
+ mySpy.mostRecentCall.args = [1, 2];</pre>
591
+
592
+
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+ <!-- ============================== method details ========================= -->
604
+
605
+ <div class="sectionTitle">
606
+ Method Detail
607
+ </div>
608
+
609
+ <a name="andCallFake"> </a>
610
+ <div class="fixedFont">
611
+
612
+
613
+ <b>andCallFake</b>(fakeFunc)
614
+
615
+ </div>
616
+ <div class="description">
617
+ Calls an alternate implementation when a spy is called.
618
+
619
+
620
+ </div>
621
+
622
+
623
+
624
+ <pre class="code">var baz = function() {
625
+ // do some stuff, return something
626
+ }
627
+ // defining a spy from scratch: foo() calls the function baz
628
+ var foo = jasmine.createSpy('spy on foo').andCall(baz);
629
+
630
+ // defining a spy on an existing property: foo.bar() calls an anonymnous function
631
+ spyOn(foo, 'bar').andCall(function() { return 'baz';} );</pre>
632
+
633
+
634
+
635
+
636
+ <dl class="detailList">
637
+ <dt class="heading">Parameters:</dt>
638
+
639
+ <dt>
640
+ <span class="light fixedFont">{Function}</span> <b>fakeFunc</b>
641
+
642
+ </dt>
643
+ <dd></dd>
644
+
645
+ </dl>
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+ <hr />
655
+
656
+ <a name="andCallThrough"> </a>
657
+ <div class="fixedFont">
658
+
659
+
660
+ <b>andCallThrough</b>()
661
+
662
+ </div>
663
+ <div class="description">
664
+ Tells a spy to call through to the actual implemenatation.
665
+
666
+
667
+ </div>
668
+
669
+
670
+
671
+ <pre class="code">var foo = {
672
+ bar: function() { // do some stuff }
673
+ }
674
+
675
+ // defining a spy on an existing property: foo.bar
676
+ spyOn(foo, 'bar').andCallThrough();</pre>
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+
687
+
688
+ <hr />
689
+
690
+ <a name="andReturn"> </a>
691
+ <div class="fixedFont">
692
+
693
+
694
+ <b>andReturn</b>(value)
695
+
696
+ </div>
697
+ <div class="description">
698
+ For setting the return value of a spy.
699
+
700
+
701
+ </div>
702
+
703
+
704
+
705
+ <pre class="code">// defining a spy from scratch: foo() returns 'baz'
706
+ var foo = jasmine.createSpy('spy on foo').andReturn('baz');
707
+
708
+ // defining a spy on an existing property: foo.bar() returns 'baz'
709
+ spyOn(foo, 'bar').andReturn('baz');</pre>
710
+
711
+
712
+
713
+
714
+ <dl class="detailList">
715
+ <dt class="heading">Parameters:</dt>
716
+
717
+ <dt>
718
+ <span class="light fixedFont">{Object}</span> <b>value</b>
719
+
720
+ </dt>
721
+ <dd></dd>
722
+
723
+ </dl>
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+ <hr />
733
+
734
+ <a name="andThrow"> </a>
735
+ <div class="fixedFont">
736
+
737
+
738
+ <b>andThrow</b>(exceptionMsg)
739
+
740
+ </div>
741
+ <div class="description">
742
+ For throwing an exception when a spy is called.
743
+
744
+
745
+ </div>
746
+
747
+
748
+
749
+ <pre class="code">// defining a spy from scratch: foo() throws an exception w/ message 'ouch'
750
+ var foo = jasmine.createSpy('spy on foo').andThrow('baz');
751
+
752
+ // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch'
753
+ spyOn(foo, 'bar').andThrow('baz');</pre>
754
+
755
+
756
+
757
+
758
+ <dl class="detailList">
759
+ <dt class="heading">Parameters:</dt>
760
+
761
+ <dt>
762
+ <span class="light fixedFont">{String}</span> <b>exceptionMsg</b>
763
+
764
+ </dt>
765
+ <dd></dd>
766
+
767
+ </dl>
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+
776
+ <hr />
777
+
778
+ <a name="plan"> </a>
779
+ <div class="fixedFont">
780
+
781
+
782
+ <b>plan</b>()
783
+
784
+ </div>
785
+ <div class="description">
786
+ The actual function this spy stubs.
787
+
788
+
789
+ </div>
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+ <hr />
802
+
803
+ <a name="reset"> </a>
804
+ <div class="fixedFont">
805
+
806
+
807
+ <b>reset</b>()
808
+
809
+ </div>
810
+ <div class="description">
811
+ Resets all of a spy's the tracking variables so that it can be used again.
812
+
813
+
814
+ </div>
815
+
816
+
817
+
818
+ <pre class="code">spyOn(foo, 'bar');
819
+
820
+ foo.bar();
821
+
822
+ expect(foo.bar.callCount).toEqual(1);
823
+
824
+ foo.bar.reset();
825
+
826
+ expect(foo.bar.callCount).toEqual(0);</pre>
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+ <!-- ============================== event details ========================= -->
843
+
844
+
845
+ <hr />
846
+ </div>
847
+
848
+
849
+ <!-- ============================== footer ================================= -->
850
+ <div class="fineprint" style="clear:both">
851
+
852
+ Documentation generated by <a href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a> 2.1.0 on Fri Dec 25 2009 14:19:05 GMT-0500 (EST)
853
+ </div>
854
+ </body>
855
+ </html>