const WORDS = require('./words') const {Point, Range} = require('text-buffer') exports.getRandomBufferRange = function getRandomBufferRange (random, buffer) { const endRow = random(buffer.getLineCount()) const startRow = random.intBetween(0, endRow) const startColumn = random(buffer.lineForRow(startRow).length + 1) const endColumn = random(buffer.lineForRow(endRow).length + 1) return Range(Point(startRow, startColumn), Point(endRow, endColumn)) } exports.buildRandomLines = function buildRandomLines (random, maxLines) { const lines = [] for (let i = 0; i < random(maxLines); i++) { lines.push(buildRandomLine(random)) } return lines.join('\n') } function buildRandomLine (random) { const line = [] for (let i = 0; i < random(5); i++) { const n = random(10) if (n < 2) { line.push('\t') } else if (n < 4) { line.push(' ') } else { if (line.length > 0 && !/\s/.test(line[line.length - 1])) { line.push(' ') } line.push(WORDS[random(WORDS.length)]) } } return line.join('') }