1
0
mirror of https://github.com/bobwen-dev/react-templates synced 2025-04-12 00:56:39 +02:00

invalid input tests

This commit is contained in:
ido 2014-12-09 17:20:09 +02:00
parent 83ef37633a
commit 3066de38b7
5 changed files with 15 additions and 3 deletions

4
test/data/invalid-exp.rt Normal file
View File

@ -0,0 +1,4 @@
<!doctype rt>
<div>
{z
</div>

View File

@ -0,0 +1,2 @@
<!doctype rt>
<div

View File

@ -0,0 +1,3 @@
<!doctype rt>
<div onClick="">
</div>

View File

@ -1,3 +1,3 @@
<!doctype rt> <!doctype rt>
<div rt-scope="a in a in a"> <div rt-scope="a in a in a">
</div </div>

View File

@ -11,7 +11,10 @@ var dataPath = path.resolve(__dirname, '..', 'data');
test('invalid tests', function (t) { test('invalid tests', function (t) {
var files = [ var files = [
{file: 'invalid-scope.rt', issue: new reactTemplates.RTCodeError('invalid scope part \'a in a in a\'', 14, 1)} {file: 'invalid-scope.rt', issue: new reactTemplates.RTCodeError("invalid scope part 'a in a in a'", 14, 1)},
{file: 'invalid-html.rt', issue: new reactTemplates.RTCodeError('Document should have a root element', -1, -1)},
{file: 'invalid-exp.rt', issue: new reactTemplates.RTCodeError("Failed to parse text '\n {z\n'", 19, 3)},
{file: 'invalid-lambda.rt', issue: new reactTemplates.RTCodeError("when using 'on' events, use lambda '(p1,p2)=>body' notation or use {} to return a callback function. error: [onClick='']", 14, 1)}
]; ];
t.plan(files.length); t.plan(files.length);
@ -77,7 +80,7 @@ test('html tests', function (t) {
var expected = fs.readFileSync(filename + '.html').toString().replace(/\r/g, ''); var expected = fs.readFileSync(filename + '.html').toString().replace(/\r/g, '');
// var expected = fs.readFileSync(filename.replace(".html", ".js")).toString(); // var expected = fs.readFileSync(filename.replace(".html", ".js")).toString();
var code = reactTemplates.convertTemplateToReact(html).replace(/\r/g, ''); var code = reactTemplates.convertTemplateToReact(html).replace(/\r/g, '');
var defineMap = {"react/addons": React, lodash: _}; var defineMap = {'react/addons': React, lodash: _};
var define = function (requirementsNames, content) { var define = function (requirementsNames, content) {
var requirements = _.map(requirementsNames, function (reqName) { var requirements = _.map(requirementsNames, function (reqName) {
return defineMap[reqName]; return defineMap[reqName];