From 16f25616a267e36ed7802807c6c52ef9b8fdde91 Mon Sep 17 00:00:00 2001 From: yylgit <394720943@qq.com> Date: Wed, 15 May 2019 18:33:11 +0800 Subject: [PATCH] mvvm-pack --- packages/mvvm-pack/test/cmlNode.test.js | 27 ++++++++++++++ .../test/lib/amdbootstrap.global.test.js | 24 ++++++++++++ .../test/{ => lib}/amdwrapper.test.js | 2 +- .../mvvm-template-parser/test/index.test.js | 37 +++++++++++++++++++ 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 packages/mvvm-pack/test/cmlNode.test.js create mode 100644 packages/mvvm-pack/test/lib/amdbootstrap.global.test.js rename packages/mvvm-pack/test/{ => lib}/amdwrapper.test.js (92%) create mode 100644 packages/mvvm-template-parser/test/index.test.js diff --git a/packages/mvvm-pack/test/cmlNode.test.js b/packages/mvvm-pack/test/cmlNode.test.js new file mode 100644 index 00000000..557bcc4e --- /dev/null +++ b/packages/mvvm-pack/test/cmlNode.test.js @@ -0,0 +1,27 @@ + +var CMLNode = require('../cmlNode.js') + +const expect = require('chai').expect; + +describe('cmlNode', function() { + it('constructor', function() { + var cmlNode = new CMLNode({ + ext: '.cml', + realPath : 'realPath', // 文件物理地址 + nodeType : 'nodeType', // app/page/component/module // 节点类型 app/page/component 其他的为module cml文件中的每一个部分也是一个Node节点 + moduleType: 'moduleType',// template/style/script/json/asset + dependencies: ['dependencies'], // 该节点的直接依赖 app.cml依赖pages.cml pages.cml依赖components.cml js依赖js + childrens : ['dependencies'], // 子模块 cml文件才有子模块 + parent: 'parent', // 父模块 cml文件中的子模块才有 + source: 'source', // 模块源代码 + convert: 'convert', // 源代码的格式化形式 + output: 'output', // 模块输出 各种过程操作该字段 + identifier: 'identifier', // 节点唯一标识 + modId: 'modId', // 模块化的id requirejs + extra: 'extra' // 节点的额外信息 + }) + expect(cmlNode.ext).to.be.equal('.cml') + expect(cmlNode.realPath).to.be.equal('realPath') + }) + +}) diff --git a/packages/mvvm-pack/test/lib/amdbootstrap.global.test.js b/packages/mvvm-pack/test/lib/amdbootstrap.global.test.js new file mode 100644 index 00000000..2b930d17 --- /dev/null +++ b/packages/mvvm-pack/test/lib/amdbootstrap.global.test.js @@ -0,0 +1,24 @@ +let fs = require('fs'); +let path = require('path'); +let code = fs.readFileSync(path.join(__dirname,'../../lib/amdbootstrap.global.js'),{encoding: 'utf8'}) +const expect = require('chai').expect; + + + +describe('amdbootstrap.global.js', function() { + it('not has cmldefine', function() { + + code = ` + ${code.replace('$GLOBAL','global')} + ` + eval(code) + global.cmldefine('name', function(require, exports, module) { + global.unittest = '123'; + }) + global.cmlrequire('name'); + + expect(global.unittest).to.be.equal('123'); + + }) +}) + diff --git a/packages/mvvm-pack/test/amdwrapper.test.js b/packages/mvvm-pack/test/lib/amdwrapper.test.js similarity index 92% rename from packages/mvvm-pack/test/amdwrapper.test.js rename to packages/mvvm-pack/test/lib/amdwrapper.test.js index 23c97740..879d18d1 100644 --- a/packages/mvvm-pack/test/amdwrapper.test.js +++ b/packages/mvvm-pack/test/lib/amdwrapper.test.js @@ -1,4 +1,4 @@ -let wrapper = require('../lib/amdwrapper'); +let wrapper = require('../../lib/amdwrapper'); const expect = require('chai').expect; describe('amdwrapper', function() { diff --git a/packages/mvvm-template-parser/test/index.test.js b/packages/mvvm-template-parser/test/index.test.js new file mode 100644 index 00000000..9f5365fa --- /dev/null +++ b/packages/mvvm-template-parser/test/index.test.js @@ -0,0 +1,37 @@ +var _ = require('../index.js'); +var expect = require('chai').expect; + +describe('mvvm-template-parser', function() { + it('cmlparse', function() { + let content = ` + + + + + + ` + let result = _.cmlparse(content); + expect(typeof result).to.be.equal('object') + }); + + it('postParseUnicode', function() { + let content = `\u4f60\u597d`; + let result = _.postParseUnicode(content); + expect(result).to.be.equal('你好') + }); + + it('generator', function() { + + let content = ` + + + + + + ` + let result = _.cmlparse(content); + let code = _.generator(result).code; + console.log(code) + expect(code).to.be.equal('\n \n \n \n ') + }); +}) \ No newline at end of file -- GitLab