UNPKG

@platform/react

Version:

React refs and helpers.

87 lines (86 loc) 4.5 kB
"use strict"; 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); }); }); });