Skip to content
Snippets Groups Projects
Commit 57973dc3 authored by Phil Hughes's avatar Phil Hughes
Browse files

Added setup for Jest

Created simple test for install function
parent 8ddf2fd7
No related branches found
No related tags found
No related merge requests found
Pipeline #
{
"presets": ["es2015", "stage-0"]
}
Loading
Loading
@@ -10,6 +10,12 @@ compile:
- npm i
- npm run webpack
 
test:
stage: test
script:
- npm i
- npm test
pages:
stage: deploy
script:
Loading
Loading
import Vue from 'vue';
import json from '../fixtures/file.json';
import NotebookLab from '../index';
Vue.use(NotebookLab);
describe('install function', () => {
test('creates global component', () => {
expect(
Vue.options.components['notebook-lab']
).not.toBeNull();
});
});
Loading
Loading
@@ -191,32 +191,24 @@ module.exports = Component.exports
 
/***/ }),
/* 3 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
/***/ (function(module, exports, __webpack_require__) {
 
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__code_index_vue__ = __webpack_require__(11);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__code_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__code_index_vue__);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
 
 
Object.defineProperty(exports, "__esModule", {
value: true
});
var _index = __webpack_require__(11);
 
/* harmony default export */ __webpack_exports__["default"] = {
var _index2 = _interopRequireDefault(_index);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
components: {
'code-cell': __WEBPACK_IMPORTED_MODULE_0__code_index_vue___default.a
'code-cell': _index2.default
},
props: {
cell: {
Loading
Loading
@@ -225,16 +217,16 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
}
},
computed: {
rawInputCode() {
rawInputCode: function rawInputCode() {
return this.cell.source.join('');
},
hasOutput() {
hasOutput: function hasOutput() {
return this.cell.outputs.length;
},
output() {
output: function output() {
return this.cell.outputs[0];
},
outputText() {
outputText: function outputText() {
if (this.output.text) {
return this.output.text.join('');
} else {
Loading
Loading
@@ -242,16 +234,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
}
}
}
};
/***/ }),
/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__prompt_vue__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__prompt_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__prompt_vue__);
}; //
//
//
//
//
Loading
Loading
@@ -261,12 +245,30 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
//
//
//
//
//
//
/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _prompt = __webpack_require__(1);
 
var _prompt2 = _interopRequireDefault(_prompt);
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
/* harmony default export */ __webpack_exports__["default"] = {
exports.default = {
components: {
'prompt': __WEBPACK_IMPORTED_MODULE_0__prompt_vue___default.a
'prompt': _prompt2.default
},
props: {
count: {
Loading
Loading
@@ -283,31 +285,50 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
}
},
computed: {
code() {
if (this.promptType === 'In') {
code: function code() {
if (typeof hljs !== 'undefined' && this.promptType === 'In') {
return hljs.highlightAuto(this.rawCode).value;
} else {
return this.rawCode;
}
},
promptType() {
const type = this.type.split('put')[0];
promptType: function promptType() {
var type = this.type.split('put')[0];
 
return type.charAt(0).toUpperCase() + type.slice(1);;
}
}
};
}; //
//
//
//
//
//
//
//
//
 
/***/ }),
/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
/***/ (function(module, exports, __webpack_require__) {
 
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_marked__ = __webpack_require__(9);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_marked___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_marked__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__prompt_vue__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__prompt_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__prompt_vue__);
Object.defineProperty(exports, "__esModule", {
value: true
});
var _marked = __webpack_require__(9);
var _marked2 = _interopRequireDefault(_marked);
var _prompt = __webpack_require__(1);
var _prompt2 = _interopRequireDefault(_prompt);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//
//
//
Loading
Loading
@@ -316,12 +337,9 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
//
//
 
/* harmony default export */ __webpack_exports__["default"] = {
exports.default = {
components: {
'prompt': __WEBPACK_IMPORTED_MODULE_1__prompt_vue___default.a
'prompt': _prompt2.default
},
props: {
cell: {
Loading
Loading
@@ -330,11 +348,11 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
}
},
computed: {
markdown() {
const regex = new RegExp(/^\$\$(.*)\$\$$/, 'g');
markdown: function markdown() {
var regex = new RegExp(/^\$\$(.*)\$\$$/, 'g');
 
const source = this.cell.source.map(line => {
const matches = regex.exec(line.trim());
var source = this.cell.source.map(function (line) {
var matches = regex.exec(line.trim());
 
// Only render use the Katex library if it is actually loaded
if (matches && matches.length > 0 && katex) {
Loading
Loading
@@ -344,17 +362,21 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
}
});
 
return __WEBPACK_IMPORTED_MODULE_0_marked___default()(source.join(''));
return (0, _marked2.default)(source.join(''));
}
}
};
 
/***/ }),
/* 6 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
/***/ (function(module, exports, __webpack_require__) {
 
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
Object.defineProperty(exports, "__esModule", {
value: true
});
//
//
//
Loading
Loading
@@ -364,7 +386,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
//
//
 
/* harmony default export */ __webpack_exports__["default"] = {
exports.default = {
props: {
type: {
type: String,
Loading
Loading
@@ -379,28 +401,21 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
 
/***/ }),
/* 7 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
/***/ (function(module, exports, __webpack_require__) {
 
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cells__ = __webpack_require__(8);
//
//
//
//
//
//
//
//
//
//
 
 
Object.defineProperty(exports, "__esModule", {
value: true
});
 
/* harmony default export */ __webpack_exports__["default"] = {
var _cells = __webpack_require__(8);
exports.default = {
components: {
'code-cell': __WEBPACK_IMPORTED_MODULE_0__cells__["a" /* CodeCell */],
'markdown-cell': __WEBPACK_IMPORTED_MODULE_0__cells__["b" /* MarkdownCell */]
'code-cell': _cells.CodeCell,
'markdown-cell': _cells.MarkdownCell
},
props: {
notebook: {
Loading
Loading
@@ -409,30 +424,56 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
}
},
methods: {
cellType(type) {
return `${type}-cell`;
cellType: function cellType(type) {
return type + '-cell';
}
},
computed: {
hasNotebook() {
hasNotebook: function hasNotebook() {
return Object.keys(this.notebook).length;
}
}
};
}; //
//
//
//
//
//
//
//
//
//
 
/***/ }),
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
/***/ (function(module, exports, __webpack_require__) {
 
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__markdown_vue__ = __webpack_require__(12);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__markdown_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__markdown_vue__);
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__markdown_vue___default.a; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__code_vue__ = __webpack_require__(10);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__code_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__code_vue__);
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_1__code_vue___default.a; });
 
 
Object.defineProperty(exports, "__esModule", {
value: true
});
var _markdown = __webpack_require__(12);
Object.defineProperty(exports, 'MarkdownCell', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_markdown).default;
}
});
var _code = __webpack_require__(10);
Object.defineProperty(exports, 'CodeCell', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_code).default;
}
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
/***/ }),
/* 9 */
Loading
Loading
@@ -1977,10 +2018,13 @@ module.exports = g;
/* 19 */
/***/ (function(module, exports, __webpack_require__) {
 
const Notebook = __webpack_require__(2);
"use strict";
var Notebook = __webpack_require__(2);
 
module.exports = {
install: function (_vue) {
install: function install(_vue) {
_vue.component('notebook-lab', Notebook);
}
};
Loading
Loading
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"outputs": [],
"source": [
"console.log('test')"
]
},
{
"cell_type": "markdown",
"source": [
"** test"
]
}
]
}
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/styles/default.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/highlight.min.js"></script>
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/highlight.min.js"></script> -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css" integrity="sha384-wITovz90syo1dJWVh32uuETPVEtGigN07tkttEqPv+uR2SE/mbQcG7ATL28aI9H0" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js" integrity="sha384-/y1Nn9+QQAipbNQWU65krzJralCnuOasHncUFXGkdwntGeSvQicrYkiUBwsgUqc1" crossorigin="anonymous"></script>
 
Loading
Loading
Loading
Loading
@@ -4,7 +4,7 @@
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"test": "jest --no-cache",
"webpack-run": "webpack --watch",
"webpack": "webpack"
},
Loading
Loading
@@ -20,15 +20,31 @@
"homepage": "https://gitlab.com/gl-frontend/notebooklab#README",
"devDependencies": {
"babel-core": "^6.24.0",
"babel-jest": "^19.0.0",
"babel-loader": "^6.4.0",
"babel-preset-env": "^1.2.1",
"babel-preset-es2015": "^6.24.0",
"webpack": "^2.2.1"
},
"dependencies": {
"css-loader": "^0.27.3",
"jest": "^19.0.2",
"marked": "^0.3.6",
"vue": "^2.2.4",
"vue-loader": "^11.1.4",
"vue-template-compiler": "^2.2.4"
},
"jest": {
"moduleFileExtensions": [
"js",
"vue"
],
"moduleNameMapper": {
"^vue$": "vue/dist/vue.common.js"
},
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/jest-vue-preprocessor"
}
}
}
Loading
Loading
@@ -30,7 +30,7 @@
},
computed: {
code() {
if (this.promptType === 'In') {
if (typeof hljs !== 'undefined' && this.promptType === 'In') {
return hljs.highlightAuto(this.rawCode).value;
} else {
return this.rawCode;
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment