@remax/framework-shared
Version:
使用真正的 React 构建跨平台小程序
53 lines (52 loc) • 2.45 kB
JavaScript
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();
});
});