提交 c371b914 编写于 作者: Y yylgit

mvvm-pack单测

上级 16f25616
......@@ -31,7 +31,7 @@
var ret = (typeof factory == 'function')
? factory.apply(mod, [cmlrequire, mod.exports, mod])
: factory;
debugger
if (ret) {
mod.exports = ret;
}
......
......@@ -5,7 +5,8 @@
"main": "index.js",
"scripts": {
"cover": "istanbul cover --report lcov node_modules/mocha/bin/_mocha -- -R spec --recursive",
"test": "mocha --recursive --reporter spec"
"test": "mocha --recursive --reporter spec",
"test-brk": "node --inspect-brk node_modules/mocha/bin/mocha --recursive --reporter spec"
},
"author": "Chameleon-Team",
"license": "Apache",
......
let _ = require('../../lib/amd.js');
const fs = require('fs');
const path = require('path');
const expect = require('chai').expect;
describe('amd', function() {
it('amdWrapModule not has cmldefine', function() {
let code = 'sdfsdfsdfsdfd'
let result = _.amdWrapModule({content: code, modId: '123'})
expect(result).to.be.equal('\ncmldefine(\'123\', function(require, exports, module) {\n sdfsdfsdfsdfd\n})')
})
it('amdWrapModule has cmldefine', function() {
let code = '\ncmldefine(\'123\', function(require, exports, module) {\n sdfsdfsdfsdfd\n})';
let result = _.amdWrapModule({content: code, modId: '123'})
expect(result).to.be.equal(code)
})
it('getModuleBootstrap', function() {
let amdCode = fs.readFileSync(path.join(__dirname, '../../lib/amdbootstrap.module.js'), {encoding: 'utf8'})
let result = _.getModuleBootstrap()
expect(result).to.be.equal(amdCode)
})
it('getGlobalBootstrap', function() {
let result = _.getGlobalBootstrap('global')
expect(!!~result.indexOf('(global)')).to.be.equal(true)
})
})
let fs = require('fs');
let path = require('path');
let code = fs.readFileSync(path.join(__dirname,'../../lib/amdbootstrap.global.js'),{encoding: 'utf8'})
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() {
it('global cmldefine', function() {
code = `
${code.replace('$GLOBAL','global')}
${code.replace('$GLOBAL', 'global')}
`
eval(code)
global.cmldefine('name', function(require, exports, module) {
......
let amd = require('../../lib/amdbootstrap.module.js')
const expect = require('chai').expect;
describe('amdbootstrap.moudle.js', function() {
it('module cmldefine', function() {
amd.cmldefine('name', function(require, exports, module) {
global.unittest = '123';
})
amd.cmlrequire('name');
amd.cmlrequire('name');
expect(global.unittest).to.be.equal('123');
})
it('module not find', function() {
amd.cmldefine('name', function(require, exports, module) {
global.unittest = '123';
})
try {
amd.cmlrequire('name2');
} catch (e) {
expect(!!~e.message.indexOf('[ModJS] Cannot find module')).to.be.equal(true);
}
})
it('module has return', function() {
amd.cmldefine('name3', function(require, exports, module) {
return 'has return';
})
var value = amd.cmlrequire('name3');
expect(!!~value.indexOf('has return')).to.be.equal(true);
})
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册