react-native-cross-components
Version:
Beautiful React-Native components using RN Paper by Callstack
69 lines • 13 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
jest.unmock('react-native');
jest.unmock('./CrossLabel');
const react_1 = __importDefault(require("react"));
const CrossLabel_1 = __importDefault(require("./CrossLabel"));
const react_test_renderer_1 = __importDefault(require("react-test-renderer"));
const react_native_paper_1 = require("react-native-paper");
const styles_1 = require("../../styles");
const react_native_1 = require("react-native");
/**
* Test component rendering. Properties of children might be tested by importing their type:
*```
const btn = wrapper.root.findByType(Button); // or findByProps({ mode: 'text' });
expect(btn.props.title).toBe('child');
```
*/
describe('components', () => {
describe('<CrossLabel />', () => {
describe('`ICrossLabelProps` interface', () => {
const propsMock = {};
it('Should match snapshot', () => {
expect(propsMock).toMatchSnapshot();
});
it('Should have `isTitle` property that is undefined', () => {
expect(propsMock.isTitle).toBeUndefined();
});
});
it('Component should render', () => {
const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossLabel_1.default, null));
expect(wrapper.toJSON()).toMatchSnapshot();
});
it('When `isHeadline` is `true` should contain <Headline />', () => {
const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossLabel_1.default, { isHeadline: true }, "Crossplatform (isHeadline=true)"));
const child = wrapper.root.findByType(react_native_paper_1.Headline);
expect(child.type).toEqual('Text');
});
it('When `isTitle` is `true` should contain <Headline />', () => {
const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossLabel_1.default, { isTitle: true }, "<CrossLabel isTitle=true>"));
const child = wrapper.root.findByType(react_native_paper_1.Title);
expect(child.instance).toBeDefined();
});
it('When `isSubheading` is `true` should contain <Subheading />', () => {
const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossLabel_1.default, { isSubheading: true, style: { marginTop: 5 } }, "isSubHeading = true"));
const child = wrapper.root.findByType(react_native_paper_1.Subheading);
expect(child.instance).toBeDefined();
});
it('When `isCaption` is `true` should contain <Caption />', () => {
const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossLabel_1.default, { isCaption: true, style: { color: styles_1.Colors.CrossLightBlue, marginTop: 10 } }, "isCaption=true, custom color"));
const child = wrapper.root.findByType(react_native_paper_1.Caption);
expect(child.instance).toBeDefined();
});
it('When `isParagraph` is `true` should contain <Paragraph />', () => {
const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossLabel_1.default, { isParagraph: true, style: { marginTop: 5 } }, "isParagraph = true"));
const child = wrapper.root.findByType(react_native_paper_1.Paragraph);
expect(child.instance).toBeDefined();
});
it('When `onPressUrlTarget` is url should be clickable', () => {
const wrapper = react_test_renderer_1.default.create(react_1.default.createElement(CrossLabel_1.default, { onPressUrlTarget: "https://www.typescriptlang.org/", style: { marginTop: 20, marginBottom: 10 } }, "Clickable link (onPressUrlTarget):"));
const child = wrapper.root.findByType(react_native_paper_1.Text);
child.props.onPress();
expect(react_native_1.Linking.openURL).toBeCalledWith('https://www.typescriptlang.org/');
});
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJmaWxlIjoiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbGFiZWxzL0Nyb3NzTGFiZWwudGVzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFjQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFmNUIsa0RBQTBCO0FBQzFCLDhEQUE0RDtBQUM1RCw4RUFBK0M7QUFDL0MsMkRBTzRCO0FBQzVCLHlDQUFzQztBQUN0QywrQ0FBdUM7QUFLdkM7Ozs7OztLQU1LO0FBQ0wsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDMUIsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtRQUM5QixRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1lBQzVDLE1BQU0sU0FBUyxHQUFxQixFQUFFLENBQUM7WUFDdkMsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtnQkFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtnQkFDMUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtZQUNqQyxNQUFNLE9BQU8sR0FBRyw2QkFBWSxDQUFDLE1BQU0sQ0FBQyw4QkFBQyxvQkFBVSxPQUFHLENBQUMsQ0FBQztZQUNwRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseURBQXlELEVBQUUsR0FBRyxFQUFFO1lBQ2pF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LENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi9Vc2Vycy90aG9tYXMvU291cmNlL3JlYWN0LW5hdGl2ZS1jb3JlL3NvdXJjZS9jb21wb25lbnRzL2xhYmVscy9Dcm9zc0xhYmVsLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ3Jvc3NMYWJlbCwgeyBJQ3Jvc3NMYWJlbFByb3BzIH0gZnJvbSAnLi9Dcm9zc0xhYmVsJztcbmltcG9ydCBUZXN0UmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5pbXBvcnQge1xuICBIZWFkbGluZSxcbiAgVGl0bGUsXG4gIFN1YmhlYWRpbmcsXG4gIENhcHRpb24sXG4gIFBhcmFncmFwaCxcbiAgVGV4dCxcbn0gZnJvbSAncmVhY3QtbmF0aXZlLXBhcGVyJztcbmltcG9ydCB7IENvbG9ycyB9IGZyb20gJy4uLy4uL3N0eWxlcyc7XG5pbXBvcnQgeyBMaW5raW5nIH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuamVzdC51bm1vY2soJ3JlYWN0LW5hdGl2ZScpO1xuamVzdC51bm1vY2soJy4vQ3Jvc3NMYWJlbCcpO1xuXG4vKipcbiAgICogVGVzdCBjb21wb25lbnQgcmVuZGVyaW5nLiBQcm9wZXJ0aWVzIG9mIGNoaWxkcmVuIG1pZ2h0IGJlIHRlc3RlZCBieSBpbXBvcnRpbmcgdGhlaXIgdHlwZTpcbiAgICpgYGBcbiAgICAgIGNvbnN0IGJ0biA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKEJ1dHRvbik7IC8vIG9yIGZpbmRCeVByb3BzKHsgbW9kZTogJ3RleHQnIH0pO1xuICAgICAgZXhwZWN0KGJ0bi5wcm9wcy50aXRsZSkudG9CZSgnY2hpbGQnKTtcbiAgICAgIGBgYFxuICAgKi9cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnPENyb3NzTGFiZWwgLz4nLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ2BJQ3Jvc3NMYWJlbFByb3BzYCBpbnRlcmZhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wc01vY2s6IElDcm9zc0xhYmVsUHJvcHMgPSB7fTtcbiAgICAgIGl0KCdTaG91bGQgbWF0Y2ggc25hcHNob3QnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChwcm9wc01vY2spLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdTaG91bGQgaGF2ZSBgaXNUaXRsZWAgcHJvcGVydHkgdGhhdCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChwcm9wc01vY2suaXNUaXRsZSkudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnQ29tcG9uZW50IHNob3VsZCByZW5kZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZSg8Q3Jvc3NMYWJlbCAvPik7XG4gICAgICBleHBlY3Qod3JhcHBlci50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnV2hlbiBgaXNIZWFkbGluZWAgaXMgYHRydWVgIHNob3VsZCBjb250YWluIDxIZWFkbGluZSAvPicsICgpID0+IHtcbiAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICA8Q3Jvc3NMYWJlbCBpc0hlYWRsaW5lPXt0cnVlfT5cbiAgICAgICAgICBDcm9zc3BsYXRmb3JtIChpc0hlYWRsaW5lPXRydWUpXG4gICAgICAgIDwvQ3Jvc3NMYWJlbD5cbiAgICAgICk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKEhlYWRsaW5lKTtcbiAgICAgIGV4cGVjdChjaGlsZC50eXBlKS50b0VxdWFsKCdUZXh0Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnV2hlbiBgaXNUaXRsZWAgaXMgYHRydWVgIHNob3VsZCBjb250YWluIDxIZWFkbGluZSAvPicsICgpID0+IHtcbiAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICA8Q3Jvc3NMYWJlbCBpc1RpdGxlPXt0cnVlfT4mbHQ7Q3Jvc3NMYWJlbCBpc1RpdGxlPXRydWUmZ3Q7PC9Dcm9zc0xhYmVsPlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoVGl0bGUpO1xuICAgICAgZXhwZWN0KGNoaWxkLmluc3RhbmNlKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1doZW4gYGlzU3ViaGVhZGluZ2AgaXMgYHRydWVgIHNob3VsZCBjb250YWluIDxTdWJoZWFkaW5nIC8+JywgKCkgPT4ge1xuICAgICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgICAgIDxDcm9zc0xhYmVsIGlzU3ViaGVhZGluZz17dHJ1ZX0gc3R5bGU9e3sgbWFyZ2luVG9wOiA1IH19PlxuICAgICAgICAgIGlzU3ViSGVhZGluZyA9IHRydWVcbiAgICAgICAgPC9Dcm9zc0xhYmVsPlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoU3ViaGVhZGluZyk7XG4gICAgICBleHBlY3QoY2hpbGQuaW5zdGFuY2UpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnV2hlbiBgaXNDYXB0aW9uYCBpcyBgdHJ1ZWAgc2hvdWxkIGNvbnRhaW4gPENhcHRpb24gLz4nLCAoKSA9PiB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICAgICAgPENyb3NzTGFiZWxcbiAgICAgICAgICBpc0NhcHRpb249e3RydWV9XG4gICAgICAgICAgc3R5bGU9e3sgY29sb3I6IENvbG9ycy5Dcm9zc0xpZ2h0Qmx1ZSwgbWFyZ2luVG9wOiAxMCB9fVxuICAgICAgICA+XG4gICAgICAgICAgaXNDYXB0aW9uPXRydWUsIGN1c3RvbSBjb2xvclxuICAgICAgICA8L0Nyb3NzTGFiZWw+XG4gICAgICApO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShDYXB0aW9uKTtcbiAgICAgIGV4cGVjdChjaGlsZC5pbnN0YW5jZSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdXaGVuIGBpc1BhcmFncmFwaGAgaXMgYHRydWVgIHNob3VsZCBjb250YWluIDxQYXJhZ3JhcGggLz4nLCAoKSA9PiB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICAgICAgPENyb3NzTGFiZWwgaXNQYXJhZ3JhcGg9e3RydWV9IHN0eWxlPXt7IG1hcmdpblRvcDogNSB9fT5cbiAgICAgICAgICBpc1BhcmFncmFwaCA9IHRydWVcbiAgICAgICAgPC9Dcm9zc0xhYmVsPlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoUGFyYWdyYXBoKTtcbiAgICAgIGV4cGVjdChjaGlsZC5pbnN0YW5jZSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdXaGVuIGBvblByZXNzVXJsVGFyZ2V0YCBpcyB1cmwgc2hvdWxkIGJlIGNsaWNrYWJsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICA8Q3Jvc3NMYWJlbFxuICAgICAgICAgIG9uUHJlc3NVcmxUYXJnZXQ9XCJodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvXCJcbiAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IDIwLCBtYXJnaW5Cb3R0b206IDEwIH19XG4gICAgICAgID5cbiAgICAgICAgICBDbGlja2FibGUgbGluayAob25QcmVzc1VybFRhcmdldCk6XG4gICAgICAgIDwvQ3Jvc3NMYWJlbD5cbiAgICAgICk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKFRleHQpO1xuICAgICAgY2hpbGQucHJvcHMub25QcmVzcygpO1xuICAgICAgZXhwZWN0KExpbmtpbmcub3BlblVSTCkudG9CZUNhbGxlZFdpdGgoJ2h0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy8nKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ==