|
813 | 813 |
|
814 | 814 | try {
|
815 | 815 | var symObject = Object(symbol);
|
| 816 | + |
| 817 | + // Avoid symbol detection in Babel's `typeof` helper. |
816 | 818 | symObject.constructor = Object;
|
| 819 | + |
817 | 820 | actual = [
|
818 |
| - Symbol ? lodashBizarro.clone(symObject) : {}, |
| 821 | + Symbol ? lodashBizarro.clone(symObject) : { 'constructor': Object }, |
819 | 822 | Symbol ? lodashBizarro.isEqual(symObject, Object(symbol)) : false,
|
820 | 823 | Symbol ? lodashBizarro.toString(symObject) : ''
|
821 | 824 | ];
|
822 | 825 | } catch (e) {
|
823 | 826 | actual = null;
|
824 | 827 | }
|
825 | 828 | label = message('_.clone`, `_.isEqual`, and `_.toString', 'Symbol');
|
826 |
| - assert.deepEqual(actual, [{}, false, ''], label); |
| 829 | + assert.deepEqual(actual, [{ 'constructor': Object }, false, ''], label); |
827 | 830 |
|
828 | 831 | try {
|
829 | 832 | var map = new lodashBizarro.memoize.Cache;
|
|
2632 | 2635 | assert.strictEqual(actual.lastIndex, 3);
|
2633 | 2636 | });
|
2634 | 2637 |
|
| 2638 | + QUnit.test('`_.' + methodName + '` should clone expando properties', function(assert) { |
| 2639 | + assert.expect(1); |
| 2640 | + |
| 2641 | + var values = lodashStable.map([true, false, 1, 'a'], function(value) { |
| 2642 | + var object = Object(value); |
| 2643 | + object.a = 1; |
| 2644 | + return object; |
| 2645 | + }); |
| 2646 | + |
| 2647 | + var expected = lodashStable.map(values, alwaysTrue); |
| 2648 | + |
| 2649 | + var actual = lodashStable.map(values, function(value) { |
| 2650 | + return func(value).a === 1; |
| 2651 | + }); |
| 2652 | + |
| 2653 | + assert.deepEqual(actual, expected); |
| 2654 | + }); |
| 2655 | + |
2635 | 2656 | QUnit.test('`_.' + methodName + '` should clone prototype objects', function(assert) {
|
2636 | 2657 | assert.expect(2);
|
2637 | 2658 |
|
|
0 commit comments