|
- /**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @format
- *
- * @emails oncall+draft_js
- */
- 'use strict';
-
- var CharacterMetadata = require("./CharacterMetadata");
-
- var ContentBlock = require("./ContentBlock");
-
- var ContentState = require("./ContentState");
-
- var EditorState = require("./EditorState");
-
- var _require = require("./SampleDraftInlineStyle"),
- BOLD = _require.BOLD;
-
- var Immutable = require("immutable");
-
- var EMPTY = CharacterMetadata.EMPTY;
-
- var getSampleSelectionMocksForTesting = function getSampleSelectionMocksForTesting() {
- var root = document.createElement('div');
- var contents = document.createElement('div');
- contents.setAttribute('data-contents', 'true');
- root.appendChild(contents);
- var text = ['Washington', 'Jefferson', 'Lincoln', 'Roosevelt', 'Kennedy', 'Obama'];
- var textA = text[0] + text[1];
- var textB = text[2] + text[3];
- var textC = text[4] + text[5];
- var boldChar = CharacterMetadata.create({
- style: BOLD
- });
- var aChars = Immutable.List(Immutable.Repeat(EMPTY, text[0].length).concat(Immutable.Repeat(boldChar, text[1].length)));
- var bChars = Immutable.List(Immutable.Repeat(EMPTY, text[2].length).concat(Immutable.Repeat(boldChar, text[3].length)));
- var cChars = Immutable.List(Immutable.Repeat(EMPTY, text[4].length).concat(Immutable.Repeat(boldChar, text[5].length)));
- var contentBlocks = [new ContentBlock({
- key: 'a',
- type: 'unstyled',
- text: textA,
- characterList: aChars
- }), new ContentBlock({
- key: 'b',
- type: 'unstyled',
- text: textB,
- characterList: bChars
- }), new ContentBlock({
- key: 'c',
- type: 'unstyled',
- text: textC,
- characterList: cChars
- })];
- var contentState = ContentState.createFromBlockArray(contentBlocks);
- var editorState = EditorState.createWithContent(contentState);
- var textNodes = text.map(function (text) {
- return document.createTextNode(text);
- });
- var leafChildren = textNodes.map(function (textNode) {
- var span = document.createElement('span');
- span.appendChild(textNode);
- return span;
- });
- var leafs = ['a-0-0', 'a-0-1', 'b-0-0', 'b-0-1', 'c-0-0', 'c-0-1'].map(function (blockKey, index) {
- var span = document.createElement('span');
- span.setAttribute('data-offset-key', '' + blockKey);
- span.appendChild(leafChildren[index]);
- return span;
- });
- var decorators = ['a-0-0', 'b-0-0', 'c-0-0'].map(function (decoratorKey, index) {
- var span = document.createElement('span');
- span.setAttribute('data-offset-key', '' + decoratorKey);
- span.appendChild(leafs[index * 2]);
- span.appendChild(leafs[index * 2 + 1]);
- return span;
- });
- var blocks = ['a-0-0', 'b-0-0', 'c-0-0'].map(function (blockKey, index) {
- var outerBlockElement = document.createElement('div');
- var innerBlockElement = document.createElement('div');
- innerBlockElement.setAttribute('data-offset-key', '' + blockKey);
- innerBlockElement.appendChild(decorators[index]);
- outerBlockElement.setAttribute('data-offset-key', '' + blockKey);
- outerBlockElement.setAttribute('data-block', 'true');
- outerBlockElement.appendChild(innerBlockElement);
- return outerBlockElement;
- });
- blocks.forEach(function (blockElem) {
- contents.appendChild(blockElem);
- });
- return {
- editorState: editorState,
- root: root,
- contents: contents,
- blocks: blocks,
- decorators: decorators,
- leafs: leafs,
- leafChildren: leafChildren,
- textNodes: textNodes
- };
- };
-
- module.exports = getSampleSelectionMocksForTesting;
|