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).toBeDefined();
});
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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LENBQUMsQ0FBQyxjQUFjLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiL1VzZXJzL3Rob21hcy9Tb3VyY2UvcmVhY3QtbmF0aXZlLWNvcmUvc291cmNlL2NvbXBvbmVudHMvbGFiZWxzL0Nyb3NzTGFiZWwudGVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDcm9zc0xhYmVsLCB7IElDcm9zc0xhYmVsUHJvcHMgfSBmcm9tICcuL0Nyb3NzTGFiZWwnO1xuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJztcbmltcG9ydCB7XG4gIEhlYWRsaW5lLFxuICBUaXRsZSxcbiAgU3ViaGVhZGluZyxcbiAgQ2FwdGlvbixcbiAgUGFyYWdyYXBoLFxuICBUZXh0LFxufSBmcm9tICdyZWFjdC1uYXRpdmUtcGFwZXInO1xuaW1wb3J0IHsgQ29sb3JzIH0gZnJvbSAnLi4vLi4vc3R5bGVzJztcbmltcG9ydCB7IExpbmtpbmcgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5qZXN0LnVubW9jaygncmVhY3QtbmF0aXZlJyk7XG5qZXN0LnVubW9jaygnLi9Dcm9zc0xhYmVsJyk7XG5cbi8qKlxuICAgKiBUZXN0IGNvbXBvbmVudCByZW5kZXJpbmcuIFByb3BlcnRpZXMgb2YgY2hpbGRyZW4gbWlnaHQgYmUgdGVzdGVkIGJ5IGltcG9ydGluZyB0aGVpciB0eXBlOlxuICAgKmBgYFxuICAgICAgY29uc3QgYnRuID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoQnV0dG9uKTsgLy8gb3IgZmluZEJ5UHJvcHMoeyBtb2RlOiAndGV4dCcgfSk7XG4gICAgICBleHBlY3QoYnRuLnByb3BzLnRpdGxlKS50b0JlKCdjaGlsZCcpO1xuICAgICAgYGBgXG4gICAqL1xuZGVzY3JpYmUoJ2NvbXBvbmVudHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCc8Q3Jvc3NMYWJlbCAvPicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnYElDcm9zc0xhYmVsUHJvcHNgIGludGVyZmFjZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzTW9jazogSUNyb3NzTGFiZWxQcm9wcyA9IHt9O1xuICAgICAgaXQoJ1Nob3VsZCBtYXRjaCBzbmFwc2hvdCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHByb3BzTW9jaykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIGBpc1RpdGxlYCBwcm9wZXJ0eSB0aGF0IGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHByb3BzTW9jay5pc1RpdGxlKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdDb21wb25lbnQgc2hvdWxkIHJlbmRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKDxDcm9zc0xhYmVsIC8+KTtcbiAgICAgIGV4cGVjdCh3cmFwcGVyLnRvSlNPTigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdXaGVuIGBpc0hlYWRsaW5lYCBpcyBgdHJ1ZWAgc2hvdWxkIGNvbnRhaW4gPEhlYWRsaW5lIC8+JywgKCkgPT4ge1xuICAgICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgICAgIDxDcm9zc0xhYmVsIGlzSGVhZGxpbmU9e3RydWV9PlxuICAgICAgICAgIENyb3NzcGxhdGZvcm0gKGlzSGVhZGxpbmU9dHJ1ZSlcbiAgICAgICAgPC9Dcm9zc0xhYmVsPlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoSGVhZGxpbmUpO1xuICAgICAgZXhwZWN0KGNoaWxkLnR5cGUpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnV2hlbiBgaXNUaXRsZWAgaXMgYHRydWVgIHNob3VsZCBjb250YWluIDxIZWFkbGluZSAvPicsICgpID0+IHtcbiAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICA8Q3Jvc3NMYWJlbCBpc1RpdGxlPXt0cnVlfT4mbHQ7Q3Jvc3NMYWJlbCBpc1RpdGxlPXRydWUmZ3Q7PC9Dcm9zc0xhYmVsPlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoVGl0bGUpO1xuICAgICAgZXhwZWN0KGNoaWxkLmluc3RhbmNlKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1doZW4gYGlzU3ViaGVhZGluZ2AgaXMgYHRydWVgIHNob3VsZCBjb250YWluIDxTdWJoZWFkaW5nIC8+JywgKCkgPT4ge1xuICAgICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgICAgIDxDcm9zc0xhYmVsIGlzU3ViaGVhZGluZz17dHJ1ZX0gc3R5bGU9e3sgbWFyZ2luVG9wOiA1IH19PlxuICAgICAgICAgIGlzU3ViSGVhZGluZyA9IHRydWVcbiAgICAgICAgPC9Dcm9zc0xhYmVsPlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoU3ViaGVhZGluZyk7XG4gICAgICBleHBlY3QoY2hpbGQuaW5zdGFuY2UpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnV2hlbiBgaXNDYXB0aW9uYCBpcyBgdHJ1ZWAgc2hvdWxkIGNvbnRhaW4gPENhcHRpb24gLz4nLCAoKSA9PiB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICAgICAgPENyb3NzTGFiZWxcbiAgICAgICAgICBpc0NhcHRpb249e3RydWV9XG4gICAgICAgICAgc3R5bGU9e3sgY29sb3I6IENvbG9ycy5Dcm9zc0xpZ2h0Qmx1ZSwgbWFyZ2luVG9wOiAxMCB9fVxuICAgICAgICA+XG4gICAgICAgICAgaXNDYXB0aW9uPXRydWUsIGN1c3RvbSBjb2xvclxuICAgICAgICA8L0Nyb3NzTGFiZWw+XG4gICAgICApO1xuICAgICAgY29uc3QgY2hpbGQgPSB3cmFwcGVyLnJvb3QuZmluZEJ5VHlwZShDYXB0aW9uKTtcbiAgICAgIGV4cGVjdChjaGlsZC5pbnN0YW5jZSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdXaGVuIGBpc1BhcmFncmFwaGAgaXMgYHRydWVgIHNob3VsZCBjb250YWluIDxQYXJhZ3JhcGggLz4nLCAoKSA9PiB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZShcbiAgICAgICAgPENyb3NzTGFiZWwgaXNQYXJhZ3JhcGg9e3RydWV9IHN0eWxlPXt7IG1hcmdpblRvcDogNSB9fT5cbiAgICAgICAgICBpc1BhcmFncmFwaCA9IHRydWVcbiAgICAgICAgPC9Dcm9zc0xhYmVsPlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5yb290LmZpbmRCeVR5cGUoUGFyYWdyYXBoKTtcbiAgICAgIGV4cGVjdChjaGlsZC5pbnN0YW5jZSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdXaGVuIGBvblByZXNzVXJsVGFyZ2V0YCBpcyB1cmwgc2hvdWxkIGJlIGNsaWNrYWJsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgICA8Q3Jvc3NMYWJlbFxuICAgICAgICAgIG9uUHJlc3NVcmxUYXJnZXQ9XCJodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvXCJcbiAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IDIwLCBtYXJnaW5Cb3R0b206IDEwIH19XG4gICAgICAgID5cbiAgICAgICAgICBDbGlja2FibGUgbGluayAob25QcmVzc1VybFRhcmdldCk6XG4gICAgICAgIDwvQ3Jvc3NMYWJlbD5cbiAgICAgICk7XG4gICAgICBjb25zdCBjaGlsZCA9IHdyYXBwZXIucm9vdC5maW5kQnlUeXBlKFRleHQpO1xuICAgICAgY2hpbGQucHJvcHMub25QcmVzcygpO1xuICAgICAgZXhwZWN0KExpbmtpbmcub3BlblVSTCkudG9CZUNhbGxlZFdpdGgoJ2h0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy8nKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJ2ZXJzaW9uIjozfQ==