import merge from '../src/merge.js' import { expect } from 'chai' describe('Class Merge', function () { class Colored { initializer () { this._color = 'white' } get color () { return this._color } set color (v) { this._color = v } } class ZCoord { initializer () { this._z = 0 } get z () { return this._z } set z (v) { this._z = v } } class Shape { constructor (x, y) { this._x = x; this._y = y } get x () { return this._x } set x (v) { this._x = v } get y () { return this._y } set y (v) { this._y = v } } var Rectangle = class Rectangle extends merge(Shape, Colored, ZCoord) {} var rect = new Rectangle(7, 42) rect.z = 1000 rect.color = 'red' it('Should merge three classes', function () { expect(rect.x).to.be.equal(7) expect(rect.y).to.be.equal(42) expect(rect.z).to.be.equal(1000) expect(rect.color).to.be.equal('red') }) })