UNPKG

@remax/framework-shared

Version:

使用真正的 React 构建跨平台小程序

53 lines (52 loc) 2.45 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); import * as React from 'react'; import TestRenderer from 'react-test-renderer'; import createPageWrapper from '../createPageWrapper'; describe('createPageWrapper', function () { var Page = /** @class */ (function (_super) { __extends(Page, _super); function Page() { return _super !== null && _super.apply(this, arguments) || this; } Page.prototype.render = function () { return React.createElement("view", null, "hi"); }; return Page; }(React.Component)); it('get Page ref', function () { var WrappedPage = createPageWrapper(Page, ''); var testRenderer = TestRenderer.create(React.createElement(WrappedPage, { page: null, query: {} })); var instance = testRenderer.getInstance(); expect(instance.pageComponentInstance).toBeInstanceOf(Page); }); it('get Page ref with HOC', function () { var hoc = function (PageComponent) { return React.forwardRef(function (_, ref) { return React.createElement(PageComponent, { ref: ref }); }); }; var WrappedPage = createPageWrapper(hoc(Page), ''); var testRenderer = TestRenderer.create(React.createElement(WrappedPage, { page: null, query: {} })); var instance = testRenderer.getInstance(); expect(instance.pageComponentInstance).toBeInstanceOf(Page); }); it('does not pass ref to FC', function () { var FCPage = function (props) { return React.createElement("view", null, "hi"); }; var WrappedPage = createPageWrapper(FCPage, ''); var testRenderer = TestRenderer.create(React.createElement(WrappedPage, { page: null, query: {} })); var instance = testRenderer.getInstance(); expect(instance.pageComponentInstance).toBeNull(); }); });