@platform/react
Version:
React refs and helpers.
87 lines (86 loc) • 4.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = tslib_1.__importStar(require("react"));
var test_1 = require("../test");
var rxjs_1 = require("rxjs");
var operators_1 = require("rxjs/operators");
var _1 = require(".");
describe('Mouse', function () {
describe('events$', function () {
it('fromProps', function () {
var props = {};
var events = _1.Mouse.fromProps(props);
var unmounted$ = new rxjs_1.Subject();
events.events$.pipe((0, operators_1.takeUntil)(unmounted$));
});
it('<div>', function () {
var Foo = (function (_super) {
tslib_1.__extends(Foo, _super);
function Foo(props) {
var _this = _super.call(this, props) || this;
_this.mouse = _1.Mouse.fromProps(props);
return _this;
}
Foo.prototype.render = function () {
return React.createElement("div", tslib_1.__assign({}, this.mouse.events), "Hello");
};
return Foo;
}(React.PureComponent));
var el = React.createElement(Foo, { name: 'mary' });
(0, test_1.expect)(el.props).to.eql({ name: 'mary' });
});
});
describe('handler', function () {
it('single handler', function () {
var res = _1.Mouse.handle({ type: 'CLICK', handlers: [function (e) { return true; }] });
(0, test_1.expect)(res).to.be.an.instanceof(Function);
});
it('multiple handlers', function () {
var res = _1.Mouse.handle({ type: 'CLICK', handlers: [function (e) { return true; }, function (e) { return false; }] });
(0, test_1.expect)(res).to.be.an.instanceof(Function);
});
it('no handlers (undefined)', function () {
var res = _1.Mouse.handle({ type: 'CLICK' });
(0, test_1.expect)(res).to.eql(undefined);
});
});
describe('handlers', function () {
it('generic handler (for all mouse events)', function () {
var res = _1.Mouse.handlers(function (e) { return true; });
(0, test_1.expect)(res.isActive).to.eql(true);
(0, test_1.expect)(res.events$).to.be.an.instanceof(rxjs_1.Observable);
(0, test_1.expect)(res.events.onClick).to.be.an.instanceof(Function);
(0, test_1.expect)(res.events.onDoubleClick).to.be.an.instanceof(Function);
(0, test_1.expect)(res.events.onMouseDown).to.be.an.instanceof(Function);
(0, test_1.expect)(res.events.onMouseUp).to.be.an.instanceof(Function);
(0, test_1.expect)(res.events.onMouseEnter).to.be.an.instanceof(Function);
(0, test_1.expect)(res.events.onMouseLeave).to.be.an.instanceof(Function);
});
it('no handlers', function () {
var res = _1.Mouse.handlers();
(0, test_1.expect)(res.isActive).to.eql(false);
(0, test_1.expect)(res.events$).to.be.an.instanceof(rxjs_1.Observable);
(0, test_1.expect)(res.events.onClick).to.eql(undefined);
(0, test_1.expect)(res.events.onDoubleClick).to.eql(undefined);
(0, test_1.expect)(res.events.onMouseDown).to.eql(undefined);
(0, test_1.expect)(res.events.onMouseUp).to.eql(undefined);
(0, test_1.expect)(res.events.onMouseEnter).to.eql(undefined);
(0, test_1.expect)(res.events.onMouseLeave).to.eql(undefined);
});
it('no generic handler, one specific handler (all handlers returned)', function () {
var res = _1.Mouse.handlers(undefined, {
onMouseEnter: function (e) { return true; },
onMouseLeave: function (e) { return true; },
});
(0, test_1.expect)(res.isActive).to.eql(true);
(0, test_1.expect)(res.events$).to.be.an.instanceof(rxjs_1.Observable);
(0, test_1.expect)(res.events.onClick).to.eql(undefined);
(0, test_1.expect)(res.events.onDoubleClick).to.eql(undefined);
(0, test_1.expect)(res.events.onMouseDown).to.eql(undefined);
(0, test_1.expect)(res.events.onMouseUp).to.eql(undefined);
(0, test_1.expect)(res.events.onMouseEnter).to.be.an.instanceof(Function);
(0, test_1.expect)(res.events.onMouseLeave).to.be.an.instanceof(Function);
});
});
});