jasmine-core 3.6.0 → 3.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f216c9ede11495c789c3403db642a8ff9fc5aee6d25ad22356d80acbc528059
4
- data.tar.gz: 9e2cc50ac86cfd8672e138165552c36d3a31d237639b3f8b069bcd0d8321b133
3
+ metadata.gz: e0633e3d3e468f779220b229062eae61754bc886788981cadb4ac571ca61f09e
4
+ data.tar.gz: c738ae0489e9b35212f228b0c81674ef19544338b39ca0fa86f09977d04c61ea
5
5
  SHA512:
6
- metadata.gz: fe9be17fe38e5345998145c7ce83527a847f16a2710b163ab4231d3f6fc7ce092cb41e25375905391484f1357b8b4e00e7cbc3a2ae3cbefeaa841ca1bcfab57d
7
- data.tar.gz: ea5cf016d142717bdf613ea3b66597ee2a7fbc28965427ee3257abc40ba1901ef23af788d681e0eaf208ec0ff7210c19c888571515ed1b8f5f06834ed8151539
6
+ metadata.gz: ce627b117c79117d1c83b17411291022310e5d15eeec55a99eb90663397a21657d64361c7a8384bf6a3909c7bef5961d25344f0d66467be1fa267ad74aa1421e
7
+ data.tar.gz: 492b3ce3d974d9ce732fbf799e2b6c8eee5c98466b5c9656d910e6df5f4ad2a225b206a9d14b400abc8749a6ebaffaf6f4f77b80d9df9e96f211bf1b14bfb6e3
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright (c) 2008-2020 Pivotal Labs
2
+ Copyright (c) 2008-2021 Pivotal Labs
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining
5
5
  a copy of this software and associated documentation files (the
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright (c) 2008-2020 Pivotal Labs
2
+ Copyright (c) 2008-2021 Pivotal Labs
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining
5
5
  a copy of this software and associated documentation files (the
@@ -132,7 +132,7 @@ jasmineRequire.HtmlReporter = function(j$) {
132
132
  if (result.status === 'failed') {
133
133
  failures.push(failureDom(result));
134
134
  }
135
- addDeprecationWarnings(result);
135
+ addDeprecationWarnings(result, 'suite');
136
136
  };
137
137
 
138
138
  this.specStarted = function(result) {
@@ -168,7 +168,7 @@ jasmineRequire.HtmlReporter = function(j$) {
168
168
  failures.push(failureDom(result));
169
169
  }
170
170
 
171
- addDeprecationWarnings(result);
171
+ addDeprecationWarnings(result, 'spec');
172
172
  };
173
173
 
174
174
  this.displaySpecInCorrectFormat = function(result) {
@@ -307,14 +307,27 @@ jasmineRequire.HtmlReporter = function(j$) {
307
307
 
308
308
  addDeprecationWarnings(doneResult);
309
309
 
310
- var warningBarClassName = 'jasmine-bar jasmine-warning';
311
310
  for (i = 0; i < deprecationWarnings.length; i++) {
312
- var warning = deprecationWarnings[i];
311
+ var context;
312
+
313
+ switch (deprecationWarnings[i].runnableType) {
314
+ case 'spec':
315
+ context = '(in spec: ' + deprecationWarnings[i].runnableName + ')';
316
+ break;
317
+ case 'suite':
318
+ context = '(in suite: ' + deprecationWarnings[i].runnableName + ')';
319
+ break;
320
+ default:
321
+ context = '';
322
+ }
323
+
313
324
  alert.appendChild(
314
325
  createDom(
315
326
  'span',
316
- { className: warningBarClassName },
317
- 'DEPRECATION: ' + warning
327
+ { className: 'jasmine-bar jasmine-warning' },
328
+ 'DEPRECATION: ' + deprecationWarnings[i].message,
329
+ createDom('br'),
330
+ context
318
331
  )
319
332
  );
320
333
  }
@@ -625,12 +638,16 @@ jasmineRequire.HtmlReporter = function(j$) {
625
638
  return addToExistingQueryString('spec', els.join(' '));
626
639
  }
627
640
 
628
- function addDeprecationWarnings(result) {
641
+ function addDeprecationWarnings(result, runnableType) {
629
642
  if (result && result.deprecationWarnings) {
630
643
  for (var i = 0; i < result.deprecationWarnings.length; i++) {
631
644
  var warning = result.deprecationWarnings[i].message;
632
645
  if (!j$.util.arrayContains(warning)) {
633
- deprecationWarnings.push(warning);
646
+ deprecationWarnings.push({
647
+ message: warning,
648
+ runnableName: result.fullName,
649
+ runnableType: runnableType
650
+ });
634
651
  }
635
652
  }
636
653
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright (c) 2008-2020 Pivotal Labs
2
+ Copyright (c) 2008-2021 Pivotal Labs
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining
5
5
  a copy of this software and associated documentation files (the
@@ -244,6 +244,10 @@ getJasmineRequireObj().base = function(j$, jasmineGlobal) {
244
244
  return j$.isA_('AsyncFunction', value);
245
245
  };
246
246
 
247
+ j$.isGeneratorFunction_ = function(value) {
248
+ return j$.isA_('GeneratorFunction', value);
249
+ };
250
+
247
251
  j$.isTypedArray_ = function(value) {
248
252
  return (
249
253
  j$.isA_('Float32Array', value) ||
@@ -325,6 +329,15 @@ getJasmineRequireObj().base = function(j$, jasmineGlobal) {
325
329
  );
326
330
  };
327
331
 
332
+ j$.isURL = function(obj) {
333
+ return (
334
+ obj !== null &&
335
+ typeof obj !== 'undefined' &&
336
+ typeof jasmineGlobal.URL !== 'undefined' &&
337
+ obj.constructor === jasmineGlobal.URL
338
+ );
339
+ };
340
+
328
341
  j$.isDataView = function(obj) {
329
342
  return (
330
343
  obj !== null &&
@@ -499,6 +512,14 @@ getJasmineRequireObj().base = function(j$, jasmineGlobal) {
499
512
  return new j$.SetContaining(sample);
500
513
  };
501
514
 
515
+ /**
516
+ * Determines whether the provided function is a Jasmine spy.
517
+ * @name jasmine.isSpy
518
+ * @since 2.0.0
519
+ * @function
520
+ * @param {Function} putativeSpy - The function to check.
521
+ * @return {Boolean}
522
+ */
502
523
  j$.isSpy = function(putativeSpy) {
503
524
  if (!putativeSpy) {
504
525
  return false;
@@ -519,16 +540,6 @@ getJasmineRequireObj().util = function(j$) {
519
540
  childClass.prototype = new Subclass();
520
541
  };
521
542
 
522
- util.htmlEscape = function(str) {
523
- if (!str) {
524
- return str;
525
- }
526
- return str
527
- .replace(/&/g, '&amp;')
528
- .replace(/</g, '&lt;')
529
- .replace(/>/g, '&gt;');
530
- };
531
-
532
543
  util.argsToArray = function(args) {
533
544
  var arrayOfArgs = [];
534
545
  for (var i = 0; i < args.length; i++) {
@@ -1376,6 +1387,9 @@ getJasmineRequireObj().Env = function(j$) {
1376
1387
  resources.customAsyncMatchers = j$.util.clone(
1377
1388
  runnableResources[parentRunnableId].customAsyncMatchers
1378
1389
  );
1390
+ resources.customObjectFormatters = j$.util.clone(
1391
+ runnableResources[parentRunnableId].customObjectFormatters
1392
+ );
1379
1393
  resources.defaultStrategyFn =
1380
1394
  runnableResources[parentRunnableId].defaultStrategyFn;
1381
1395
  }
@@ -1533,12 +1547,22 @@ getJasmineRequireObj().Env = function(j$) {
1533
1547
 
1534
1548
  this.deprecated = function(deprecation) {
1535
1549
  var runnable = currentRunnable() || topSuite;
1550
+ var context;
1551
+
1552
+ if (runnable === topSuite) {
1553
+ context = '';
1554
+ } else if (runnable === currentSuite()) {
1555
+ context = ' (in suite: ' + runnable.getFullName() + ')';
1556
+ } else {
1557
+ context = ' (in spec: ' + runnable.getFullName() + ')';
1558
+ }
1559
+
1536
1560
  runnable.addDeprecationWarning(deprecation);
1537
1561
  if (
1538
1562
  typeof console !== 'undefined' &&
1539
1563
  typeof console.error === 'function'
1540
1564
  ) {
1541
- console.error('DEPRECATION:', deprecation);
1565
+ console.error('DEPRECATION: ' + deprecation + context);
1542
1566
  }
1543
1567
  };
1544
1568
 
@@ -1657,7 +1681,8 @@ getJasmineRequireObj().Env = function(j$) {
1657
1681
  queueRunnerFactory
1658
1682
  );
1659
1683
 
1660
- this.execute = function(runnablesToRun) {
1684
+ // Both params are optional.
1685
+ this.execute = function(runnablesToRun, onComplete) {
1661
1686
  installGlobalErrors();
1662
1687
 
1663
1688
  if (!runnablesToRun) {
@@ -1765,7 +1790,11 @@ getJasmineRequireObj().Env = function(j$) {
1765
1790
  failedExpectations: topSuite.result.failedExpectations,
1766
1791
  deprecationWarnings: topSuite.result.deprecationWarnings
1767
1792
  },
1768
- function() {}
1793
+ function() {
1794
+ if (onComplete) {
1795
+ onComplete();
1796
+ }
1797
+ }
1769
1798
  );
1770
1799
  });
1771
1800
  }
@@ -2350,12 +2379,11 @@ getJasmineRequireObj().JsApiReporter = function(j$) {
2350
2379
  };
2351
2380
 
2352
2381
  getJasmineRequireObj().Any = function(j$) {
2353
-
2354
2382
  function Any(expectedObject) {
2355
2383
  if (typeof expectedObject === 'undefined') {
2356
2384
  throw new TypeError(
2357
2385
  'jasmine.any() expects to be passed a constructor function. ' +
2358
- 'Please pass one or use jasmine.anything() to match any object.'
2386
+ 'Please pass one or use jasmine.anything() to match any object.'
2359
2387
  );
2360
2388
  }
2361
2389
  this.expectedObject = expectedObject;
@@ -2400,7 +2428,6 @@ getJasmineRequireObj().Any = function(j$) {
2400
2428
  };
2401
2429
 
2402
2430
  getJasmineRequireObj().Anything = function(j$) {
2403
-
2404
2431
  function Anything() {}
2405
2432
 
2406
2433
  Anything.prototype.asymmetricMatch = function(other) {
@@ -2421,7 +2448,11 @@ getJasmineRequireObj().ArrayContaining = function(j$) {
2421
2448
 
2422
2449
  ArrayContaining.prototype.asymmetricMatch = function(other, matchersUtil) {
2423
2450
  if (!j$.isArray_(this.sample)) {
2424
- throw new Error('You must provide an array to arrayContaining, not ' + j$.pp(this.sample) + '.');
2451
+ throw new Error(
2452
+ 'You must provide an array to arrayContaining, not ' +
2453
+ j$.pp(this.sample) +
2454
+ '.'
2455
+ );
2425
2456
  }
2426
2457
 
2427
2458
  // If the actual parameter is not an array, we can fail immediately, since it couldn't
@@ -2441,22 +2472,28 @@ getJasmineRequireObj().ArrayContaining = function(j$) {
2441
2472
  return true;
2442
2473
  };
2443
2474
 
2444
- ArrayContaining.prototype.jasmineToString = function (pp) {
2445
- return '<jasmine.arrayContaining(' + pp(this.sample) +')>';
2475
+ ArrayContaining.prototype.jasmineToString = function(pp) {
2476
+ return '<jasmine.arrayContaining(' + pp(this.sample) + ')>';
2446
2477
  };
2447
2478
 
2448
2479
  return ArrayContaining;
2449
2480
  };
2450
2481
 
2451
2482
  getJasmineRequireObj().ArrayWithExactContents = function(j$) {
2452
-
2453
2483
  function ArrayWithExactContents(sample) {
2454
2484
  this.sample = sample;
2455
2485
  }
2456
2486
 
2457
- ArrayWithExactContents.prototype.asymmetricMatch = function(other, matchersUtil) {
2487
+ ArrayWithExactContents.prototype.asymmetricMatch = function(
2488
+ other,
2489
+ matchersUtil
2490
+ ) {
2458
2491
  if (!j$.isArray_(this.sample)) {
2459
- throw new Error('You must provide an array to arrayWithExactContents, not ' + j$.pp(this.sample) + '.');
2492
+ throw new Error(
2493
+ 'You must provide an array to arrayWithExactContents, not ' +
2494
+ j$.pp(this.sample) +
2495
+ '.'
2496
+ );
2460
2497
  }
2461
2498
 
2462
2499
  if (this.sample.length !== other.length) {
@@ -2480,11 +2517,10 @@ getJasmineRequireObj().ArrayWithExactContents = function(j$) {
2480
2517
  return ArrayWithExactContents;
2481
2518
  };
2482
2519
 
2483
- getJasmineRequireObj().Empty = function (j$) {
2484
-
2520
+ getJasmineRequireObj().Empty = function(j$) {
2485
2521
  function Empty() {}
2486
2522
 
2487
- Empty.prototype.asymmetricMatch = function (other) {
2523
+ Empty.prototype.asymmetricMatch = function(other) {
2488
2524
  if (j$.isString_(other) || j$.isArray_(other) || j$.isTypedArray_(other)) {
2489
2525
  return other.length === 0;
2490
2526
  }
@@ -2499,7 +2535,7 @@ getJasmineRequireObj().Empty = function (j$) {
2499
2535
  return false;
2500
2536
  };
2501
2537
 
2502
- Empty.prototype.jasmineToString = function () {
2538
+ Empty.prototype.jasmineToString = function() {
2503
2539
  return '<jasmine.empty>';
2504
2540
  };
2505
2541
 
@@ -2507,7 +2543,6 @@ getJasmineRequireObj().Empty = function (j$) {
2507
2543
  };
2508
2544
 
2509
2545
  getJasmineRequireObj().Falsy = function(j$) {
2510
-
2511
2546
  function Falsy() {}
2512
2547
 
2513
2548
  Falsy.prototype.asymmetricMatch = function(other) {
@@ -2524,7 +2559,9 @@ getJasmineRequireObj().Falsy = function(j$) {
2524
2559
  getJasmineRequireObj().MapContaining = function(j$) {
2525
2560
  function MapContaining(sample) {
2526
2561
  if (!j$.isMap(sample)) {
2527
- throw new Error('You must provide a map to `mapContaining`, not ' + j$.pp(sample));
2562
+ throw new Error(
2563
+ 'You must provide a map to `mapContaining`, not ' + j$.pp(sample)
2564
+ );
2528
2565
  }
2529
2566
 
2530
2567
  this.sample = sample;
@@ -2540,8 +2577,8 @@ getJasmineRequireObj().MapContaining = function(j$) {
2540
2577
  var hasMatch = false;
2541
2578
  j$.util.forEachBreakable(other, function(oBreakLoop, oValue, oKey) {
2542
2579
  if (
2543
- matchersUtil.equals(oKey, key)
2544
- && matchersUtil.equals(oValue, value)
2580
+ matchersUtil.equals(oKey, key) &&
2581
+ matchersUtil.equals(oValue, value)
2545
2582
  ) {
2546
2583
  hasMatch = true;
2547
2584
  oBreakLoop();
@@ -2563,11 +2600,10 @@ getJasmineRequireObj().MapContaining = function(j$) {
2563
2600
  return MapContaining;
2564
2601
  };
2565
2602
 
2566
- getJasmineRequireObj().NotEmpty = function (j$) {
2567
-
2603
+ getJasmineRequireObj().NotEmpty = function(j$) {
2568
2604
  function NotEmpty() {}
2569
2605
 
2570
- NotEmpty.prototype.asymmetricMatch = function (other) {
2606
+ NotEmpty.prototype.asymmetricMatch = function(other) {
2571
2607
  if (j$.isString_(other) || j$.isArray_(other) || j$.isTypedArray_(other)) {
2572
2608
  return other.length !== 0;
2573
2609
  }
@@ -2583,7 +2619,7 @@ getJasmineRequireObj().NotEmpty = function (j$) {
2583
2619
  return false;
2584
2620
  };
2585
2621
 
2586
- NotEmpty.prototype.jasmineToString = function () {
2622
+ NotEmpty.prototype.jasmineToString = function() {
2587
2623
  return '<jasmine.notEmpty>';
2588
2624
  };
2589
2625
 
@@ -2591,7 +2627,6 @@ getJasmineRequireObj().NotEmpty = function (j$) {
2591
2627
  };
2592
2628
 
2593
2629
  getJasmineRequireObj().ObjectContaining = function(j$) {
2594
-
2595
2630
  function ObjectContaining(sample) {
2596
2631
  this.sample = sample;
2597
2632
  }
@@ -2609,7 +2644,7 @@ getJasmineRequireObj().ObjectContaining = function(j$) {
2609
2644
  }
2610
2645
 
2611
2646
  function hasProperty(obj, property) {
2612
- if (!obj || typeof(obj) !== 'object') {
2647
+ if (!obj || typeof obj !== 'object') {
2613
2648
  return false;
2614
2649
  }
2615
2650
 
@@ -2621,12 +2656,22 @@ getJasmineRequireObj().ObjectContaining = function(j$) {
2621
2656
  }
2622
2657
 
2623
2658
  ObjectContaining.prototype.asymmetricMatch = function(other, matchersUtil) {
2624
- if (typeof(this.sample) !== 'object') { throw new Error('You must provide an object to objectContaining, not \''+this.sample+'\'.'); }
2625
- if (typeof(other) !== 'object') { return false; }
2659
+ if (typeof this.sample !== 'object') {
2660
+ throw new Error(
2661
+ "You must provide an object to objectContaining, not '" +
2662
+ this.sample +
2663
+ "'."
2664
+ );
2665
+ }
2666
+ if (typeof other !== 'object') {
2667
+ return false;
2668
+ }
2626
2669
 
2627
2670
  for (var property in this.sample) {
2628
- if (!hasProperty(other, property) ||
2629
- !matchersUtil.equals(this.sample[property], other[property])) {
2671
+ if (
2672
+ !hasProperty(other, property) ||
2673
+ !matchersUtil.equals(this.sample[property], other[property])
2674
+ ) {
2630
2675
  return false;
2631
2676
  }
2632
2677
  }
@@ -2643,7 +2688,7 @@ getJasmineRequireObj().ObjectContaining = function(j$) {
2643
2688
  }
2644
2689
 
2645
2690
  var filteredOther = {};
2646
- Object.keys(this.sample).forEach(function (k) {
2691
+ Object.keys(this.sample).forEach(function(k) {
2647
2692
  // eq short-circuits comparison of objects that have different key sets,
2648
2693
  // so include all keys even if undefined.
2649
2694
  filteredOther[k] = other[k];
@@ -2665,7 +2710,9 @@ getJasmineRequireObj().ObjectContaining = function(j$) {
2665
2710
  getJasmineRequireObj().SetContaining = function(j$) {
2666
2711
  function SetContaining(sample) {
2667
2712
  if (!j$.isSet(sample)) {
2668
- throw new Error('You must provide a set to `setContaining`, not ' + j$.pp(sample));
2713
+ throw new Error(
2714
+ 'You must provide a set to `setContaining`, not ' + j$.pp(sample)
2715
+ );
2669
2716
  }
2670
2717
 
2671
2718
  this.sample = sample;
@@ -2703,7 +2750,6 @@ getJasmineRequireObj().SetContaining = function(j$) {
2703
2750
  };
2704
2751
 
2705
2752
  getJasmineRequireObj().StringMatching = function(j$) {
2706
-
2707
2753
  function StringMatching(expected) {
2708
2754
  if (!j$.isString_(expected) && !j$.isA_('RegExp', expected)) {
2709
2755
  throw new Error('Expected is not a String or a RegExp');
@@ -2724,7 +2770,6 @@ getJasmineRequireObj().StringMatching = function(j$) {
2724
2770
  };
2725
2771
 
2726
2772
  getJasmineRequireObj().Truthy = function(j$) {
2727
-
2728
2773
  function Truthy() {}
2729
2774
 
2730
2775
  Truthy.prototype.asymmetricMatch = function(other) {
@@ -2806,7 +2851,9 @@ getJasmineRequireObj().asymmetricEqualityTesterArgCompatShim = function(j$) {
2806
2851
 
2807
2852
  for (i = 0; i < props.length; i++) {
2808
2853
  k = props[i];
2809
- if (k !== 'length') {
2854
+ // Skip length (dealt with above), and anything that collides with
2855
+ // MatchesUtil e.g. an Array.prototype.contains method added by user code
2856
+ if (k !== 'length' && !self[k]) {
2810
2857
  copy(self, Array.prototype, k);
2811
2858
  }
2812
2859
  }
@@ -3522,7 +3569,7 @@ getJasmineRequireObj().ExceptionFormatter = function(j$) {
3522
3569
  stackTrace.style === 'webkit' ? '<Jasmine>' : ' at <Jasmine>';
3523
3570
 
3524
3571
  stackTrace.frames.forEach(function(frame) {
3525
- if (frame.file && frame.file !== jasmineFile) {
3572
+ if (frame.file !== jasmineFile) {
3526
3573
  result.push(frame.raw);
3527
3574
  } else if (result[result.length - 1] !== jasmineMarker) {
3528
3575
  result.push(jasmineMarker);
@@ -4077,9 +4124,9 @@ getJasmineRequireObj().GlobalErrors = function(j$) {
4077
4124
  if (j$.isError_(event.reason)) {
4078
4125
  event.reason.jasmineMessage =
4079
4126
  'Unhandled promise rejection: ' + event.reason;
4080
- onerror(event.reason);
4127
+ global.onerror(event.reason);
4081
4128
  } else {
4082
- onerror('Unhandled promise rejection: ' + event.reason);
4129
+ global.onerror('Unhandled promise rejection: ' + event.reason);
4083
4130
  }
4084
4131
  };
4085
4132
 
@@ -4106,7 +4153,11 @@ getJasmineRequireObj().GlobalErrors = function(j$) {
4106
4153
  handlers.push(listener);
4107
4154
  };
4108
4155
 
4109
- this.popListener = function popListener() {
4156
+ this.popListener = function popListener(listener) {
4157
+ if (!listener) {
4158
+ throw new Error('popListener expects a listener');
4159
+ }
4160
+
4110
4161
  handlers.pop();
4111
4162
  };
4112
4163
  }
@@ -4117,7 +4168,7 @@ getJasmineRequireObj().GlobalErrors = function(j$) {
4117
4168
  /* eslint-disable compat/compat */
4118
4169
  getJasmineRequireObj().toBePending = function(j$) {
4119
4170
  /**
4120
- * Expect a promise to be pending, ie. the promise is neither resolved nor rejected.
4171
+ * Expect a promise to be pending, i.e. the promise is neither resolved nor rejected.
4121
4172
  * @function
4122
4173
  * @async
4123
4174
  * @name async-matchers#toBePending
@@ -4133,8 +4184,12 @@ getJasmineRequireObj().toBePending = function(j$) {
4133
4184
  }
4134
4185
  var want = {};
4135
4186
  return Promise.race([actual, Promise.resolve(want)]).then(
4136
- function(got) { return {pass: want === got}; },
4137
- function() { return {pass: false}; }
4187
+ function(got) {
4188
+ return { pass: want === got };
4189
+ },
4190
+ function() {
4191
+ return { pass: false };
4192
+ }
4138
4193
  );
4139
4194
  }
4140
4195
  };
@@ -4160,8 +4215,12 @@ getJasmineRequireObj().toBeRejected = function(j$) {
4160
4215
  throw new Error('Expected toBeRejected to be called on a promise.');
4161
4216
  }
4162
4217
  return actual.then(
4163
- function() { return {pass: false}; },
4164
- function() { return {pass: true}; }
4218
+ function() {
4219
+ return { pass: false };
4220
+ },
4221
+ function() {
4222
+ return { pass: true };
4223
+ }
4165
4224
  );
4166
4225
  }
4167
4226
  };
@@ -4185,35 +4244,44 @@ getJasmineRequireObj().toBeRejectedWith = function(j$) {
4185
4244
  return {
4186
4245
  compare: function(actualPromise, expectedValue) {
4187
4246
  if (!j$.isPromiseLike(actualPromise)) {
4188
- throw new Error('Expected toBeRejectedWith to be called on a promise.');
4247
+ throw new Error(
4248
+ 'Expected toBeRejectedWith to be called on a promise.'
4249
+ );
4189
4250
  }
4190
4251
 
4191
4252
  function prefix(passed) {
4192
- return 'Expected a promise ' +
4253
+ return (
4254
+ 'Expected a promise ' +
4193
4255
  (passed ? 'not ' : '') +
4194
- 'to be rejected with ' + matchersUtil.pp(expectedValue);
4256
+ 'to be rejected with ' +
4257
+ matchersUtil.pp(expectedValue)
4258
+ );
4195
4259
  }
4196
4260
 
4197
4261
  return actualPromise.then(
4198
4262
  function() {
4199
- return {
4200
- pass: false,
4201
- message: prefix(false) + ' but it was resolved.'
4202
- };
4203
- },
4204
- function(actualValue) {
4205
- if (matchersUtil.equals(actualValue, expectedValue)) {
4206
- return {
4207
- pass: true,
4208
- message: prefix(true) + '.'
4209
- };
4210
- } else {
4211
4263
  return {
4212
4264
  pass: false,
4213
- message: prefix(false) + ' but it was rejected with ' + matchersUtil.pp(actualValue) + '.'
4265
+ message: prefix(false) + ' but it was resolved.'
4214
4266
  };
4267
+ },
4268
+ function(actualValue) {
4269
+ if (matchersUtil.equals(actualValue, expectedValue)) {
4270
+ return {
4271
+ pass: true,
4272
+ message: prefix(true) + '.'
4273
+ };
4274
+ } else {
4275
+ return {
4276
+ pass: false,
4277
+ message:
4278
+ prefix(false) +
4279
+ ' but it was rejected with ' +
4280
+ matchersUtil.pp(actualValue) +
4281
+ '.'
4282
+ };
4283
+ }
4215
4284
  }
4216
- }
4217
4285
  );
4218
4286
  }
4219
4287
  };
@@ -4240,7 +4308,9 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) {
4240
4308
  return {
4241
4309
  compare: function(actualPromise, arg1, arg2) {
4242
4310
  if (!j$.isPromiseLike(actualPromise)) {
4243
- throw new Error('Expected toBeRejectedWithError to be called on a promise.');
4311
+ throw new Error(
4312
+ 'Expected toBeRejectedWithError to be called on a promise.'
4313
+ );
4244
4314
  }
4245
4315
 
4246
4316
  var expected = getExpectedFromArgs(arg1, arg2, matchersUtil);
@@ -4252,7 +4322,9 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) {
4252
4322
  message: 'Expected a promise to be rejected but it was resolved.'
4253
4323
  };
4254
4324
  },
4255
- function(actualValue) { return matchError(actualValue, expected, matchersUtil); }
4325
+ function(actualValue) {
4326
+ return matchError(actualValue, expected, matchersUtil);
4327
+ }
4256
4328
  );
4257
4329
  }
4258
4330
  };
@@ -4264,16 +4336,25 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) {
4264
4336
  }
4265
4337
 
4266
4338
  if (!(actual instanceof expected.error)) {
4267
- return fail(expected, 'rejected with type ' + j$.fnNameFor(actual.constructor));
4339
+ return fail(
4340
+ expected,
4341
+ 'rejected with type ' + j$.fnNameFor(actual.constructor)
4342
+ );
4268
4343
  }
4269
4344
 
4270
4345
  var actualMessage = actual.message;
4271
4346
 
4272
- if (actualMessage === expected.message || typeof expected.message === 'undefined') {
4347
+ if (
4348
+ actualMessage === expected.message ||
4349
+ typeof expected.message === 'undefined'
4350
+ ) {
4273
4351
  return pass(expected);
4274
4352
  }
4275
4353
 
4276
- if (expected.message instanceof RegExp && expected.message.test(actualMessage)) {
4354
+ if (
4355
+ expected.message instanceof RegExp &&
4356
+ expected.message.test(actualMessage)
4357
+ ) {
4277
4358
  return pass(expected);
4278
4359
  }
4279
4360
 
@@ -4283,18 +4364,25 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) {
4283
4364
  function pass(expected) {
4284
4365
  return {
4285
4366
  pass: true,
4286
- message: 'Expected a promise not to be rejected with ' + expected.printValue + ', but it was.'
4367
+ message:
4368
+ 'Expected a promise not to be rejected with ' +
4369
+ expected.printValue +
4370
+ ', but it was.'
4287
4371
  };
4288
4372
  }
4289
4373
 
4290
4374
  function fail(expected, message) {
4291
4375
  return {
4292
4376
  pass: false,
4293
- message: 'Expected a promise to be rejected with ' + expected.printValue + ' but it was ' + message + '.'
4377
+ message:
4378
+ 'Expected a promise to be rejected with ' +
4379
+ expected.printValue +
4380
+ ' but it was ' +
4381
+ message +
4382
+ '.'
4294
4383
  };
4295
4384
  }
4296
4385
 
4297
-
4298
4386
  function getExpectedFromArgs(arg1, arg2, matchersUtil) {
4299
4387
  var error, message;
4300
4388
 
@@ -4309,12 +4397,17 @@ getJasmineRequireObj().toBeRejectedWithError = function(j$) {
4309
4397
  return {
4310
4398
  error: error,
4311
4399
  message: message,
4312
- printValue: j$.fnNameFor(error) + (typeof message === 'undefined' ? '' : ': ' + matchersUtil.pp(message))
4400
+ printValue:
4401
+ j$.fnNameFor(error) +
4402
+ (typeof message === 'undefined' ? '' : ': ' + matchersUtil.pp(message))
4313
4403
  };
4314
4404
  }
4315
4405
 
4316
4406
  function isErrorConstructor(value) {
4317
- return typeof value === 'function' && (value === Error || j$.isError_(value.prototype));
4407
+ return (
4408
+ typeof value === 'function' &&
4409
+ (value === Error || j$.isError_(value.prototype))
4410
+ );
4318
4411
  }
4319
4412
  };
4320
4413
 
@@ -4338,8 +4431,12 @@ getJasmineRequireObj().toBeResolved = function(j$) {
4338
4431
  }
4339
4432
 
4340
4433
  return actual.then(
4341
- function() { return {pass: true}; },
4342
- function() { return {pass: false}; }
4434
+ function() {
4435
+ return { pass: true };
4436
+ },
4437
+ function() {
4438
+ return { pass: false };
4439
+ }
4343
4440
  );
4344
4441
  }
4345
4442
  };
@@ -4367,9 +4464,12 @@ getJasmineRequireObj().toBeResolvedTo = function(j$) {
4367
4464
  }
4368
4465
 
4369
4466
  function prefix(passed) {
4370
- return 'Expected a promise ' +
4467
+ return (
4468
+ 'Expected a promise ' +
4371
4469
  (passed ? 'not ' : '') +
4372
- 'to be resolved to ' + matchersUtil.pp(expectedValue);
4470
+ 'to be resolved to ' +
4471
+ matchersUtil.pp(expectedValue)
4472
+ );
4373
4473
  }
4374
4474
 
4375
4475
  return actualPromise.then(
@@ -4382,7 +4482,11 @@ getJasmineRequireObj().toBeResolvedTo = function(j$) {
4382
4482
  } else {
4383
4483
  return {
4384
4484
  pass: false,
4385
- message: prefix(false) + ' but it was resolved to ' + matchersUtil.pp(actualValue) + '.'
4485
+ message:
4486
+ prefix(false) +
4487
+ ' but it was resolved to ' +
4488
+ matchersUtil.pp(actualValue) +
4489
+ '.'
4386
4490
  };
4387
4491
  }
4388
4492
  },
@@ -4398,7 +4502,7 @@ getJasmineRequireObj().toBeResolvedTo = function(j$) {
4398
4502
  };
4399
4503
  };
4400
4504
 
4401
- getJasmineRequireObj().DiffBuilder = function (j$) {
4505
+ getJasmineRequireObj().DiffBuilder = function(j$) {
4402
4506
  return function DiffBuilder(config) {
4403
4507
  var prettyPrinter = (config || {}).prettyPrinter || j$.makePrettyPrinter(),
4404
4508
  mismatches = new j$.MismatchTree(),
@@ -4407,21 +4511,28 @@ getJasmineRequireObj().DiffBuilder = function (j$) {
4407
4511
  expectedRoot = undefined;
4408
4512
 
4409
4513
  return {
4410
- setRoots: function (actual, expected) {
4514
+ setRoots: function(actual, expected) {
4411
4515
  actualRoot = actual;
4412
4516
  expectedRoot = expected;
4413
4517
  },
4414
4518
 
4415
- recordMismatch: function (formatter) {
4519
+ recordMismatch: function(formatter) {
4416
4520
  mismatches.add(path, formatter);
4417
4521
  },
4418
4522
 
4419
- getMessage: function () {
4523
+ getMessage: function() {
4420
4524
  var messages = [];
4421
4525
 
4422
- mismatches.traverse(function (path, isLeaf, formatter) {
4423
- var actualCustom, expectedCustom, useCustom,
4424
- derefResult = dereferencePath(path, actualRoot, expectedRoot, prettyPrinter),
4526
+ mismatches.traverse(function(path, isLeaf, formatter) {
4527
+ var actualCustom,
4528
+ expectedCustom,
4529
+ useCustom,
4530
+ derefResult = dereferencePath(
4531
+ path,
4532
+ actualRoot,
4533
+ expectedRoot,
4534
+ prettyPrinter
4535
+ ),
4425
4536
  actual = derefResult.actual,
4426
4537
  expected = derefResult.expected;
4427
4538
 
@@ -4432,15 +4543,22 @@ getJasmineRequireObj().DiffBuilder = function (j$) {
4432
4543
 
4433
4544
  actualCustom = prettyPrinter.customFormat_(actual);
4434
4545
  expectedCustom = prettyPrinter.customFormat_(expected);
4435
- useCustom = !(j$.util.isUndefined(actualCustom) && j$.util.isUndefined(expectedCustom));
4546
+ useCustom = !(
4547
+ j$.util.isUndefined(actualCustom) &&
4548
+ j$.util.isUndefined(expectedCustom)
4549
+ );
4436
4550
 
4437
4551
  if (useCustom) {
4438
- messages.push(wrapPrettyPrinted(actualCustom, expectedCustom, path));
4552
+ messages.push(
4553
+ wrapPrettyPrinted(actualCustom, expectedCustom, path)
4554
+ );
4439
4555
  return false; // don't recurse further
4440
4556
  }
4441
4557
 
4442
4558
  if (isLeaf) {
4443
- messages.push(defaultFormatter(actual, expected, path, prettyPrinter));
4559
+ messages.push(
4560
+ defaultFormatter(actual, expected, path, prettyPrinter)
4561
+ );
4444
4562
  }
4445
4563
 
4446
4564
  return true;
@@ -4449,7 +4567,7 @@ getJasmineRequireObj().DiffBuilder = function (j$) {
4449
4567
  return messages.join('\n');
4450
4568
  },
4451
4569
 
4452
- withPath: function (pathComponent, block) {
4570
+ withPath: function(pathComponent, block) {
4453
4571
  var oldPath = path;
4454
4572
  path = path.add(pathComponent);
4455
4573
  block();
@@ -4458,22 +4576,32 @@ getJasmineRequireObj().DiffBuilder = function (j$) {
4458
4576
  };
4459
4577
 
4460
4578
  function defaultFormatter(actual, expected, path, prettyPrinter) {
4461
- return wrapPrettyPrinted(prettyPrinter(actual), prettyPrinter(expected), path);
4579
+ return wrapPrettyPrinted(
4580
+ prettyPrinter(actual),
4581
+ prettyPrinter(expected),
4582
+ path
4583
+ );
4462
4584
  }
4463
4585
 
4464
4586
  function wrapPrettyPrinted(actual, expected, path) {
4465
- return 'Expected ' +
4466
- path + (path.depth() ? ' = ' : '') +
4587
+ return (
4588
+ 'Expected ' +
4589
+ path +
4590
+ (path.depth() ? ' = ' : '') +
4467
4591
  actual +
4468
4592
  ' to equal ' +
4469
4593
  expected +
4470
- '.';
4594
+ '.'
4595
+ );
4471
4596
  }
4472
4597
  };
4473
4598
 
4474
4599
  function dereferencePath(objectPath, actual, expected, pp) {
4475
4600
  function handleAsymmetricExpected() {
4476
- if (j$.isAsymmetricEqualityTester_(expected) && j$.isFunction_(expected.valuesForDiff_)) {
4601
+ if (
4602
+ j$.isAsymmetricEqualityTester_(expected) &&
4603
+ j$.isFunction_(expected.valuesForDiff_)
4604
+ ) {
4477
4605
  var asymmetricResult = expected.valuesForDiff_(actual, pp);
4478
4606
  expected = asymmetricResult.self;
4479
4607
  actual = asymmetricResult.other;
@@ -4489,9 +4617,8 @@ getJasmineRequireObj().DiffBuilder = function (j$) {
4489
4617
  handleAsymmetricExpected();
4490
4618
  }
4491
4619
 
4492
- return {actual: actual, expected: expected};
4620
+ return { actual: actual, expected: expected };
4493
4621
  }
4494
-
4495
4622
  };
4496
4623
 
4497
4624
  getJasmineRequireObj().MatchersUtil = function(j$) {
@@ -4517,7 +4644,7 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4517
4644
  * @return {string} The pretty-printed value
4518
4645
  */
4519
4646
  this.pp = options.pp || function() {};
4520
- };
4647
+ }
4521
4648
 
4522
4649
  /**
4523
4650
  * Determines whether `haystack` contains `needle`, using the same comparison
@@ -4535,9 +4662,10 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4535
4662
  return haystack.has(needle);
4536
4663
  }
4537
4664
 
4538
- if ((Object.prototype.toString.apply(haystack) === '[object Array]') ||
4539
- (!!haystack && !haystack.indexOf))
4540
- {
4665
+ if (
4666
+ Object.prototype.toString.apply(haystack) === '[object Array]' ||
4667
+ (!!haystack && !haystack.indexOf)
4668
+ ) {
4541
4669
  for (var i = 0; i < haystack.length; i++) {
4542
4670
  if (this.equals(haystack[i], needle, customTesters)) {
4543
4671
  return true;
@@ -4556,9 +4684,12 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4556
4684
  isNot = args[1],
4557
4685
  actual = args[2],
4558
4686
  expected = args.slice(3),
4559
- englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); });
4687
+ englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) {
4688
+ return ' ' + s.toLowerCase();
4689
+ });
4560
4690
 
4561
- var message = 'Expected ' +
4691
+ var message =
4692
+ 'Expected ' +
4562
4693
  self.pp(actual) +
4563
4694
  (isNot ? ' not ' : ' ') +
4564
4695
  englishyPredicate;
@@ -4575,20 +4706,41 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4575
4706
  return message + '.';
4576
4707
  };
4577
4708
 
4578
- MatchersUtil.prototype.asymmetricDiff_ = function(a, b, aStack, bStack, customTesters, diffBuilder) {
4709
+ MatchersUtil.prototype.asymmetricDiff_ = function(
4710
+ a,
4711
+ b,
4712
+ aStack,
4713
+ bStack,
4714
+ customTesters,
4715
+ diffBuilder
4716
+ ) {
4579
4717
  if (j$.isFunction_(b.valuesForDiff_)) {
4580
4718
  var values = b.valuesForDiff_(a, this.pp);
4581
- this.eq_(values.other, values.self, aStack, bStack, customTesters, diffBuilder);
4719
+ this.eq_(
4720
+ values.other,
4721
+ values.self,
4722
+ aStack,
4723
+ bStack,
4724
+ customTesters,
4725
+ diffBuilder
4726
+ );
4582
4727
  } else {
4583
4728
  diffBuilder.recordMismatch();
4584
4729
  }
4585
4730
  };
4586
4731
 
4587
- MatchersUtil.prototype.asymmetricMatch_ = function(a, b, aStack, bStack, customTesters, diffBuilder) {
4732
+ MatchersUtil.prototype.asymmetricMatch_ = function(
4733
+ a,
4734
+ b,
4735
+ aStack,
4736
+ bStack,
4737
+ customTesters,
4738
+ diffBuilder
4739
+ ) {
4588
4740
  var asymmetricA = j$.isAsymmetricEqualityTester_(a),
4589
- asymmetricB = j$.isAsymmetricEqualityTester_(b),
4590
- shim,
4591
- result;
4741
+ asymmetricB = j$.isAsymmetricEqualityTester_(b),
4742
+ shim,
4743
+ result;
4592
4744
 
4593
4745
  if (asymmetricA === asymmetricB) {
4594
4746
  return undefined;
@@ -4623,7 +4775,12 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4623
4775
  * @param [customTesters] An array of custom equality testers
4624
4776
  * @returns {boolean} True if the values are equal
4625
4777
  */
4626
- MatchersUtil.prototype.equals = function(a, b, customTestersOrDiffBuilder, diffBuilderOrNothing) {
4778
+ MatchersUtil.prototype.equals = function(
4779
+ a,
4780
+ b,
4781
+ customTestersOrDiffBuilder,
4782
+ diffBuilderOrNothing
4783
+ ) {
4627
4784
  var customTesters, diffBuilder;
4628
4785
 
4629
4786
  if (isDiffBuilder(customTestersOrDiffBuilder)) {
@@ -4642,10 +4799,26 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4642
4799
 
4643
4800
  // Equality function lovingly adapted from isEqual in
4644
4801
  // [Underscore](http://underscorejs.org)
4645
- MatchersUtil.prototype.eq_ = function(a, b, aStack, bStack, customTesters, diffBuilder) {
4646
- var result = true, self = this, i;
4647
-
4648
- var asymmetricResult = this.asymmetricMatch_(a, b, aStack, bStack, customTesters, diffBuilder);
4802
+ MatchersUtil.prototype.eq_ = function(
4803
+ a,
4804
+ b,
4805
+ aStack,
4806
+ bStack,
4807
+ customTesters,
4808
+ diffBuilder
4809
+ ) {
4810
+ var result = true,
4811
+ self = this,
4812
+ i;
4813
+
4814
+ var asymmetricResult = this.asymmetricMatch_(
4815
+ a,
4816
+ b,
4817
+ aStack,
4818
+ bStack,
4819
+ customTesters,
4820
+ diffBuilder
4821
+ );
4649
4822
  if (!j$.util.isUndefined(asymmetricResult)) {
4650
4823
  return asymmetricResult;
4651
4824
  }
@@ -4703,7 +4876,8 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4703
4876
  case '[object Number]':
4704
4877
  // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
4705
4878
  // other numeric values.
4706
- result = a != +a ? b != +b : (a === 0 && b === 0 ? 1 / a == 1 / b : a == +b);
4879
+ result =
4880
+ a != +a ? b != +b : a === 0 && b === 0 ? 1 / a == 1 / b : a == +b;
4707
4881
  if (!result) {
4708
4882
  diffBuilder.recordMismatch();
4709
4883
  }
@@ -4720,10 +4894,12 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4720
4894
  return result;
4721
4895
  // RegExps are compared by their source patterns and flags.
4722
4896
  case '[object RegExp]':
4723
- return a.source == b.source &&
4897
+ return (
4898
+ a.source == b.source &&
4724
4899
  a.global == b.global &&
4725
4900
  a.multiline == b.multiline &&
4726
- a.ignoreCase == b.ignoreCase;
4901
+ a.ignoreCase == b.ignoreCase
4902
+ );
4727
4903
  }
4728
4904
  if (typeof a != 'object' || typeof b != 'object') {
4729
4905
  diffBuilder.recordMismatch();
@@ -4757,7 +4933,9 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4757
4933
  while (length--) {
4758
4934
  // Linear search. Performance is inversely proportional to the number of
4759
4935
  // unique nested structures.
4760
- if (aStack[length] == a) { return bStack[length] == b; }
4936
+ if (aStack[length] == a) {
4937
+ return bStack[length] == b;
4938
+ }
4761
4939
  }
4762
4940
  // Add the first object to the stack of traversed objects.
4763
4941
  aStack.push(a);
@@ -4779,10 +4957,20 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4779
4957
  for (i = 0; i < aLength || i < bLength; i++) {
4780
4958
  diffBuilder.withPath(i, function() {
4781
4959
  if (i >= bLength) {
4782
- diffBuilder.recordMismatch(actualArrayIsLongerFormatter.bind(null, self.pp));
4960
+ diffBuilder.recordMismatch(
4961
+ actualArrayIsLongerFormatter.bind(null, self.pp)
4962
+ );
4783
4963
  result = false;
4784
4964
  } else {
4785
- result = self.eq_(i < aLength ? a[i] : void 0, i < bLength ? b[i] : void 0, aStack, bStack, customTesters, diffBuilder) && result;
4965
+ result =
4966
+ self.eq_(
4967
+ i < aLength ? a[i] : void 0,
4968
+ i < bLength ? b[i] : void 0,
4969
+ aStack,
4970
+ bStack,
4971
+ customTesters,
4972
+ diffBuilder
4973
+ ) && result;
4786
4974
  }
4787
4975
  });
4788
4976
  }
@@ -4797,11 +4985,11 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4797
4985
 
4798
4986
  var keysA = [];
4799
4987
  var keysB = [];
4800
- a.forEach( function( valueA, keyA ) {
4801
- keysA.push( keyA );
4988
+ a.forEach(function(valueA, keyA) {
4989
+ keysA.push(keyA);
4802
4990
  });
4803
- b.forEach( function( valueB, keyB ) {
4804
- keysB.push( keyB );
4991
+ b.forEach(function(valueB, keyB) {
4992
+ keysB.push(keyB);
4805
4993
  });
4806
4994
 
4807
4995
  // For both sets of keys, check they map to equal values in both maps.
@@ -4822,13 +5010,30 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4822
5010
  // Only use the cmpKey when one of the keys is asymmetric and the corresponding key matches,
4823
5011
  // otherwise explicitly look up the mapKey in the other Map since we want keys with unique
4824
5012
  // obj identity (that are otherwise equal) to not match.
4825
- if (j$.isAsymmetricEqualityTester_(mapKey) || j$.isAsymmetricEqualityTester_(cmpKey) &&
4826
- this.eq_(mapKey, cmpKey, aStack, bStack, customTesters, j$.NullDiffBuilder())) {
5013
+ if (
5014
+ j$.isAsymmetricEqualityTester_(mapKey) ||
5015
+ (j$.isAsymmetricEqualityTester_(cmpKey) &&
5016
+ this.eq_(
5017
+ mapKey,
5018
+ cmpKey,
5019
+ aStack,
5020
+ bStack,
5021
+ customTesters,
5022
+ j$.NullDiffBuilder()
5023
+ ))
5024
+ ) {
4827
5025
  mapValueB = b.get(cmpKey);
4828
5026
  } else {
4829
5027
  mapValueB = b.get(mapKey);
4830
5028
  }
4831
- result = this.eq_(mapValueA, mapValueB, aStack, bStack, customTesters, j$.NullDiffBuilder());
5029
+ result = this.eq_(
5030
+ mapValueA,
5031
+ mapValueB,
5032
+ aStack,
5033
+ bStack,
5034
+ customTesters,
5035
+ j$.NullDiffBuilder()
5036
+ );
4832
5037
  }
4833
5038
  }
4834
5039
 
@@ -4843,12 +5048,12 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4843
5048
  }
4844
5049
 
4845
5050
  var valuesA = [];
4846
- a.forEach( function( valueA ) {
4847
- valuesA.push( valueA );
5051
+ a.forEach(function(valueA) {
5052
+ valuesA.push(valueA);
4848
5053
  });
4849
5054
  var valuesB = [];
4850
- b.forEach( function( valueB ) {
4851
- valuesB.push( valueB );
5055
+ b.forEach(function(valueB) {
5056
+ valuesB.push(valueB);
4852
5057
  });
4853
5058
 
4854
5059
  // For both sets, check they are all contained in the other set
@@ -4872,7 +5077,14 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4872
5077
  otherValue = otherValues[l];
4873
5078
  prevStackSize = baseStack.length;
4874
5079
  // compare by value equality
4875
- found = this.eq_(baseValue, otherValue, baseStack, otherStack, customTesters, j$.NullDiffBuilder());
5080
+ found = this.eq_(
5081
+ baseValue,
5082
+ otherValue,
5083
+ baseStack,
5084
+ otherStack,
5085
+ customTesters,
5086
+ j$.NullDiffBuilder()
5087
+ );
4876
5088
  if (!found && prevStackSize !== baseStack.length) {
4877
5089
  baseStack.splice(prevStackSize);
4878
5090
  otherStack.splice(prevStackSize);
@@ -4886,28 +5098,40 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4886
5098
  diffBuilder.recordMismatch();
4887
5099
  return false;
4888
5100
  }
5101
+ } else if (j$.isURL(a) && j$.isURL(b)) {
5102
+ // URLs have no enumrable properties, so the default object comparison
5103
+ // would consider any two URLs to be equal.
5104
+ return a.toString() === b.toString();
4889
5105
  } else {
4890
-
4891
5106
  // Objects with different constructors are not equivalent, but `Object`s
4892
5107
  // or `Array`s from different frames are.
4893
- var aCtor = a.constructor, bCtor = b.constructor;
4894
- if (aCtor !== bCtor &&
4895
- isFunction(aCtor) && isFunction(bCtor) &&
4896
- a instanceof aCtor && b instanceof bCtor &&
4897
- !(aCtor instanceof aCtor && bCtor instanceof bCtor)) {
4898
-
4899
- diffBuilder.recordMismatch(constructorsAreDifferentFormatter.bind(null, this.pp));
5108
+ var aCtor = a.constructor,
5109
+ bCtor = b.constructor;
5110
+ if (
5111
+ aCtor !== bCtor &&
5112
+ isFunction(aCtor) &&
5113
+ isFunction(bCtor) &&
5114
+ a instanceof aCtor &&
5115
+ b instanceof bCtor &&
5116
+ !(aCtor instanceof aCtor && bCtor instanceof bCtor)
5117
+ ) {
5118
+ diffBuilder.recordMismatch(
5119
+ constructorsAreDifferentFormatter.bind(null, this.pp)
5120
+ );
4900
5121
  return false;
4901
5122
  }
4902
5123
  }
4903
5124
 
4904
5125
  // Deep compare objects.
4905
- var aKeys = keys(a, className == '[object Array]'), key;
5126
+ var aKeys = keys(a, className == '[object Array]'),
5127
+ key;
4906
5128
  size = aKeys.length;
4907
5129
 
4908
5130
  // Ensure that both objects contain the same number of properties before comparing deep equality.
4909
5131
  if (keys(b, className == '[object Array]').length !== size) {
4910
- diffBuilder.recordMismatch(objectKeysAreDifferentFormatter.bind(null, this.pp));
5132
+ diffBuilder.recordMismatch(
5133
+ objectKeysAreDifferentFormatter.bind(null, this.pp)
5134
+ );
4911
5135
  return false;
4912
5136
  }
4913
5137
 
@@ -4915,13 +5139,17 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4915
5139
  key = aKeys[i];
4916
5140
  // Deep compare each member
4917
5141
  if (!j$.util.has(b, key)) {
4918
- diffBuilder.recordMismatch(objectKeysAreDifferentFormatter.bind(null, this.pp));
5142
+ diffBuilder.recordMismatch(
5143
+ objectKeysAreDifferentFormatter.bind(null, this.pp)
5144
+ );
4919
5145
  result = false;
4920
5146
  continue;
4921
5147
  }
4922
5148
 
4923
5149
  diffBuilder.withPath(key, function() {
4924
- if(!self.eq_(a[key], b[key], aStack, bStack, customTesters, diffBuilder)) {
5150
+ if (
5151
+ !self.eq_(a[key], b[key], aStack, bStack, customTesters, diffBuilder)
5152
+ ) {
4925
5153
  result = false;
4926
5154
  }
4927
5155
  });
@@ -4939,23 +5167,24 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4939
5167
  };
4940
5168
 
4941
5169
  function keys(obj, isArray) {
4942
- var allKeys = Object.keys ? Object.keys(obj) :
4943
- (function(o) {
5170
+ var allKeys = Object.keys
5171
+ ? Object.keys(obj)
5172
+ : (function(o) {
4944
5173
  var keys = [];
4945
5174
  for (var key in o) {
4946
- if (j$.util.has(o, key)) {
4947
- keys.push(key);
4948
- }
5175
+ if (j$.util.has(o, key)) {
5176
+ keys.push(key);
5177
+ }
4949
5178
  }
4950
5179
  return keys;
4951
- })(obj);
5180
+ })(obj);
4952
5181
 
4953
5182
  if (!isArray) {
4954
5183
  return allKeys;
4955
5184
  }
4956
5185
 
4957
5186
  if (allKeys.length === 0) {
4958
- return allKeys;
5187
+ return allKeys;
4959
5188
  }
4960
5189
 
4961
5190
  var extraKeys = [];
@@ -4974,21 +5203,25 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4974
5203
 
4975
5204
  function objectKeysAreDifferentFormatter(pp, actual, expected, path) {
4976
5205
  var missingProperties = j$.util.objectDifference(expected, actual),
4977
- extraProperties = j$.util.objectDifference(actual, expected),
4978
- missingPropertiesMessage = formatKeyValuePairs(pp, missingProperties),
4979
- extraPropertiesMessage = formatKeyValuePairs(pp, extraProperties),
4980
- messages = [];
5206
+ extraProperties = j$.util.objectDifference(actual, expected),
5207
+ missingPropertiesMessage = formatKeyValuePairs(pp, missingProperties),
5208
+ extraPropertiesMessage = formatKeyValuePairs(pp, extraProperties),
5209
+ messages = [];
4981
5210
 
4982
5211
  if (!path.depth()) {
4983
5212
  path = 'object';
4984
5213
  }
4985
5214
 
4986
5215
  if (missingPropertiesMessage.length) {
4987
- messages.push('Expected ' + path + ' to have properties' + missingPropertiesMessage);
5216
+ messages.push(
5217
+ 'Expected ' + path + ' to have properties' + missingPropertiesMessage
5218
+ );
4988
5219
  }
4989
5220
 
4990
5221
  if (extraPropertiesMessage.length) {
4991
- messages.push('Expected ' + path + ' not to have properties' + extraPropertiesMessage);
5222
+ messages.push(
5223
+ 'Expected ' + path + ' not to have properties' + extraPropertiesMessage
5224
+ );
4992
5225
  }
4993
5226
 
4994
5227
  return messages.join('\n');
@@ -4999,17 +5232,25 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
4999
5232
  path = 'object';
5000
5233
  }
5001
5234
 
5002
- return 'Expected ' +
5003
- path + ' to be a kind of ' +
5235
+ return (
5236
+ 'Expected ' +
5237
+ path +
5238
+ ' to be a kind of ' +
5004
5239
  j$.fnNameFor(expected.constructor) +
5005
- ', but was ' + pp(actual) + '.';
5240
+ ', but was ' +
5241
+ pp(actual) +
5242
+ '.'
5243
+ );
5006
5244
  }
5007
5245
 
5008
5246
  function actualArrayIsLongerFormatter(pp, actual, expected, path) {
5009
- return 'Unexpected ' +
5010
- path + (path.depth() ? ' = ' : '') +
5247
+ return (
5248
+ 'Unexpected ' +
5249
+ path +
5250
+ (path.depth() ? ' = ' : '') +
5011
5251
  pp(actual) +
5012
- ' in array.';
5252
+ ' in array.'
5253
+ );
5013
5254
  }
5014
5255
 
5015
5256
  function formatKeyValuePairs(pp, obj) {
@@ -5027,8 +5268,7 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
5027
5268
  return MatchersUtil;
5028
5269
  };
5029
5270
 
5030
- getJasmineRequireObj().MismatchTree = function (j$) {
5031
-
5271
+ getJasmineRequireObj().MismatchTree = function(j$) {
5032
5272
  /*
5033
5273
  To be able to apply custom object formatters at all possible levels of an
5034
5274
  object graph, DiffBuilder needs to be able to know not just where the
@@ -5043,7 +5283,7 @@ getJasmineRequireObj().MismatchTree = function (j$) {
5043
5283
  this.isMismatch = false;
5044
5284
  }
5045
5285
 
5046
- MismatchTree.prototype.add = function (path, formatter) {
5286
+ MismatchTree.prototype.add = function(path, formatter) {
5047
5287
  var key, child;
5048
5288
 
5049
5289
  if (path.depth() === 0) {
@@ -5063,8 +5303,9 @@ getJasmineRequireObj().MismatchTree = function (j$) {
5063
5303
  }
5064
5304
  };
5065
5305
 
5066
- MismatchTree.prototype.traverse = function (visit) {
5067
- var i, hasChildren = this.children.length > 0;
5306
+ MismatchTree.prototype.traverse = function(visit) {
5307
+ var i,
5308
+ hasChildren = this.children.length > 0;
5068
5309
 
5069
5310
  if (this.isMismatch || hasChildren) {
5070
5311
  if (visit(this.path, !hasChildren, this.formatter)) {
@@ -5089,7 +5330,6 @@ getJasmineRequireObj().MismatchTree = function (j$) {
5089
5330
  return MismatchTree;
5090
5331
  };
5091
5332
 
5092
-
5093
5333
  getJasmineRequireObj().nothing = function() {
5094
5334
  /**
5095
5335
  * {@link expect} nothing explicitly.
@@ -5158,7 +5398,7 @@ getJasmineRequireObj().ObjectPath = function(j$) {
5158
5398
  return '.' + prop;
5159
5399
  }
5160
5400
 
5161
- return '[\'' + prop + '\']';
5401
+ return "['" + prop + "']";
5162
5402
  }
5163
5403
 
5164
5404
  function map(array, fn) {
@@ -5206,7 +5446,8 @@ getJasmineRequireObj().toBe = function(j$) {
5206
5446
  * expect(thing).toBe(realThing);
5207
5447
  */
5208
5448
  function toBe(matchersUtil) {
5209
- var tip = ' Tip: To check for deep equality, use .toEqual() instead of .toBe().';
5449
+ var tip =
5450
+ ' Tip: To check for deep equality, use .toEqual() instead of .toBe().';
5210
5451
 
5211
5452
  return {
5212
5453
  compare: function(actual, expected) {
@@ -5215,7 +5456,13 @@ getJasmineRequireObj().toBe = function(j$) {
5215
5456
  };
5216
5457
 
5217
5458
  if (typeof expected === 'object') {
5218
- result.message = matchersUtil.buildFailureMessage('toBe', result.pass, actual, expected) + tip;
5459
+ result.message =
5460
+ matchersUtil.buildFailureMessage(
5461
+ 'toBe',
5462
+ result.pass,
5463
+ actual,
5464
+ expected
5465
+ ) + tip;
5219
5466
  }
5220
5467
 
5221
5468
  return result;
@@ -5245,8 +5492,13 @@ getJasmineRequireObj().toBeCloseTo = function() {
5245
5492
  }
5246
5493
 
5247
5494
  if (expected === null || actual === null) {
5248
- throw new Error('Cannot use toBeCloseTo with null. Arguments evaluated to: ' +
5249
- 'expect(' + actual + ').toBeCloseTo(' + expected + ').'
5495
+ throw new Error(
5496
+ 'Cannot use toBeCloseTo with null. Arguments evaluated to: ' +
5497
+ 'expect(' +
5498
+ actual +
5499
+ ').toBeCloseTo(' +
5500
+ expected +
5501
+ ').'
5250
5502
  );
5251
5503
  }
5252
5504
 
@@ -5277,7 +5529,7 @@ getJasmineRequireObj().toBeDefined = function() {
5277
5529
  return {
5278
5530
  compare: function(actual) {
5279
5531
  return {
5280
- pass: (void 0 !== actual)
5532
+ pass: void 0 !== actual
5281
5533
  };
5282
5534
  }
5283
5535
  };
@@ -5353,7 +5605,6 @@ getJasmineRequireObj().toBeGreaterThan = function() {
5353
5605
  return toBeGreaterThan;
5354
5606
  };
5355
5607
 
5356
-
5357
5608
  getJasmineRequireObj().toBeGreaterThanOrEqual = function() {
5358
5609
  /**
5359
5610
  * {@link expect} the actual value to be greater than or equal to the expected value.
@@ -5378,7 +5629,10 @@ getJasmineRequireObj().toBeGreaterThanOrEqual = function() {
5378
5629
  };
5379
5630
 
5380
5631
  getJasmineRequireObj().toBeInstanceOf = function(j$) {
5381
- var usageError = j$.formatErrorMsg('<toBeInstanceOf>', 'expect(value).toBeInstanceOf(<ConstructorFunction>)');
5632
+ var usageError = j$.formatErrorMsg(
5633
+ '<toBeInstanceOf>',
5634
+ 'expect(value).toBeInstanceOf(<ConstructorFunction>)'
5635
+ );
5382
5636
 
5383
5637
  /**
5384
5638
  * {@link expect} the actual to be an instance of the expected class
@@ -5394,27 +5648,42 @@ getJasmineRequireObj().toBeInstanceOf = function(j$) {
5394
5648
  function toBeInstanceOf(matchersUtil) {
5395
5649
  return {
5396
5650
  compare: function(actual, expected) {
5397
- var actualType = actual && actual.constructor ? j$.fnNameFor(actual.constructor) : matchersUtil.pp(actual),
5398
- expectedType = expected ? j$.fnNameFor(expected) : matchersUtil.pp(expected),
5399
- expectedMatcher,
5400
- pass;
5651
+ var actualType =
5652
+ actual && actual.constructor
5653
+ ? j$.fnNameFor(actual.constructor)
5654
+ : matchersUtil.pp(actual),
5655
+ expectedType = expected
5656
+ ? j$.fnNameFor(expected)
5657
+ : matchersUtil.pp(expected),
5658
+ expectedMatcher,
5659
+ pass;
5401
5660
 
5402
5661
  try {
5403
- expectedMatcher = new j$.Any(expected);
5404
- pass = expectedMatcher.asymmetricMatch(actual);
5662
+ expectedMatcher = new j$.Any(expected);
5663
+ pass = expectedMatcher.asymmetricMatch(actual);
5405
5664
  } catch (error) {
5406
- throw new Error(usageError('Expected value is not a constructor function'));
5665
+ throw new Error(
5666
+ usageError('Expected value is not a constructor function')
5667
+ );
5407
5668
  }
5408
5669
 
5409
5670
  if (pass) {
5410
5671
  return {
5411
5672
  pass: true,
5412
- message: 'Expected instance of ' + actualType + ' not to be an instance of ' + expectedType
5673
+ message:
5674
+ 'Expected instance of ' +
5675
+ actualType +
5676
+ ' not to be an instance of ' +
5677
+ expectedType
5413
5678
  };
5414
5679
  } else {
5415
5680
  return {
5416
5681
  pass: false,
5417
- message: 'Expected instance of ' + actualType + ' to be an instance of ' + expectedType
5682
+ message:
5683
+ 'Expected instance of ' +
5684
+ actualType +
5685
+ ' to be an instance of ' +
5686
+ expectedType
5418
5687
  };
5419
5688
  }
5420
5689
  }
@@ -5436,7 +5705,6 @@ getJasmineRequireObj().toBeLessThan = function() {
5436
5705
  */
5437
5706
  function toBeLessThan() {
5438
5707
  return {
5439
-
5440
5708
  compare: function(actual, expected) {
5441
5709
  return {
5442
5710
  pass: actual < expected
@@ -5460,7 +5728,6 @@ getJasmineRequireObj().toBeLessThanOrEqual = function() {
5460
5728
  */
5461
5729
  function toBeLessThanOrEqual() {
5462
5730
  return {
5463
-
5464
5731
  compare: function(actual, expected) {
5465
5732
  return {
5466
5733
  pass: actual <= expected
@@ -5485,13 +5752,15 @@ getJasmineRequireObj().toBeNaN = function(j$) {
5485
5752
  return {
5486
5753
  compare: function(actual) {
5487
5754
  var result = {
5488
- pass: (actual !== actual)
5755
+ pass: actual !== actual
5489
5756
  };
5490
5757
 
5491
5758
  if (result.pass) {
5492
5759
  result.message = 'Expected actual not to be NaN.';
5493
5760
  } else {
5494
- result.message = function() { return 'Expected ' + matchersUtil.pp(actual) + ' to be NaN.'; };
5761
+ result.message = function() {
5762
+ return 'Expected ' + matchersUtil.pp(actual) + ' to be NaN.';
5763
+ };
5495
5764
  }
5496
5765
 
5497
5766
  return result;
@@ -5515,13 +5784,15 @@ getJasmineRequireObj().toBeNegativeInfinity = function(j$) {
5515
5784
  return {
5516
5785
  compare: function(actual) {
5517
5786
  var result = {
5518
- pass: (actual === Number.NEGATIVE_INFINITY)
5787
+ pass: actual === Number.NEGATIVE_INFINITY
5519
5788
  };
5520
5789
 
5521
5790
  if (result.pass) {
5522
5791
  result.message = 'Expected actual not to be -Infinity.';
5523
5792
  } else {
5524
- result.message = function() { return 'Expected ' + matchersUtil.pp(actual) + ' to be -Infinity.'; };
5793
+ result.message = function() {
5794
+ return 'Expected ' + matchersUtil.pp(actual) + ' to be -Infinity.';
5795
+ };
5525
5796
  }
5526
5797
 
5527
5798
  return result;
@@ -5567,13 +5838,15 @@ getJasmineRequireObj().toBePositiveInfinity = function(j$) {
5567
5838
  return {
5568
5839
  compare: function(actual) {
5569
5840
  var result = {
5570
- pass: (actual === Number.POSITIVE_INFINITY)
5841
+ pass: actual === Number.POSITIVE_INFINITY
5571
5842
  };
5572
5843
 
5573
5844
  if (result.pass) {
5574
5845
  result.message = 'Expected actual not to be Infinity.';
5575
5846
  } else {
5576
- result.message = function() { return 'Expected ' + matchersUtil.pp(actual) + ' to be Infinity.'; };
5847
+ result.message = function() {
5848
+ return 'Expected ' + matchersUtil.pp(actual) + ' to be Infinity.';
5849
+ };
5577
5850
  }
5578
5851
 
5579
5852
  return result;
@@ -5664,7 +5937,6 @@ getJasmineRequireObj().toContain = function() {
5664
5937
  function toContain(matchersUtil) {
5665
5938
  return {
5666
5939
  compare: function(actual, expected) {
5667
-
5668
5940
  return {
5669
5941
  pass: matchersUtil.contains(actual, expected)
5670
5942
  };
@@ -5691,7 +5963,7 @@ getJasmineRequireObj().toEqual = function(j$) {
5691
5963
  var result = {
5692
5964
  pass: false
5693
5965
  },
5694
- diffBuilder = j$.DiffBuilder({prettyPrinter: matchersUtil.pp});
5966
+ diffBuilder = j$.DiffBuilder({ prettyPrinter: matchersUtil.pp });
5695
5967
 
5696
5968
  result.pass = matchersUtil.equals(actual, expected, diffBuilder);
5697
5969
 
@@ -5707,8 +5979,10 @@ getJasmineRequireObj().toEqual = function(j$) {
5707
5979
  };
5708
5980
 
5709
5981
  getJasmineRequireObj().toHaveBeenCalled = function(j$) {
5710
-
5711
- var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalled>', 'expect(<spyObj>).toHaveBeenCalled()');
5982
+ var getErrorMsg = j$.formatErrorMsg(
5983
+ '<toHaveBeenCalled>',
5984
+ 'expect(<spyObj>).toHaveBeenCalled()'
5985
+ );
5712
5986
 
5713
5987
  /**
5714
5988
  * {@link expect} the actual (a {@link Spy}) to have been called.
@@ -5725,18 +5999,24 @@ getJasmineRequireObj().toHaveBeenCalled = function(j$) {
5725
5999
  var result = {};
5726
6000
 
5727
6001
  if (!j$.isSpy(actual)) {
5728
- throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(actual) + '.'));
6002
+ throw new Error(
6003
+ getErrorMsg(
6004
+ 'Expected a spy, but got ' + matchersUtil.pp(actual) + '.'
6005
+ )
6006
+ );
5729
6007
  }
5730
6008
 
5731
6009
  if (arguments.length > 1) {
5732
- throw new Error(getErrorMsg('Does not take arguments, use toHaveBeenCalledWith'));
6010
+ throw new Error(
6011
+ getErrorMsg('Does not take arguments, use toHaveBeenCalledWith')
6012
+ );
5733
6013
  }
5734
6014
 
5735
6015
  result.pass = actual.calls.any();
5736
6016
 
5737
- result.message = result.pass ?
5738
- 'Expected spy ' + actual.and.identity + ' not to have been called.' :
5739
- 'Expected spy ' + actual.and.identity + ' to have been called.';
6017
+ result.message = result.pass
6018
+ ? 'Expected spy ' + actual.and.identity + ' not to have been called.'
6019
+ : 'Expected spy ' + actual.and.identity + ' to have been called.';
5740
6020
 
5741
6021
  return result;
5742
6022
  }
@@ -5747,8 +6027,10 @@ getJasmineRequireObj().toHaveBeenCalled = function(j$) {
5747
6027
  };
5748
6028
 
5749
6029
  getJasmineRequireObj().toHaveBeenCalledBefore = function(j$) {
5750
-
5751
- var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalledBefore>', 'expect(<spyObj>).toHaveBeenCalledBefore(<spyObj>)');
6030
+ var getErrorMsg = j$.formatErrorMsg(
6031
+ '<toHaveBeenCalledBefore>',
6032
+ 'expect(<spyObj>).toHaveBeenCalledBefore(<spyObj>)'
6033
+ );
5752
6034
 
5753
6035
  /**
5754
6036
  * {@link expect} the actual value (a {@link Spy}) to have been called before another {@link Spy}.
@@ -5763,20 +6045,30 @@ getJasmineRequireObj().toHaveBeenCalledBefore = function(j$) {
5763
6045
  return {
5764
6046
  compare: function(firstSpy, latterSpy) {
5765
6047
  if (!j$.isSpy(firstSpy)) {
5766
- throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(firstSpy) + '.'));
6048
+ throw new Error(
6049
+ getErrorMsg(
6050
+ 'Expected a spy, but got ' + matchersUtil.pp(firstSpy) + '.'
6051
+ )
6052
+ );
5767
6053
  }
5768
6054
  if (!j$.isSpy(latterSpy)) {
5769
- throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(latterSpy) + '.'));
6055
+ throw new Error(
6056
+ getErrorMsg(
6057
+ 'Expected a spy, but got ' + matchersUtil.pp(latterSpy) + '.'
6058
+ )
6059
+ );
5770
6060
  }
5771
6061
 
5772
6062
  var result = { pass: false };
5773
6063
 
5774
6064
  if (!firstSpy.calls.count()) {
5775
- result.message = 'Expected spy ' + firstSpy.and.identity + ' to have been called.';
6065
+ result.message =
6066
+ 'Expected spy ' + firstSpy.and.identity + ' to have been called.';
5776
6067
  return result;
5777
6068
  }
5778
6069
  if (!latterSpy.calls.count()) {
5779
- result.message = 'Expected spy ' + latterSpy.and.identity + ' to have been called.';
6070
+ result.message =
6071
+ 'Expected spy ' + latterSpy.and.identity + ' to have been called.';
5780
6072
  return result;
5781
6073
  }
5782
6074
 
@@ -5786,17 +6078,36 @@ getJasmineRequireObj().toHaveBeenCalledBefore = function(j$) {
5786
6078
  result.pass = latest1stSpyCall < first2ndSpyCall;
5787
6079
 
5788
6080
  if (result.pass) {
5789
- result.message = 'Expected spy ' + firstSpy.and.identity + ' to not have been called before spy ' + latterSpy.and.identity + ', but it was';
6081
+ result.message =
6082
+ 'Expected spy ' +
6083
+ firstSpy.and.identity +
6084
+ ' to not have been called before spy ' +
6085
+ latterSpy.and.identity +
6086
+ ', but it was';
5790
6087
  } else {
5791
6088
  var first1stSpyCall = firstSpy.calls.first().invocationOrder;
5792
6089
  var latest2ndSpyCall = latterSpy.calls.mostRecent().invocationOrder;
5793
6090
 
5794
- if(first1stSpyCall < first2ndSpyCall) {
5795
- result.message = 'Expected latest call to spy ' + firstSpy.and.identity + ' to have been called before first call to spy ' + latterSpy.and.identity + ' (no interleaved calls)';
6091
+ if (first1stSpyCall < first2ndSpyCall) {
6092
+ result.message =
6093
+ 'Expected latest call to spy ' +
6094
+ firstSpy.and.identity +
6095
+ ' to have been called before first call to spy ' +
6096
+ latterSpy.and.identity +
6097
+ ' (no interleaved calls)';
5796
6098
  } else if (latest2ndSpyCall > latest1stSpyCall) {
5797
- result.message = 'Expected first call to spy ' + latterSpy.and.identity + ' to have been called after latest call to spy ' + firstSpy.and.identity + ' (no interleaved calls)';
6099
+ result.message =
6100
+ 'Expected first call to spy ' +
6101
+ latterSpy.and.identity +
6102
+ ' to have been called after latest call to spy ' +
6103
+ firstSpy.and.identity +
6104
+ ' (no interleaved calls)';
5798
6105
  } else {
5799
- result.message = 'Expected spy ' + firstSpy.and.identity + ' to have been called before spy ' + latterSpy.and.identity;
6106
+ result.message =
6107
+ 'Expected spy ' +
6108
+ firstSpy.and.identity +
6109
+ ' to have been called before spy ' +
6110
+ latterSpy.and.identity;
5800
6111
  }
5801
6112
  }
5802
6113
 
@@ -5808,9 +6119,11 @@ getJasmineRequireObj().toHaveBeenCalledBefore = function(j$) {
5808
6119
  return toHaveBeenCalledBefore;
5809
6120
  };
5810
6121
 
5811
- getJasmineRequireObj().toHaveBeenCalledOnceWith = function (j$) {
5812
-
5813
- var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalledOnceWith>', 'expect(<spyObj>).toHaveBeenCalledOnceWith(...arguments)');
6122
+ getJasmineRequireObj().toHaveBeenCalledOnceWith = function(j$) {
6123
+ var getErrorMsg = j$.formatErrorMsg(
6124
+ '<toHaveBeenCalledOnceWith>',
6125
+ 'expect(<spyObj>).toHaveBeenCalledOnceWith(...arguments)'
6126
+ );
5814
6127
 
5815
6128
  /**
5816
6129
  * {@link expect} the actual (a {@link Spy}) to have been called exactly once, and exactly with the particular arguments.
@@ -5823,31 +6136,44 @@ getJasmineRequireObj().toHaveBeenCalledOnceWith = function (j$) {
5823
6136
  */
5824
6137
  function toHaveBeenCalledOnceWith(util) {
5825
6138
  return {
5826
- compare: function () {
6139
+ compare: function() {
5827
6140
  var args = Array.prototype.slice.call(arguments, 0),
5828
6141
  actual = args[0],
5829
6142
  expectedArgs = args.slice(1);
5830
6143
 
5831
6144
  if (!j$.isSpy(actual)) {
5832
- throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(actual) + '.'));
6145
+ throw new Error(
6146
+ getErrorMsg('Expected a spy, but got ' + util.pp(actual) + '.')
6147
+ );
5833
6148
  }
5834
6149
 
5835
- var prettyPrintedCalls = actual.calls.allArgs().map(function (argsForCall) {
5836
- return ' ' + j$.pp(argsForCall);
5837
- });
6150
+ var prettyPrintedCalls = actual.calls
6151
+ .allArgs()
6152
+ .map(function(argsForCall) {
6153
+ return ' ' + util.pp(argsForCall);
6154
+ });
5838
6155
 
5839
- if (actual.calls.count() === 1 && util.contains(actual.calls.allArgs(), expectedArgs)) {
6156
+ if (
6157
+ actual.calls.count() === 1 &&
6158
+ util.contains(actual.calls.allArgs(), expectedArgs)
6159
+ ) {
5840
6160
  return {
5841
6161
  pass: true,
5842
- message: 'Expected spy ' + actual.and.identity + ' to have been called 0 times, multiple times, or once, but with arguments different from:\n'
5843
- + ' ' + j$.pp(expectedArgs) + '\n'
5844
- + 'But the actual call was:\n'
5845
- + prettyPrintedCalls.join(',\n') + '.\n\n'
6162
+ message:
6163
+ 'Expected spy ' +
6164
+ actual.and.identity +
6165
+ ' to have been called 0 times, multiple times, or once, but with arguments different from:\n' +
6166
+ ' ' +
6167
+ util.pp(expectedArgs) +
6168
+ '\n' +
6169
+ 'But the actual call was:\n' +
6170
+ prettyPrintedCalls.join(',\n') +
6171
+ '.\n\n'
5846
6172
  };
5847
6173
  }
5848
6174
 
5849
6175
  function getDiffs() {
5850
- return actual.calls.allArgs().map(function (argsForCall, callIx) {
6176
+ return actual.calls.allArgs().map(function(argsForCall, callIx) {
5851
6177
  var diffBuilder = new j$.DiffBuilder();
5852
6178
  util.equals(argsForCall, expectedArgs, diffBuilder);
5853
6179
  return diffBuilder.getMessage();
@@ -5859,17 +6185,32 @@ getJasmineRequireObj().toHaveBeenCalledOnceWith = function (j$) {
5859
6185
  case 0:
5860
6186
  return 'But it was never called.\n\n';
5861
6187
  case 1:
5862
- return 'But the actual call was:\n' + prettyPrintedCalls.join(',\n') + '.\n' + getDiffs().join('\n') + '\n\n';
6188
+ return (
6189
+ 'But the actual call was:\n' +
6190
+ prettyPrintedCalls.join(',\n') +
6191
+ '.\n' +
6192
+ getDiffs().join('\n') +
6193
+ '\n\n'
6194
+ );
5863
6195
  default:
5864
- return 'But the actual calls were:\n' + prettyPrintedCalls.join(',\n') + '.\n\n';
6196
+ return (
6197
+ 'But the actual calls were:\n' +
6198
+ prettyPrintedCalls.join(',\n') +
6199
+ '.\n\n'
6200
+ );
5865
6201
  }
5866
6202
  }
5867
6203
 
5868
6204
  return {
5869
6205
  pass: false,
5870
- message: 'Expected spy ' + actual.and.identity + ' to have been called only once, and with given args:\n'
5871
- + ' ' + j$.pp(expectedArgs) + '\n'
5872
- + butString()
6206
+ message:
6207
+ 'Expected spy ' +
6208
+ actual.and.identity +
6209
+ ' to have been called only once, and with given args:\n' +
6210
+ ' ' +
6211
+ util.pp(expectedArgs) +
6212
+ '\n' +
6213
+ butString()
5873
6214
  };
5874
6215
  }
5875
6216
  };
@@ -5879,8 +6220,10 @@ getJasmineRequireObj().toHaveBeenCalledOnceWith = function (j$) {
5879
6220
  };
5880
6221
 
5881
6222
  getJasmineRequireObj().toHaveBeenCalledTimes = function(j$) {
5882
-
5883
- var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalledTimes>', 'expect(<spyObj>).toHaveBeenCalledTimes(<Number>)');
6223
+ var getErrorMsg = j$.formatErrorMsg(
6224
+ '<toHaveBeenCalledTimes>',
6225
+ 'expect(<spyObj>).toHaveBeenCalledTimes(<Number>)'
6226
+ );
5884
6227
 
5885
6228
  /**
5886
6229
  * {@link expect} the actual (a {@link Spy}) to have been called the specified number of times.
@@ -5895,23 +6238,43 @@ getJasmineRequireObj().toHaveBeenCalledTimes = function(j$) {
5895
6238
  return {
5896
6239
  compare: function(actual, expected) {
5897
6240
  if (!j$.isSpy(actual)) {
5898
- throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(actual) + '.'));
6241
+ throw new Error(
6242
+ getErrorMsg(
6243
+ 'Expected a spy, but got ' + matchersUtil.pp(actual) + '.'
6244
+ )
6245
+ );
5899
6246
  }
5900
6247
 
5901
6248
  var args = Array.prototype.slice.call(arguments, 0),
5902
6249
  result = { pass: false };
5903
6250
 
5904
6251
  if (!j$.isNumber_(expected)) {
5905
- throw new Error(getErrorMsg('The expected times failed is a required argument and must be a number.'));
6252
+ throw new Error(
6253
+ getErrorMsg(
6254
+ 'The expected times failed is a required argument and must be a number.'
6255
+ )
6256
+ );
5906
6257
  }
5907
6258
 
5908
6259
  actual = args[0];
5909
6260
  var calls = actual.calls.count();
5910
6261
  var timesMessage = expected === 1 ? 'once' : expected + ' times';
5911
6262
  result.pass = calls === expected;
5912
- result.message = result.pass ?
5913
- 'Expected spy ' + actual.and.identity + ' not to have been called ' + timesMessage + '. It was called ' + calls + ' times.' :
5914
- 'Expected spy ' + actual.and.identity + ' to have been called ' + timesMessage + '. It was called ' + calls + ' times.';
6263
+ result.message = result.pass
6264
+ ? 'Expected spy ' +
6265
+ actual.and.identity +
6266
+ ' not to have been called ' +
6267
+ timesMessage +
6268
+ '. It was called ' +
6269
+ calls +
6270
+ ' times.'
6271
+ : 'Expected spy ' +
6272
+ actual.and.identity +
6273
+ ' to have been called ' +
6274
+ timesMessage +
6275
+ '. It was called ' +
6276
+ calls +
6277
+ ' times.';
5915
6278
  return result;
5916
6279
  }
5917
6280
  };
@@ -5921,8 +6284,10 @@ getJasmineRequireObj().toHaveBeenCalledTimes = function(j$) {
5921
6284
  };
5922
6285
 
5923
6286
  getJasmineRequireObj().toHaveBeenCalledWith = function(j$) {
5924
-
5925
- var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalledWith>', 'expect(<spyObj>).toHaveBeenCalledWith(...arguments)');
6287
+ var getErrorMsg = j$.formatErrorMsg(
6288
+ '<toHaveBeenCalledWith>',
6289
+ 'expect(<spyObj>).toHaveBeenCalledWith(...arguments)'
6290
+ );
5926
6291
 
5927
6292
  /**
5928
6293
  * {@link expect} the actual (a {@link Spy}) to have been called with particular arguments at least once.
@@ -5942,14 +6307,23 @@ getJasmineRequireObj().toHaveBeenCalledWith = function(j$) {
5942
6307
  result = { pass: false };
5943
6308
 
5944
6309
  if (!j$.isSpy(actual)) {
5945
- throw new Error(getErrorMsg('Expected a spy, but got ' + matchersUtil.pp(actual) + '.'));
6310
+ throw new Error(
6311
+ getErrorMsg(
6312
+ 'Expected a spy, but got ' + matchersUtil.pp(actual) + '.'
6313
+ )
6314
+ );
5946
6315
  }
5947
6316
 
5948
6317
  if (!actual.calls.any()) {
5949
6318
  result.message = function() {
5950
- return 'Expected spy ' + actual.and.identity + ' to have been called with:\n' +
5951
- ' ' + matchersUtil.pp(expectedArgs) +
5952
- '\nbut it was never called.';
6319
+ return (
6320
+ 'Expected spy ' +
6321
+ actual.and.identity +
6322
+ ' to have been called with:\n' +
6323
+ ' ' +
6324
+ matchersUtil.pp(expectedArgs) +
6325
+ '\nbut it was never called.'
6326
+ );
5953
6327
  };
5954
6328
  return result;
5955
6329
  }
@@ -5957,28 +6331,49 @@ getJasmineRequireObj().toHaveBeenCalledWith = function(j$) {
5957
6331
  if (matchersUtil.contains(actual.calls.allArgs(), expectedArgs)) {
5958
6332
  result.pass = true;
5959
6333
  result.message = function() {
5960
- return 'Expected spy ' + actual.and.identity + ' not to have been called with:\n' +
5961
- ' ' + matchersUtil.pp(expectedArgs) +
5962
- '\nbut it was.';
6334
+ return (
6335
+ 'Expected spy ' +
6336
+ actual.and.identity +
6337
+ ' not to have been called with:\n' +
6338
+ ' ' +
6339
+ matchersUtil.pp(expectedArgs) +
6340
+ '\nbut it was.'
6341
+ );
5963
6342
  };
5964
6343
  } else {
5965
6344
  result.message = function() {
5966
- var prettyPrintedCalls = actual.calls.allArgs().map(function(argsForCall) {
5967
- return ' ' + matchersUtil.pp(argsForCall);
5968
- });
5969
-
5970
- var diffs = actual.calls.allArgs().map(function(argsForCall, callIx) {
5971
- var diffBuilder = new j$.DiffBuilder();
5972
- matchersUtil.equals(argsForCall, expectedArgs, diffBuilder);
5973
- return 'Call ' + callIx + ':\n' +
5974
- diffBuilder.getMessage().replace(/^/mg, ' ');
5975
- });
5976
-
5977
- return 'Expected spy ' + actual.and.identity + ' to have been called with:\n' +
5978
- ' ' + matchersUtil.pp(expectedArgs) + '\n' + '' +
6345
+ var prettyPrintedCalls = actual.calls
6346
+ .allArgs()
6347
+ .map(function(argsForCall) {
6348
+ return ' ' + matchersUtil.pp(argsForCall);
6349
+ });
6350
+
6351
+ var diffs = actual.calls
6352
+ .allArgs()
6353
+ .map(function(argsForCall, callIx) {
6354
+ var diffBuilder = new j$.DiffBuilder();
6355
+ matchersUtil.equals(argsForCall, expectedArgs, diffBuilder);
6356
+ return (
6357
+ 'Call ' +
6358
+ callIx +
6359
+ ':\n' +
6360
+ diffBuilder.getMessage().replace(/^/gm, ' ')
6361
+ );
6362
+ });
6363
+
6364
+ return (
6365
+ 'Expected spy ' +
6366
+ actual.and.identity +
6367
+ ' to have been called with:\n' +
6368
+ ' ' +
6369
+ matchersUtil.pp(expectedArgs) +
6370
+ '\n' +
6371
+ '' +
5979
6372
  'but actual calls were:\n' +
5980
- prettyPrintedCalls.join(',\n') + '.\n\n' +
5981
- diffs.join('\n');
6373
+ prettyPrintedCalls.join(',\n') +
6374
+ '.\n\n' +
6375
+ diffs.join('\n')
6376
+ );
5982
6377
  };
5983
6378
  }
5984
6379
 
@@ -6017,9 +6412,9 @@ getJasmineRequireObj().toHaveClass = function(j$) {
6017
6412
  }
6018
6413
 
6019
6414
  function isElement(maybeEl) {
6020
- return maybeEl &&
6021
- maybeEl.classList &&
6022
- j$.isFunction_(maybeEl.classList.contains);
6415
+ return (
6416
+ maybeEl && maybeEl.classList && j$.isFunction_(maybeEl.classList.contains)
6417
+ );
6023
6418
  }
6024
6419
 
6025
6420
  return toHaveClass;
@@ -6040,10 +6435,14 @@ getJasmineRequireObj().toHaveSize = function(j$) {
6040
6435
  return {
6041
6436
  compare: function(actual, expected) {
6042
6437
  var result = {
6043
- pass: false
6044
- };
6438
+ pass: false
6439
+ };
6045
6440
 
6046
- if (j$.isA_('WeakSet', actual) || j$.isWeakMap(actual) || j$.isDataView(actual)) {
6441
+ if (
6442
+ j$.isA_('WeakSet', actual) ||
6443
+ j$.isWeakMap(actual) ||
6444
+ j$.isDataView(actual)
6445
+ ) {
6047
6446
  throw new Error('Cannot get size of ' + actual + '.');
6048
6447
  }
6049
6448
 
@@ -6060,17 +6459,24 @@ getJasmineRequireObj().toHaveSize = function(j$) {
6060
6459
  };
6061
6460
  }
6062
6461
 
6063
- var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line compat/compat
6462
+ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line compat/compat
6064
6463
  function isLength(value) {
6065
- return (typeof value == 'number') && value > -1 && value % 1 === 0 && value <= MAX_SAFE_INTEGER;
6464
+ return (
6465
+ typeof value == 'number' &&
6466
+ value > -1 &&
6467
+ value % 1 === 0 &&
6468
+ value <= MAX_SAFE_INTEGER
6469
+ );
6066
6470
  }
6067
6471
 
6068
6472
  return toHaveSize;
6069
6473
  };
6070
6474
 
6071
6475
  getJasmineRequireObj().toMatch = function(j$) {
6072
-
6073
- var getErrorMsg = j$.formatErrorMsg('<toMatch>', 'expect(<expectation>).toMatch(<string> || <regexp>)');
6476
+ var getErrorMsg = j$.formatErrorMsg(
6477
+ '<toMatch>',
6478
+ 'expect(<expectation>).toMatch(<string> || <regexp>)'
6479
+ );
6074
6480
 
6075
6481
  /**
6076
6482
  * {@link expect} the actual value to match a regular expression
@@ -6102,8 +6508,10 @@ getJasmineRequireObj().toMatch = function(j$) {
6102
6508
  };
6103
6509
 
6104
6510
  getJasmineRequireObj().toThrow = function(j$) {
6105
-
6106
- var getErrorMsg = j$.formatErrorMsg('<toThrow>', 'expect(function() {<expectation>}).toThrow()');
6511
+ var getErrorMsg = j$.formatErrorMsg(
6512
+ '<toThrow>',
6513
+ 'expect(function() {<expectation>}).toThrow()'
6514
+ );
6107
6515
 
6108
6516
  /**
6109
6517
  * {@link expect} a function to `throw` something.
@@ -6140,16 +6548,36 @@ getJasmineRequireObj().toThrow = function(j$) {
6140
6548
 
6141
6549
  if (arguments.length == 1) {
6142
6550
  result.pass = true;
6143
- result.message = function() { return 'Expected function not to throw, but it threw ' + matchersUtil.pp(thrown) + '.'; };
6551
+ result.message = function() {
6552
+ return (
6553
+ 'Expected function not to throw, but it threw ' +
6554
+ matchersUtil.pp(thrown) +
6555
+ '.'
6556
+ );
6557
+ };
6144
6558
 
6145
6559
  return result;
6146
6560
  }
6147
6561
 
6148
6562
  if (matchersUtil.equals(thrown, expected)) {
6149
6563
  result.pass = true;
6150
- result.message = function() { return 'Expected function not to throw ' + matchersUtil.pp(expected) + '.'; };
6564
+ result.message = function() {
6565
+ return (
6566
+ 'Expected function not to throw ' +
6567
+ matchersUtil.pp(expected) +
6568
+ '.'
6569
+ );
6570
+ };
6151
6571
  } else {
6152
- result.message = function() { return 'Expected function to throw ' + matchersUtil.pp(expected) + ', but it threw ' + matchersUtil.pp(thrown) + '.'; };
6572
+ result.message = function() {
6573
+ return (
6574
+ 'Expected function to throw ' +
6575
+ matchersUtil.pp(expected) +
6576
+ ', but it threw ' +
6577
+ matchersUtil.pp(thrown) +
6578
+ '.'
6579
+ );
6580
+ };
6153
6581
  }
6154
6582
 
6155
6583
  return result;
@@ -6161,8 +6589,10 @@ getJasmineRequireObj().toThrow = function(j$) {
6161
6589
  };
6162
6590
 
6163
6591
  getJasmineRequireObj().toThrowError = function(j$) {
6164
-
6165
- var getErrorMsg = j$.formatErrorMsg('<toThrowError>', 'expect(function() {<expectation>}).toThrowError(<ErrorConstructor>, <message>)');
6592
+ var getErrorMsg = j$.formatErrorMsg(
6593
+ '<toThrowError>',
6594
+ 'expect(function() {<expectation>}).toThrowError(<ErrorConstructor>, <message>)'
6595
+ );
6166
6596
 
6167
6597
  /**
6168
6598
  * {@link expect} a function to `throw` an `Error`.
@@ -6196,7 +6626,13 @@ getJasmineRequireObj().toThrowError = function(j$) {
6196
6626
  }
6197
6627
 
6198
6628
  if (!j$.isError_(thrown)) {
6199
- return fail(function() { return 'Expected function to throw an Error, but it threw ' + matchersUtil.pp(thrown) + '.'; });
6629
+ return fail(function() {
6630
+ return (
6631
+ 'Expected function to throw an Error, but it threw ' +
6632
+ matchersUtil.pp(thrown) +
6633
+ '.'
6634
+ );
6635
+ });
6200
6636
  }
6201
6637
 
6202
6638
  return errorMatcher.match(thrown);
@@ -6230,7 +6666,11 @@ getJasmineRequireObj().toThrowError = function(j$) {
6230
6666
  function anyMatcher() {
6231
6667
  return {
6232
6668
  match: function(error) {
6233
- return pass('Expected function not to throw an Error, but it threw ' + j$.fnNameFor(error) + '.');
6669
+ return pass(
6670
+ 'Expected function not to throw an Error, but it threw ' +
6671
+ j$.fnNameFor(error) +
6672
+ '.'
6673
+ );
6234
6674
  }
6235
6675
  };
6236
6676
  }
@@ -6238,9 +6678,13 @@ getJasmineRequireObj().toThrowError = function(j$) {
6238
6678
  function exactMatcher(expected, errorType) {
6239
6679
  if (expected && !isStringOrRegExp(expected)) {
6240
6680
  if (errorType) {
6241
- throw new Error(getErrorMsg('Expected error message is not a string or RegExp.'));
6681
+ throw new Error(
6682
+ getErrorMsg('Expected error message is not a string or RegExp.')
6683
+ );
6242
6684
  } else {
6243
- throw new Error(getErrorMsg('Expected is not an Error, string, or RegExp.'));
6685
+ throw new Error(
6686
+ getErrorMsg('Expected is not an Error, string, or RegExp.')
6687
+ );
6244
6688
  }
6245
6689
  }
6246
6690
 
@@ -6252,11 +6696,15 @@ getJasmineRequireObj().toThrowError = function(j$) {
6252
6696
  }
6253
6697
  }
6254
6698
 
6255
- var errorTypeDescription = errorType ? j$.fnNameFor(errorType) : 'an exception';
6699
+ var errorTypeDescription = errorType
6700
+ ? j$.fnNameFor(errorType)
6701
+ : 'an exception';
6256
6702
 
6257
6703
  function thrownDescription(thrown) {
6258
- var thrownName = errorType ? j$.fnNameFor(thrown.constructor) : 'an exception',
6259
- thrownMessage = '';
6704
+ var thrownName = errorType
6705
+ ? j$.fnNameFor(thrown.constructor)
6706
+ : 'an exception',
6707
+ thrownMessage = '';
6260
6708
 
6261
6709
  if (expected) {
6262
6710
  thrownMessage = ' with message ' + matchersUtil.pp(thrown.message);
@@ -6276,20 +6724,33 @@ getJasmineRequireObj().toThrowError = function(j$) {
6276
6724
  }
6277
6725
 
6278
6726
  function matches(error) {
6279
- return (errorType === null || error instanceof errorType) &&
6280
- (expected === null || messageMatch(error.message));
6727
+ return (
6728
+ (errorType === null || error instanceof errorType) &&
6729
+ (expected === null || messageMatch(error.message))
6730
+ );
6281
6731
  }
6282
6732
 
6283
6733
  return {
6284
6734
  match: function(thrown) {
6285
6735
  if (matches(thrown)) {
6286
6736
  return pass(function() {
6287
- return 'Expected function not to throw ' + errorTypeDescription + messageDescription() + '.';
6737
+ return (
6738
+ 'Expected function not to throw ' +
6739
+ errorTypeDescription +
6740
+ messageDescription() +
6741
+ '.'
6742
+ );
6288
6743
  });
6289
6744
  } else {
6290
6745
  return fail(function() {
6291
- return 'Expected function to throw ' + errorTypeDescription + messageDescription() +
6292
- ', but it threw ' + thrownDescription(thrown) + '.';
6746
+ return (
6747
+ 'Expected function to throw ' +
6748
+ errorTypeDescription +
6749
+ messageDescription() +
6750
+ ', but it threw ' +
6751
+ thrownDescription(thrown) +
6752
+ '.'
6753
+ );
6293
6754
  });
6294
6755
  }
6295
6756
  }
@@ -6297,7 +6758,7 @@ getJasmineRequireObj().toThrowError = function(j$) {
6297
6758
  }
6298
6759
 
6299
6760
  function isStringOrRegExp(potential) {
6300
- return potential instanceof RegExp || (typeof potential == 'string');
6761
+ return potential instanceof RegExp || typeof potential == 'string';
6301
6762
  }
6302
6763
 
6303
6764
  function isAnErrorType(type) {
@@ -6329,7 +6790,10 @@ getJasmineRequireObj().toThrowError = function(j$) {
6329
6790
  };
6330
6791
 
6331
6792
  getJasmineRequireObj().toThrowMatching = function(j$) {
6332
- var usageError = j$.formatErrorMsg('<toThrowMatching>', 'expect(function() {<expectation>}).toThrowMatching(<Predicate>)');
6793
+ var usageError = j$.formatErrorMsg(
6794
+ '<toThrowMatching>',
6795
+ 'expect(function() {<expectation>}).toThrowMatching(<Predicate>)'
6796
+ );
6333
6797
 
6334
6798
  /**
6335
6799
  * {@link expect} a function to `throw` something matching a predicate.
@@ -6361,20 +6825,29 @@ getJasmineRequireObj().toThrowMatching = function(j$) {
6361
6825
  }
6362
6826
 
6363
6827
  if (predicate(thrown)) {
6364
- return pass('Expected function not to throw an exception matching a predicate.');
6828
+ return pass(
6829
+ 'Expected function not to throw an exception matching a predicate.'
6830
+ );
6365
6831
  } else {
6366
- return fail(function() {
6367
- return 'Expected function to throw an exception matching a predicate, ' +
6368
- 'but it threw ' + thrownDescription(thrown) + '.';
6369
- });
6832
+ return fail(function() {
6833
+ return (
6834
+ 'Expected function to throw an exception matching a predicate, ' +
6835
+ 'but it threw ' +
6836
+ thrownDescription(thrown) +
6837
+ '.'
6838
+ );
6839
+ });
6370
6840
  }
6371
6841
  }
6372
6842
  };
6373
6843
 
6374
6844
  function thrownDescription(thrown) {
6375
6845
  if (thrown && thrown.constructor) {
6376
- return j$.fnNameFor(thrown.constructor) + ' with message ' +
6377
- matchersUtil.pp(thrown.message);
6846
+ return (
6847
+ j$.fnNameFor(thrown.constructor) +
6848
+ ' with message ' +
6849
+ matchersUtil.pp(thrown.message)
6850
+ );
6378
6851
  } else {
6379
6852
  return matchersUtil.pp(thrown);
6380
6853
  }
@@ -6911,6 +7384,8 @@ getJasmineRequireObj().makePrettyPrinter = function(j$) {
6911
7384
  };
6912
7385
 
6913
7386
  getJasmineRequireObj().QueueRunner = function(j$) {
7387
+ var nextid = 1;
7388
+
6914
7389
  function StopExecutionError() {}
6915
7390
  StopExecutionError.prototype = new Error();
6916
7391
  j$.StopExecutionError = StopExecutionError;
@@ -6930,6 +7405,7 @@ getJasmineRequireObj().QueueRunner = function(j$) {
6930
7405
  function emptyFn() {}
6931
7406
 
6932
7407
  function QueueRunner(attrs) {
7408
+ this.id_ = nextid++;
6933
7409
  var queueableFns = attrs.queueableFns || [];
6934
7410
  this.queueableFns = queueableFns.concat(attrs.cleanupFns || []);
6935
7411
  this.firstCleanupIx = queueableFns.length;
@@ -7032,7 +7508,8 @@ getJasmineRequireObj().QueueRunner = function(j$) {
7032
7508
  }),
7033
7509
  errored = false,
7034
7510
  queueableFn = self.queueableFns[iterativeIndex],
7035
- timeoutId;
7511
+ timeoutId,
7512
+ maybeThenable;
7036
7513
 
7037
7514
  next.fail = function nextFail() {
7038
7515
  self.fail.apply(null, arguments);
@@ -7060,7 +7537,7 @@ getJasmineRequireObj().QueueRunner = function(j$) {
7060
7537
 
7061
7538
  try {
7062
7539
  if (queueableFn.fn.length === 0) {
7063
- var maybeThenable = queueableFn.fn.call(self.userContext);
7540
+ maybeThenable = queueableFn.fn.call(self.userContext);
7064
7541
 
7065
7542
  if (maybeThenable && j$.isFunction_(maybeThenable.then)) {
7066
7543
  maybeThenable.then(next, onPromiseRejection);
@@ -7068,7 +7545,8 @@ getJasmineRequireObj().QueueRunner = function(j$) {
7068
7545
  return { completedSynchronously: false };
7069
7546
  }
7070
7547
  } else {
7071
- queueableFn.fn.call(self.userContext, next);
7548
+ maybeThenable = queueableFn.fn.call(self.userContext, next);
7549
+ this.diagnoseConflictingAsync_(queueableFn.fn, maybeThenable);
7072
7550
  completedSynchronously = false;
7073
7551
  return { completedSynchronously: false };
7074
7552
  }
@@ -7121,6 +7599,29 @@ getJasmineRequireObj().QueueRunner = function(j$) {
7121
7599
  });
7122
7600
  };
7123
7601
 
7602
+ QueueRunner.prototype.diagnoseConflictingAsync_ = function(fn, retval) {
7603
+ if (retval && j$.isFunction_(retval.then)) {
7604
+ // Issue a warning that matches the user's code
7605
+ if (j$.isAsyncFunction_(fn)) {
7606
+ this.deprecated(
7607
+ 'An asynchronous before/it/after ' +
7608
+ 'function was defined with the async keyword but also took a ' +
7609
+ 'done callback. This is not supported and will stop working in' +
7610
+ ' the future. Either remove the done callback (recommended) or ' +
7611
+ 'remove the async keyword.'
7612
+ );
7613
+ } else {
7614
+ this.deprecated(
7615
+ 'An asynchronous before/it/after ' +
7616
+ 'function took a done callback but also returned a promise. ' +
7617
+ 'This is not supported and will stop working in the future. ' +
7618
+ 'Either remove the done callback (recommended) or change the ' +
7619
+ 'function to not return a promise.'
7620
+ );
7621
+ }
7622
+ }
7623
+ };
7624
+
7124
7625
  return QueueRunner;
7125
7626
  };
7126
7627
 
@@ -7552,7 +8053,7 @@ getJasmineRequireObj().interface = function(jasmine, env) {
7552
8053
  * @since 3.6.0
7553
8054
  * @function
7554
8055
  * @param {Function} formatter - A function which takes a value to format and returns a string if it knows how to format it, and `undefined` otherwise.
7555
- * @see custom_object_formatter
8056
+ * @see custom_object_formatters
7556
8057
  */
7557
8058
  jasmine.addCustomObjectFormatter = function(formatter) {
7558
8059
  return env.addCustomObjectFormatter(formatter);
@@ -7887,6 +8388,7 @@ getJasmineRequireObj().SpyFactory = function(j$) {
7887
8388
  var properties = normalizeKeyValues(propertyNames);
7888
8389
  for (var i = 0; i < properties.length; i++) {
7889
8390
  descriptor = {
8391
+ enumerable: true,
7890
8392
  get: self.createSpy(baseName + '.' + properties[i][0] + '.get'),
7891
8393
  set: self.createSpy(baseName + '.' + properties[i][0] + '.set')
7892
8394
  };
@@ -8308,7 +8810,13 @@ getJasmineRequireObj().SpyStrategy = function(j$) {
8308
8810
  * @param {Function} fn The function to invoke with the passed parameters.
8309
8811
  */
8310
8812
  SpyStrategy.prototype.callFake = function(fn) {
8311
- if (!(j$.isFunction_(fn) || j$.isAsyncFunction_(fn))) {
8813
+ if (
8814
+ !(
8815
+ j$.isFunction_(fn) ||
8816
+ j$.isAsyncFunction_(fn) ||
8817
+ j$.isGeneratorFunction_(fn)
8818
+ )
8819
+ ) {
8312
8820
  throw new Error(
8313
8821
  'Argument passed to callFake should be a function, got ' + fn
8314
8822
  );
@@ -8961,5 +9469,5 @@ getJasmineRequireObj().UserContext = function(j$) {
8961
9469
  };
8962
9470
 
8963
9471
  getJasmineRequireObj().version = function() {
8964
- return '3.6.0';
9472
+ return '3.7.1';
8965
9473
  };