提交 16f25616 编写于 作者: Y yylgit

mvvm-pack

上级 0540fbf7
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')
})
})
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');
})
})
let wrapper = require('../lib/amdwrapper');
let wrapper = require('../../lib/amdwrapper');
const expect = require('chai').expect;
describe('amdwrapper', function() {
......
var _ = require('../index.js');
var expect = require('chai').expect;
describe('mvvm-template-parser', function() {
it('cmlparse', function() {
let content = `
<view c-if="show">
<view c-bind:click="click"></view>
<view name="{{name}}"></view>
<view c-for="list"></view>
</view>
`
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 = `
<view c-if="show">
<view c-bind:click="click"></view>
<view name="{{name}}"></view>
<view c-for="list"></view>
</view>
`
let result = _.cmlparse(content);
let code = _.generator(result).code;
console.log(code)
expect(code).to.be.equal('<view c-if="show">\n <view c-bind:click="click"></view>\n <view name="{{name}}"></view>\n <view c-for="list"></view>\n </view>')
});
})
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册