UNPKG

@peergrade/react-pdf

Version:

Display PDFs in your React app as easily as if they were images.

115 lines (85 loc) 3.22 kB
'use strict'; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _enzyme = require('enzyme'); var _entry = require('../../entry.jest'); var _TextLayerItem = require('../TextLayerItem'); var _utils = require('../../__tests__/utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var pdfFile = (0, _utils.loadPDF)('./__mocks__/_pdf.pdf'); /* eslint-disable comma-dangle */ describe('TextLayerItem', function () { // Loaded page var page = void 0; beforeAll((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() { var pdf; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return _entry.pdfjs.getDocument({ data: pdfFile.arrayBuffer }); case 2: pdf = _context.sent; _context.next = 5; return pdf.getPage(1); case 5: page = _context.sent; case 6: case 'end': return _context.stop(); } } }, _callee, undefined); }))); var defaultProps = { fontName: '', itemIndex: 0, str: 'Test', transform: [], width: 0 }; describe('rendering', function () { it('renders text content properly', function () { var str = 'Test string'; var component = (0, _enzyme.shallow)(_react2.default.createElement(_TextLayerItem.TextLayerItemInternal, (0, _extends3.default)({}, defaultProps, { page: page, str: str }))); var textItem = component.text(); expect(textItem).toEqual(str); }); it('calls customTextRenderer with necessary arguments', function () { var customTextRenderer = jest.fn(); var str = 'Test string'; var itemIndex = 5; (0, _enzyme.shallow)(_react2.default.createElement(_TextLayerItem.TextLayerItemInternal, (0, _extends3.default)({}, defaultProps, { customTextRenderer: customTextRenderer, itemIndex: itemIndex, page: page, str: str }))); expect(customTextRenderer).toBeCalledWith(expect.objectContaining({ str: str, itemIndex: itemIndex })); }); it('renders text content properly given customTextRenderer', function () { var customTextRenderer = function customTextRenderer() { return 'Test value'; }; var component = (0, _enzyme.shallow)(_react2.default.createElement(_TextLayerItem.TextLayerItemInternal, (0, _extends3.default)({}, defaultProps, { customTextRenderer: customTextRenderer, page: page }))); var textItem = component.text(); expect(textItem).toEqual('Test value'); }); }); });