vue-styleguidist
Version:
Vue components style guide generator
54 lines (53 loc) • 3.15 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _getScript = _interopRequireDefault(require("./getScript"));
it('should return given code if code can be parsed properly', function () {
var code = "export default {\n proper:'test'\n }";
var result = (0, _getScript["default"])(code, false);
expect(result).toEqual(code);
});
it('should return empty if only a template is given', function () {
var code = "<FunctionalButton id=\"test\">\n In the docs block\n</FunctionalButton>";
var result = (0, _getScript["default"])(code, false);
expect(result).toEqual('');
});
it('should return script part if SFC is detected', function () {
var code = "export default {\n proper:'test'\n }";
var result = (0, _getScript["default"])("<script lang=\"ts\">".concat(code, "</script>"), false);
expect(result).toEqual(code);
});
it('should return script part if SFC is detected and it has a template', function () {
var code = "export default {\n proper:'test'\n }";
var result = (0, _getScript["default"])("<template><div/></template>\n <script lang=\"ts\">".concat(code, "</script>"), false);
expect(result.trim()).toEqual(code);
});
it('should return script part if weird pseudo-jsx format', function () {
var code = "const btn = require('button')";
var result = (0, _getScript["default"])("".concat(code, "\n <btn/>"), false);
expect(result).toEqual(code);
});
it('should return itselft if user decided for jsx', function () {
var code = "const btn = require('button')\n <btn/>";
var result = (0, _getScript["default"])(code, true);
expect(result).toEqual(code);
});
it('should parse new Vue as normal', function () {
var code = "const merge = require(\"lodash/merge\").default\n new Vue({\n template:`\n <button @click.prevent=\"isOpen = false\">Close</button>\n `\n })";
var result = (0, _getScript["default"])(code, false);
expect(result).toEqual(code);
});
it('should parse export default as itself', function () {
var code = "const merge = require(\"lodash/merge\").default\n export default {\n template:`\n <button @click.prevent=\"isOpen = false\">Close</button>\n `\n }";
var result = (0, _getScript["default"])(code, false);
expect(result).toEqual(code);
});
it('should parse module.exports as itself', function () {
var code = "const merge = require(\"lodash/merge\").default\n module.exports = {\n template:`\n <button @click.prevent=\"isOpen = false\">Close</button>\n `\n }";
var result = (0, _getScript["default"])(code, false);
expect(result).toEqual(code);
});
it('should parse SFC with exports', function () {
var code = "const merge = require(\"lodash/merge\").default\n module.exports = {\n template:`\n <button @click.prevent=\"isOpen = false\">Close</button>\n `\n\t}";
var result = (0, _getScript["default"])("<script>\n\t".concat(code, "\n\t</script>\n\t<template>\n\t\t<div>hello</div>\n\t</template>"), false);
expect(result.trim()).toEqual(code);
});