| 'use strict' | 
| /* eslint-env mocha */ | 
| /* eslint no-proto: 0 */ | 
| var assert = require('assert') | 
| var setPrototypeOf = require('..') | 
|   | 
| describe('setProtoOf(obj, proto)', function () { | 
|   it('should merge objects', function () { | 
|     var obj = { a: 1, b: 2 } | 
|     var proto = { b: 3, c: 4 } | 
|     var mergeObj = setPrototypeOf(obj, proto) | 
|   | 
|     if (Object.getPrototypeOf) { | 
|       assert.strictEqual(Object.getPrototypeOf(obj), proto) | 
|     } else if ({ __proto__: [] } instanceof Array) { | 
|       assert.strictEqual(obj.__proto__, proto) | 
|     } else { | 
|       assert.strictEqual(obj.a, 1) | 
|       assert.strictEqual(obj.b, 2) | 
|       assert.strictEqual(obj.c, 4) | 
|     } | 
|     assert.strictEqual(mergeObj, obj) | 
|   }) | 
| }) |