mirror of
https://github.com/bobwen-dev/react-templates
synced 2025-04-12 00:56:39 +02:00
added html tests
This commit is contained in:
parent
c5d8fdd888
commit
1ed5eb873e
9
test/data/scope.rt
Normal file
9
test/data/scope.rt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<!DOCTYPE jsx>
|
||||||
|
<div>
|
||||||
|
<div rt-scope="['a','b','c'] as items">
|
||||||
|
<span rt-repeat="item in items">Item:#{itemIndex} = {item}</span>
|
||||||
|
</div>
|
||||||
|
<span>{typeof (items) == 'undefined'?'items not in scope':'items in scope'}</span>
|
||||||
|
<span>{typeof (item) == 'undefined'?'item not in scope':'item in scope'}</span>
|
||||||
|
|
||||||
|
</div>
|
1
test/data/scope.rt.html
Normal file
1
test/data/scope.rt.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<div><div><span>Item:#0 = a</span><span>Item:#1 = b</span><span>Item:#2 = c</span></div><span>items not in scope</span><span>item not in scope</span></div>
|
@ -4,6 +4,7 @@ var reactTemplates = require('../../src/reactTemplates');
|
|||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var _ = require('lodash');
|
var _ = require('lodash');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
var React = require('react');
|
||||||
|
|
||||||
var dataPath = path.resolve(__dirname, '..', 'data');
|
var dataPath = path.resolve(__dirname, '..', 'data');
|
||||||
|
|
||||||
@ -26,3 +27,32 @@ test('conversion test', function (t) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('html tests', function (t) {
|
||||||
|
var files = ['scope.rt'];
|
||||||
|
t.plan(files.length);
|
||||||
|
|
||||||
|
files.forEach(check);
|
||||||
|
|
||||||
|
function check(testFile) {
|
||||||
|
var filename = path.join(dataPath, testFile);
|
||||||
|
var html = fs.readFileSync(filename).toString();
|
||||||
|
var expected = fs.readFileSync(filename + '.html').toString().replace(/\r/g,"");
|
||||||
|
// var expected = fs.readFileSync(filename.replace(".html", ".js")).toString();
|
||||||
|
var code = reactTemplates.convertTemplateToReact(html).replace(/\r/g,"");
|
||||||
|
var define = function (req,content) {
|
||||||
|
return content(React, _);
|
||||||
|
};
|
||||||
|
console.log(code);
|
||||||
|
var comp = React.createFactory(React.createClass({
|
||||||
|
render: eval(code)
|
||||||
|
}));
|
||||||
|
var actual = React.renderToStaticMarkup(comp());
|
||||||
|
console.log(actual);
|
||||||
|
t.equal(actual, expected);
|
||||||
|
if (actual !== expected) {
|
||||||
|
fs.writeFileSync(filename + '.actual.js', actual);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user