UNPKG

hae-uitest

Version:

A UI Test Framework for Huawei HAE

51 lines (41 loc) 1.6 kB
//生成断言 var fs = require('fs'); var path = require('path'); var ejs = require('ejs'); module.exports = function(expect, message) { var assertTmplPath = path.normalize(__dirname + '/../templates/wts-assert.tpl'); var assertTmpl = fs.readFileSync(assertTmplPath, 'utf8'); var reg = /^!?([<>=\^\*\$]+|true$|false$)/g; var operators = expect.match(reg) || ''; var arrType = ['true', 'false', '=', '<', '>', '<=', '>=', '^=', '*=', '$=']; var expectContent = ''; var expectOperators = '' var expectValue = ''; var negated = ''; if ('' !== expect && '' !== operators && 1 === operators.length) { for (var i = 0; i < arrType.length; i++) { if (operators[0] === arrType[i]) { expectOperators = arrType[i]; break; } else if (operators[0] === '!' + arrType[i]) { expectOperators = '!' + arrType[i]; break; } }; if ('' === expectOperators) throw new Error('unexpected assertion expression.'); expectValue = expect.replace(expectOperators, ''); if ('!' === expectOperators.charAt(0)) { negated = '!'; expectOperators = expectOperators.slice(1); } var data = { negated: negated, operators: expectOperators, expect: expectValue, message: message, filename: assertTmplPath }; expectContent = ejs.render(assertTmpl, data); } return expectContent; }