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