UNPKG

draft-js-export-markdown

Version:
61 lines (46 loc) 2.45 kB
"use strict"; var _expect = _interopRequireDefault(require("expect")); var _draftJs = require("draft-js"); var _stateToMarkdown = _interopRequireDefault(require("../stateToMarkdown")); var _fs = _interopRequireDefault(require("fs")); var _path = require("path"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } var _global = global, describe = _global.describe, it = _global.it; // This separates the test cases in `data/test-cases.txt`. var SEP = '\n\n>>'; var testCasesRaw = _fs["default"].readFileSync((0, _path.join)(__dirname, '..', '..', 'test', 'test-cases.txt'), 'utf8'); var testCases = testCasesRaw.slice(2).trim().split(SEP).map(function (text) { var lines = text.split('\n'); var _lines$shift$split = lines.shift().split('|'), _lines$shift$split2 = _slicedToArray(_lines$shift$split, 2), description = _lines$shift$split2[0], config = _lines$shift$split2[1]; description = description.trim(); var options = config ? JSON.parse(config.trim()) : undefined; var state = JSON.parse(lines.shift()); var markdown = lines.join('\n'); return { description: description, state: state, markdown: markdown, options: options }; }); describe('stateToMarkdown', function () { testCases.forEach(function (testCase) { var description = testCase.description, state = testCase.state, markdown = testCase.markdown, options = testCase.options; it("should render ".concat(description), function () { var contentState = (0, _draftJs.convertFromRaw)(state); (0, _expect["default"])((0, _stateToMarkdown["default"])(contentState, options)).toBe(markdown + '\n'); }); }); });