diff --git a/test/data/scope.rt b/test/data/scope.rt
new file mode 100644
index 0000000..e834dec
--- /dev/null
+++ b/test/data/scope.rt
@@ -0,0 +1,9 @@
+
+
+
+ Item:#{itemIndex} = {item}
+
+
{typeof (items) == 'undefined'?'items not in scope':'items in scope'}
+
{typeof (item) == 'undefined'?'item not in scope':'item in scope'}
+
+
\ No newline at end of file
diff --git a/test/data/scope.rt.html b/test/data/scope.rt.html
new file mode 100644
index 0000000..c0342cf
--- /dev/null
+++ b/test/data/scope.rt.html
@@ -0,0 +1 @@
+Item:#0 = aItem:#1 = bItem:#2 = c
items not in scopeitem not in scope
\ No newline at end of file
diff --git a/test/src/test.js b/test/src/test.js
index 16e8b99..09ead69 100644
--- a/test/src/test.js
+++ b/test/src/test.js
@@ -4,6 +4,7 @@ var reactTemplates = require('../../src/reactTemplates');
var fs = require('fs');
var _ = require('lodash');
var path = require('path');
+var React = require('react');
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);
+ }
+ }
+
+});
+