Open main menu

Changes

MediaWiki:Common.js

410,330 bytes removed, 12:30, 10 March 2021
no edit summary
/******/ (function(modules) { // webpackBootstrap/******/ // The module cache/******/ var installedModules = {};/******//******/ // The require function/******/ function __webpack_require__(moduleId) {/******//******/ // Check if module is in cache/******/ if(installedModules[moduleId]) {/******/ return installedModules[moduleId].exports;/******/ }/******/ // Create a new module (and put it into the cache)/******/ var module = installedModules[moduleId] = {/******/ i: moduleId,/******/ l: false,/******/ exports: {}/******/ };/******//******/ // Execute the module function/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);/******//******/ // Flag the module as loaded/******/ module.l = true;/******//******/ // Return the exports of the module/******/ return module.exports;/******/ }/******//******//******/ // expose the modules object (__webpack_modules__)/******/ __webpack_require__.m = modules;/******//******/ // expose the module cache/******/ __webpack_require__.c = installedModules;/******//******/ // define getter function for harmony exports/******/ __webpack_require__.d = function(exports, name, getter) {/******/ if(!__webpack_require__.o(exports, name)) {/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });/******/ }/******/ };/******//******/ // define __esModule on exports/******/ __webpack_require__.r = function(exports) {/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });/******/ }/******/ Object.defineProperty(exports, '__esModule', { value: true });/******/ };/******//******/ // create a fake namespace object/******/ // mode & 1: value is a module id, require it/******/ // mode & 2: merge all properties of value into the ns/******/ // mode & 4: return value when already ns object/******/ // mode & 8|1: behave like require/******/ __webpack_require__.t = function(value, mode) {/******/ if(mode & 1) value = __webpack_require__(value);/******/ if(mode & 8) return value;/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;/******/ var ns = Object.create(null);/******/ __webpack_require__.r(ns);/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));/******/ return ns;/******/ };/******//******/ // getDefaultExport function for compatibility with non-harmony modules/******/ __webpack_require__.n = function(module) {/******/ var getter = module && module.__esModule ?/******/ function getDefault() { return module['default']; } :/******/ function getModuleExports() { return module; };/******/ __webpack_require__.d(getter, 'a', getter);/******/ return getter;/******/ };/******//******/ // Object.prototype.hasOwnProperty.call/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };/******//******/ // __webpack_public_path__/******/ __webpack_require__.p = "";/******//******//******/ // Load entry module and return exports/******/ return __webpack_require__(__webpack_require__.s = 0);/******/ })/************************************************************************//******/ ({ /***/ "./app.js":/*!****************!*\ !*** ./app.js ***! \****************//*! no static exports found *//***/ (function(module, exports) { function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } // =====================JAVASCRIPT AREA=====================// configurationvar colorForSpecialElements = '#933221'; // can be one of: <ro> <hu> <en> var configuredFor = 'ro';var roNWTURL = 'https://172.26.13.175:3001/ro/';var huNWTURL = 'https://172.26.13.175:3001/hu/';var enNWTURL = 'https://172.26.13.175:3001/en/'; // DOM side effects var verses = Array.prototype.slice.call(document.getElementsByClassName("bible-verse"), 0);verses.forEach(function (verse) { verse.addEventListener("mouseover", function () { verse.style.cursor = "pointer"; });});verses.forEach(function (verse) { verse.addEventListener("click", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { var newLis; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: toggleState(verse);  if (!areVersesAlreadyFetched(verse)) { _context.next = 5; break; }  return _context.abrupt("return");  case 5: verse.setAttribute('loaded', true); _context.next = 8; return createDinamicLis(verse);  case 8: newLis = _context.sent; clearAllChildrenAndAddElementsToParrent(verse.children[2].children[1], newLis);  case 10: case "end": return _context.stop(); } } }, _callee); })));}); function clearAllChildrenAndAddElementsToParrent(parrent, children) { parrent.innerHTML = ''; children.forEach(function (child) { return parrent.appendChild(child); });} function areVersesAlreadyFetched(verse) { return verse.getAttribute('loaded') == 'true';} function createDinamicLis(_x) { return _createDinamicLis.apply(this, arguments);} function _createDinamicLis() { _createDinamicLis = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(verse) { var parsedVerse, ulElement; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: parsedVerse = verse.children[0].innerText; //let parsedVerse = verse.getAttribute("verse")  ulElement = verse.children[2].children[1]; _context2.next = 4; return fetchNWTVerses(parseVerseAttribute(parsedVerse));  case 4: fetchedVerses = _context2.sent; return _context2.abrupt("return", createLiElements(fetchedVerses, ulElement));  case 6: case "end": return _context2.stop(); } } }, _callee2); })); return _createDinamicLis.apply(this, arguments);} function createLiElements(fetchedVerses, ul) { var result = []; fetchedVerses.forEach(function (versesGroup) { var li = document.createElement('li'); li.style.color = colorForSpecialElements; li.style.fontSize = '1.5em'; li.style.textTransform = 'capitalize'; li.style.paddingBottom = '0.3em'; li.innerHTML = versesGroup.book + ' ' + versesGroup.chapter; result.push(li); versesGroup.verseElements.forEach(function (verse) { var li = document.createElement('li'); var hr = document.createElement('hr'); hr.style.borderStyle = 'ridge'; var liContent = ""; verse.forEach(function (el) { liContent = liContent + el + '<br>'; }); li.innerHTML = liContent; result.push(li); result.push(hr); }); }); return result;} function toggleState(verse) { var verseDisplay = verse.getElementsByClassName("translations-container")[0].style.display; hideAllVerses(verses); verse.getElementsByClassName("translations-container")[0].style.display = renderState(verseDisplay, "block");} function hideAllVerses(elements) { elements.forEach(function (element) { element.getElementsByClassName("translations-container")[0].style.display = "none"; });} function renderState(currentState, toggledState) { if (currentState === "none") { return toggledState; }  return "none";} function getVersesFromMainBlock(mainBlock) { var result = []; changeNumberOfTheFirstVerseWithNumberOne(mainBlock); Array.from(mainBlock.children).forEach(function (verse) { var verseContent = [];  if (verse.classList.contains('verse')) { Array.from(verse.children).forEach(function (child) { if (child.innerText != '') { verseContent.push(stripSymbols(['+', '*'], child.innerText)); } }); changeColorOfVerseNumber(verseContent); result.push(verseContent); } }); return result;} function changeColorOfVerseNumber(verseContent) { var re = new RegExp(/^\d+|\d+\b|\d+(?=\w)/g); //starts with digit, one or more  var m = re.exec(verseContent[0]);  if (m != null) { verseContent[0] = verseContent[0].replace(m[0], '<strong style="color: ' + colorForSpecialElements + '"' + '>' + m[0] + '</strong>'); }} function changeNumberOfTheFirstVerseWithNumberOne(mainBlock) { var re = new RegExp(/^\d+|\d+\b|\d+(?=\w)/g); //starts with digit, one or more  var m = re.exec(mainBlock.getElementsByClassName('verse')[0].children[0].innerText); mainBlock.getElementsByClassName('verse')[0].children[0].innerText = '&nbsp' + mainBlock.getElementsByClassName('verse')[0].children[0].innerText.replace(m[0], 1);} function getSpecificVerses(versesList, arrayOfSpecificVerses) { var result = []; arrayOfSpecificVerses.forEach(function (verseNumber) { result.push(versesList[verseNumber - 1]); }); return result;} // Bussiness logic  function parseVerseAttribute(verseString) { // 21:1;22:2 var arrayOfGroupsDelimiter = ';'; // 21:1-7,9  var versesGroupsDelimiter = ','; var book = verseString.replace(/ .*/, ''); var stringWithoutBook = verseString.replace(book, ''); var result = { book: book, groups: processChaptersAndVerses(stringWithoutBook) }; return result;  function processChaptersAndVerses(stringWithoutBook) { var groups = stringWithoutBook.split(arrayOfGroupsDelimiter); var result = []; groups.forEach(function (group) { result.push(processGroup(group)); }); return result; }  if (verseString.includes(";")) { var _book = verseString.replace(/ .*/, '');  var _stringWithoutBook = verseString.replace(_book, '');  var groups = _stringWithoutBook.split(';');  var parsedGroups = []; groups.forEach(function (group) { parsedGroups.push(createObjectForStringGroup(group)); }); }  function processGroup(group) { var chapter = group.split(':')[0]; var verses = group.split(':')[1]; return { chapter: parseInt(chapter), verses: processVersesGroups(verses) }; }  function processVersesGroups(verses) { var versesGroups = verses.split(','); var result = []; versesGroups.forEach(function (verseGroup) { if (isRangeVerseGroup(verseGroup)) { Array.prototype.push.apply(result, processVerseGroup(verseGroup)); } else { result.push(processVerseGroup(verseGroup)); } }); return result; }  function processVerseGroup(group) { if (isSimpleVerseGroup(group)) { return Number(group); }  if (isMultipleVerseGroup(group)) { console.log("Range verse group: " + group); }  if (isRangeVerseGroup(group)) { var parsed = group.split('-'); var _result = [];  for (var i = Number(parsed[0]); i <= Number(parsed[1]); i++) { _result.push(Number(i)); }  return _result; } }  function createObjectForStringGroup(group) { var chapter = Number(group.split(":")[0]); var verses = group.split(":")[1]; var parsedVerses = parseVerses(verses); console.log(''); }} function fetchNWTVerses(_x2) { return _fetchNWTVerses.apply(this, arguments);} function _fetchNWTVerses() { _fetchNWTVerses = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(verses) { var book; return regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: // let roBaseURL = 'https://www.jw.org/ro/biblioteca/biblia/nwt/carti/' if (configuredFor === 'ro') { URL = roNWTURL; }  if (configuredFor === 'hu') { URL = huNWTURL; }  if (configuredFor === 'en') { URL = enNWTURL; }  book = verses.book; return _context3.abrupt("return", new Promise(function (resolve, reject) { var result = [];  var _loop = function _loop(i) { var url = URL + book + "/" + verses.groups[i].chapter; fetch(url).then(function (response) { return response.text(); }).then(function (data) { var parser = new DOMParser(); var htmlDoc = parser.parseFromString(data, 'text/html'); return htmlDoc; }).then(function (parser) { var mainBlock = parser.getElementById('bibleText');  if (verses.groups.length - 1 == i) { result.push({ book: clearDashSimbolFromInputString(book), chapter: verses.groups[i].chapter, verseElements: getSpecificVerses(getVersesFromMainBlock(mainBlock), verses.groups[i].verses) }); resolve(result); } else { result.push({ book: clearDashSimbolFromInputString(book), chapter: verses.groups[i].chapter, verseElements: getSpecificVerses(getVersesFromMainBlock(mainBlock), verses.groups[i].verses) }); } })["catch"](function (error) { console.log(error); reject(); }); };  for (var i = 0; i < verses.groups.length; i++) { _loop(i); } }));  case 5: case "end": return _context3.stop(); } } }, _callee3); })); return _fetchNWTVerses.apply(this, arguments);} function clearDashSimbolFromInputString(string) { return string.replaceAll('-', ' ');} function stripSymbols(symbolsToBeRemoved, verseElement) { symbolsToBeRemoved.forEach(function (symbol) { verseElement = verseElement.replaceAll(symbol, ''); }); return verseElement;} function isSimpleVerseGroup(group) { if (Number(group)) { return true; }  return false;} function isMultipleVerseGroup(group) { if (group.includes(',')) { return true; }  return false;} function isRangeVerseGroup(group) { if (group.includes('-')) { return true; }  return false;} //=====================TESTING AREA=====================  var tempTest = [];var nwtParserTests = [givenMainBlock_ShouldGetVerseContent, givenMainBlockOfVersesWithArrayOfNeededVerses_SouldReturnOnlyTheNeededVerses];var tests = [givenElementsAndParrent_ShouldAddElementsToParrentAndRemoveExistingLoader, givenLoadedVerses_ShouldReturnTrue, givenVersesNotLoaded_ShouldReturnFalse, givenFetchedVerses_ShouldCreateDOMLiElements, givenNoneStateShouldReturnToggledValue, givenBiblicalElementShouldBeParsedAccordingly, givenSimpleVerseGroupToIsSimpleVerseGroupShouldReturnTrue, givenMultipleVerseGroupToIsSimpleVerseGroupShouldReturnFalse, givenRangeVerseGroupToIsSimpleVerseGroupShouldReturnFalse, givenNonValidVerseGroupToIsSimpleVerseGroupShouldReturnFalse, givenSimpleVerseGroupToIsMultipleVerseGroup_ShouldReturnFalse, givenMultipleVerseGroupToIsMultipleVerseGroup_ShouldReturnTrue, givenSimpleVerseGroupToIsRangeVerseGroup_ShouldReturnFalse, givenMultipleVerseGroupToIsRangeVerseGroup_ShouldReturnFalse, givenRangeVerseGroupToIsRangeVerseGroup_ShouldReturnTrue, givenMainBlock_ShouldGetAllElementsFromAVerseMadeUpByMultipleSpans, givenMainBlock_ShouldRemoveAllBlankElementsFromVerses, givenMainBlock_ShouldStructureElementsThatAreMakingUpVersesIntoIndividualVerse, givenVerseElementWithPlusSimbol_ShouldRemoveThePlusSymbol, givenChapterWithFirstVerseNumberedAsChapterNumber_ShouldChangeTheVerseNumberAsNumberOne, givenBlock_ShouldAddAsVersesOnlyElementsThatContainsTheClassVerse, giveBookTitleWithDashInIt_shouldClearUpTheDashCharacter];runTests(tempTest);runTests(tests);runTests(nwtParserTests); function runTests(tests) { tests.forEach(function (test) { if (test() == true) { console.log("passed " + test.name); } else { console.log("FAILED " + test.name); } });} function giveBookTitleWithDashInIt_shouldClearUpTheDashCharacter() { var input = '2-cronici'; var expected = '2 cronici'; var result = clearDashSimbolFromInputString(input);  if (expected === result) { return true; }} function givenBlock_ShouldAddAsVersesOnlyElementsThatContainsTheClassVerse() { var content = [[' 1 first content'], ['2 second content']]; var mainBlock = createNWTDOMStructureWithVerseMadeUpByTreeSpans(); mainBlock.children[0].children[0].innerText = ['This is just a note']; mainBlock.children[1].children[0].innerText = content[0]; mainBlock.children[2].children[0].innerText = content[1]; var result = getVersesFromMainBlock(mainBlock);  if (result.length == 2) { return true; }} function givenChapterWithFirstVerseNumberedAsChapterNumber_ShouldChangeTheVerseNumberAsNumberOne() { var expected = [['&nbsp<strong style="color: ' + colorForSpecialElements + '"' + '>1</strong> first content'], ['2 second content']]; var mainBlock = createNWTDOMStructureWithTwoElements(); mainBlock.children[0].children[0].innerText = ['54 first content']; mainBlock.children[1].children[0].innerText = expected[1]; var result = getVersesFromMainBlock(mainBlock);  if (result[0][0] === expected[0][0] && result[1][1] === expected[1][1]) { return true; }} function givenVerseElementWithPlusSimbol_ShouldRemoveThePlusSymbol() { var symbolsToBeRemoved = ["+", "*"]; var verseElement = 'This* is a + element +that forms a * verse*'; var expected = 'This is a element that forms a verse'; var result = stripSymbols(symbolsToBeRemoved, verseElement);  if (result === expected) { return true; }} function givenMainBlockOfVersesWithArrayOfNeededVerses_SouldReturnOnlyTheNeededVerses() { var availableVerses = ['1 first content', '2 second content']; var result = getSpecificVerses(availableVerses, [1]);  if (result[0] === availableVerses[0] && result.length === 1) { return true; }} function givenMainBlock_ShouldGetVerseContent() { var expected = [['&nbsp<strong style="color: ' + colorForSpecialElements + '"' + '>1</strong> first content'], ['&nbsp<strong style="color: ' + colorForSpecialElements + '"' + '>2</strong> second content']]; var mainBlock = createNWTDOMStructureWithTwoElements(); mainBlock.children[0].children[0].innerText = '1 first content'; mainBlock.children[1].children[0].innerText = '2 second content'; var result = getVersesFromMainBlock(mainBlock);  if (result[0][0] === expected[0][0] && result[1][1] === expected[1][1]) { return true; }} function givenMainBlock_ShouldGetAllElementsFromAVerseMadeUpByMultipleSpans() { var first = '1 first'; var second = '2 second'; var third = '3 third'; var expected = ['&nbsp<strong style="color: ' + colorForSpecialElements + '"' + '>1</strong> first', second, third]; var mainBlock = createNWTDOMStructureWithVerseMadeUpByMultipleSpans(); mainBlock.children[0].children[0].innerText = first; mainBlock.children[0].children[1].innerText = second; mainBlock.children[0].children[2].innerText = third; var result = getVersesFromMainBlock(mainBlock);  if (JSON.stringify(result[0]) === JSON.stringify(expected)) { return true; }} function givenMainBlock_ShouldRemoveAllBlankElementsFromVerses() { var expected = ['1 first content', '']; var mainBlock = createNWTDOMStructureWithTwoElements(); mainBlock.children[0].children[0].innerText = expected[0]; mainBlock.children[1].children[0].innerText = expected[1]; var result = getVersesFromMainBlock(mainBlock);  if (result[0].length === 1) { return true; }} function givenMainBlock_ShouldStructureElementsThatAreMakingUpVersesIntoIndividualVerse() { var expected = ['&nbsp<strong style="color: ' + colorForSpecialElements + '"' + '>1</strong> first', 'second', 'third']; var mainBlock = createNWTDOMStructureWithVerseMadeUpByMultipleSpans(); mainBlock.children[0].children[0].innerText = '1 first'; mainBlock.children[0].children[1].innerText = expected[1]; mainBlock.children[0].children[2].innerText = expected[2]; var result = getVersesFromMainBlock(mainBlock);  if (result.length === 1 && JSON.stringify(result[0]) === JSON.stringify(expected)) { return true; }} function createNWTDOMStructureWithVerseMadeUpByTreeSpans() { var mainBlock = document.createElement('div'); var note = document.createElement('sup'); var verseOne = document.createElement('span'); verseOne.classList.add('verse'); var verseTwo = document.createElement('span'); verseTwo.classList.add('verse'); var firstStyleB = document.createElement('span'); var secondStyleB = document.createElement('span'); var thirdStyleB = document.createElement('span'); note.appendChild(firstStyleB); verseOne.appendChild(secondStyleB); verseTwo.appendChild(thirdStyleB); mainBlock.appendChild(note); mainBlock.appendChild(verseOne); mainBlock.appendChild(verseTwo); return mainBlock;} function createNWTDOMStructureWithVerseMadeUpByMultipleSpans() { var mainBlock = document.createElement('div'); var verseOne = document.createElement('span'); verseOne.classList.add('verse'); var verseTwo = document.createElement('span'); verseTwo.classList.add('verse'); var firstStyleB = document.createElement('span'); var secondStyleB = document.createElement('span'); var thirdStyleB = document.createElement('span'); verseOne.appendChild(firstStyleB); verseOne.appendChild(secondStyleB); verseOne.appendChild(thirdStyleB); mainBlock.appendChild(verseOne); return mainBlock;} function createNWTDOMStructureWithTwoElements() { var mainBlock = document.createElement('div'); var verseOne = document.createElement('span'); verseOne.classList.add('verse'); var verseTwo = document.createElement('span'); verseTwo.classList.add('verse'); var firstStyleB = document.createElement('span'); var secondStyleB = document.createElement('span'); verseOne.appendChild(firstStyleB); verseTwo.appendChild(secondStyleB); mainBlock.appendChild(verseOne); mainBlock.appendChild(verseTwo); return mainBlock;} function givenNoneStateShouldReturnToggledValue() { var currentState = "none"; var toggledState = "flex"; var result = renderState(currentState, toggledState); var assertion = assertConditions([toggledState === result]); return assertion;} function givenBiblicalElementShouldBeParsedAccordingly() { var tests = [{ string: "Isaiah 21:1;22:2;23:1-5,7", expected: { book: "Isaiah", groups: [{ chapter: 21, verses: [1] }, { chapter: 22, verses: [2] }, { chapter: 23, verses: [1, 2, 3, 4, 5, 7] }] } }, { string: "Isaiah 21:1", expected: { book: "Isaiah", groups: [{ chapter: 21, verses: [1] }] } }, { string: "Isaiah 21:1,5,7", expected: { book: "Isaiah", groups: [{ chapter: 21, verses: [1, 5, 7] }] } }, { string: "Isaiah 21:1-7", expected: { book: "Isaiah", groups: [{ chapter: 21, verses: [1, 2, 3, 4, 5, 6, 7] }] } }, { string: "Isaiah 54:1,2,5-10", expected: { book: "Isaiah", groups: [{ chapter: 54, verses: [1, 2, 5, 6, 7, 8, 9, 10] }] } }];  function processTestCases(tests) { var testsResults = []; tests.forEach(function (test) { testsResults.push(runTest(test)); }); return assertConditions(testsResults); }  function runTest(test) { var result = parseVerseAttribute(test.string); var equality = JSON.stringify(test.expected) === JSON.stringify(result);  if (equality === false) { console.log(test.string + " FAILED"); console.log(JSON.stringify(test.expected) + " Expected"); console.log(JSON.stringify(result) + " Result"); }  return equality; }  return assertConditions([processTestCases(tests)]);} function givenSimpleVerseGroupToIsSimpleVerseGroupShouldReturnTrue() { var simpleVerseGroup = "1"; var result = isSimpleVerseGroup(simpleVerseGroup); return result;} function givenMultipleVerseGroupToIsSimpleVerseGroupShouldReturnFalse() { var multipleVerseGroup = "1,2"; var result = isSimpleVerseGroup(multipleVerseGroup); return !result;} function givenRangeVerseGroupToIsSimpleVerseGroupShouldReturnFalse() { var rangeVerseGroup = "1-5"; var result = isSimpleVerseGroup(rangeVerseGroup); return !result;} function givenNonValidVerseGroupToIsSimpleVerseGroupShouldReturnFalse() { var nonValidVerseGroup = "1a"; var result = isSimpleVerseGroup(nonValidVerseGroup); return !result;} function givenSimpleVerseGroupToIsMultipleVerseGroup_ShouldReturnFalse() { var multipleVerseGroup = "1"; var result = isMultipleVerseGroup(multipleVerseGroup); return !result;} function givenMultipleVerseGroupToIsMultipleVerseGroup_ShouldReturnTrue() { var multipleVerseGroup = "1,2,3"; var result = isMultipleVerseGroup(multipleVerseGroup); return result;} function givenRangeVerseGroupToIsMultipleVerseGroup_ShouldReturnFalse() { var group = "1-5"; var result = isMultipleVerseGroup(group); return !result;} function givenSimpleVerseGroupToIsRangeVerseGroup_ShouldReturnFalse() { var group = "1"; var result = isRangeVerseGroup(group); return !result;} function givenMultipleVerseGroupToIsRangeVerseGroup_ShouldReturnFalse() { var group = "1,2,3"; var result = isRangeVerseGroup(group); return !result;} function givenRangeVerseGroupToIsRangeVerseGroup_ShouldReturnTrue() { var group = "1-5"; var result = isRangeVerseGroup(group); return result;} function givenFetchedVerses_ShouldCreateDOMLiElements() { var fetchedVerses = [{ book: 'Genesis', chapter: 12, number: 10, verseElements: [['One', 'Two']] }, { book: 'Genesis', chapter: 13, number: 20, verseElements: [['Three', 'Four']] }]; var result = createLiElements(fetchedVerses, document.createElement('ul')); var firstLi = createOneLi('li', fetchedVerses[0].book + ' ' + fetchedVerses[0].chapter); var secondLi = createOneLi('li', fetchedVerses[0].verseElements[0][0] + '<br>' + fetchedVerses[0].verseElements[0][1] + '<br>'); var thirdLi = createOneLi('hr', ''); var forthLi = createOneLi('li', fetchedVerses[1].book + ' ' + fetchedVerses[1].chapter); var fifthLi = createOneLi('li', fetchedVerses[1].verseElements[0][0] + '<br>' + fetchedVerses[1].verseElements[0][1] + '<br>'); var sixthLi = createOneLi('hr', ''); var expected = [firstLi, secondLi, thirdLi, forthLi, fifthLi, sixthLi]; return isValidResult(result);  function createOneLi(tagType, innerHTML) { var result = document.createElement(tagType); result.innerHTML = innerHTML; return result; }  function isValidResult(result) { if (isSameLenght(expected, result) && isMatchOfContent(result)) { return true; }  return false;  function isSameLenght(firstArray, secondArray) { if (firstArray.lenght === secondArray.lenght) { return true; } }  function isMatchOfContent(result) { for (var i = 0; i < result.length; i++) { if (!areNodesMatching(i)) { return false; } }  return true;  function areNodesMatching(i) { return result[i].nodeName == expected[i].nodeName && result[i].innerHTML == expected[i].innerHTML; } } }} function givenLoadedVerses_ShouldReturnTrue() { var verse = document.createElement('div'); verse.setAttribute('loaded', true); return areVersesAlreadyFetched(verse);} function givenVersesNotLoaded_ShouldReturnFalse() { var verse = document.createElement('div');  if (!areVersesAlreadyFetched(verse)) { return true; } else { return false; }} function givenElementsAndParrent_ShouldAddElementsToParrentAndRemoveExistingLoader() { var parrent = document.createElement('ul'); var loader = document.createElement('li'); parrent.appendChild(loader); var children = [document.createElement('li'), document.createElement('li')]; clearAllChildrenAndAddElementsToParrent(parrent, children);  if (parrent.children.length === 2) { return true; }} function isExpectedEqualWithResult(object) { JSON.stringify(object.expected) === JSON.stringify(object.result);} function assertConditions(arrayOfConditions) { for (var i = 0; i < arrayOfConditions.length; i++) { if (arrayOfConditions[i] === false) { return false; }  return true; }} /***/ }), /***/ "./node_modules/@babel/polyfill/lib/index.js":/*!***************************************************!*\ !*** ./node_modules/@babel/polyfill/lib/index.js ***! \***************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) { "use strict";  __webpack_require__(/*! ./noConflict */ "./node_modules/@babel/polyfill/lib/noConflict.js"); var _global = _interopRequireDefault(__webpack_require__(/*! core-js/library/fn/global */ "./node_modules/@babel/polyfill/node_modules/core-js/library/fn/global.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } if (_global["default"]._babelPolyfill && typeof console !== "undefined" && console.warn) { console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended " + "and may have consequences if different versions of the polyfills are applied sequentially. " + "If you do need to load the polyfill more than once, use @babel/polyfill/noConflict " + "instead to bypass the warning.");} _global["default"]._babelPolyfill = true; /***/ }), /***/ "./node_modules/@babel/polyfill/lib/noConflict.js":/*!********************************************************!*\ !*** ./node_modules/@babel/polyfill/lib/noConflict.js ***! \********************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) { "use strict";  __webpack_require__(/*! core-js/es6 */ "./node_modules/@babel/polyfill/node_modules/core-js/es6/index.js"); __webpack_require__(/*! core-js/fn/array/includes */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/array/includes.js"); __webpack_require__(/*! core-js/fn/array/flat-map */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/array/flat-map.js"); __webpack_require__(/*! core-js/fn/string/pad-start */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/string/pad-start.js"); __webpack_require__(/*! core-js/fn/string/pad-end */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/string/pad-end.js"); __webpack_require__(/*! core-js/fn/string/trim-start */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/string/trim-start.js"); __webpack_require__(/*! core-js/fn/string/trim-end */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/string/trim-end.js"); __webpack_require__(/*! core-js/fn/symbol/async-iterator */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/symbol/async-iterator.js"); __webpack_require__(/*! core-js/fn/object/get-own-property-descriptors */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/object/get-own-property-descriptors.js"); __webpack_require__(/*! core-js/fn/object/values */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/object/values.js"); __webpack_require__(/*! core-js/fn/object/entries */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/object/entries.js"); __webpack_require__(/*! core-js/fn/promise/finally */ "./node_modules/@babel/polyfill/node_modules/core-js/fn/promise/finally.js"); __webpack_require__(/*! core-js/web */ "./node_modules/@babel/polyfill/node_modules/core-js/web/index.js"); __webpack_require__(/*! regenerator-runtime/runtime */ "./node_modules/regenerator-runtime/runtime.js"); /***/ }), /***/ "./node_modules/@babel/polyfill/node_modules/core-js/es6/index.js":/*!************************************************************************!*\ !*** ./node_modules/@babel/polyfill/node_modules/core-js/es6/index.js ***! \************************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) { __webpack_require__(/*! ../modules/es6.symbol */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.symbol.js");__webpack_require__(/*! ../modules/es6.object.create */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.create.js");__webpack_require__(/*! ../modules/es6.object.define-property */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.define-property.js");__webpack_require__(/*! ../modules/es6.object.define-properties */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.define-properties.js");__webpack_require__(/*! ../modules/es6.object.get-own-property-descriptor */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js");__webpack_require__(/*! ../modules/es6.object.get-prototype-of */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-prototype-of.js");__webpack_require__(/*! ../modules/es6.object.keys */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.keys.js");__webpack_require__(/*! ../modules/es6.object.get-own-property-names */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-own-property-names.js");__webpack_require__(/*! ../modules/es6.object.freeze */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.freeze.js");__webpack_require__(/*! ../modules/es6.object.seal */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.seal.js");__webpack_require__(/*! ../modules/es6.object.prevent-extensions */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.prevent-extensions.js");__webpack_require__(/*! ../modules/es6.object.is-frozen */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-frozen.js");__webpack_require__(/*! ../modules/es6.object.is-sealed */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-sealed.js");__webpack_require__(/*! ../modules/es6.object.is-extensible */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-extensible.js");__webpack_require__(/*! ../modules/es6.object.assign */ "./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.assign.js");__webpack_require__(/*! ../modules/es6.object.is */ !
//# sourceMappingURL=bundle.js.map