diff --git a/src/reactTemplates.js b/src/reactTemplates.js index 2fdc591..58bee4d 100644 --- a/src/reactTemplates.js +++ b/src/reactTemplates.js @@ -236,6 +236,7 @@ function generateProps(node, context) { function convertTagNameToConstructor(tagName, context) { var isHtmlTag = _.contains(reactDOMSupport[context.options.targetVersion], tagName); if (shouldUseCreateElement(context)) { + isHtmlTag = isHtmlTag || tagName.match(/^\w+(-\w+)$/); return isHtmlTag ? "'" + tagName + "'" : tagName; } return isHtmlTag ? 'React.DOM.' + tagName : tagName; diff --git a/test/data/custom-element.rt b/test/data/custom-element.rt new file mode 100644 index 0000000..dbeead7 --- /dev/null +++ b/test/data/custom-element.rt @@ -0,0 +1,3 @@ +
+ +
diff --git a/test/data/custom-element.rt.html b/test/data/custom-element.rt.html new file mode 100644 index 0000000..b57a8c4 --- /dev/null +++ b/test/data/custom-element.rt.html @@ -0,0 +1 @@ +
diff --git a/test/src/test.js b/test/src/test.js index 8d3794f..9052f05 100644 --- a/test/src/test.js +++ b/test/src/test.js @@ -113,7 +113,7 @@ function normalizeHtml(html) { } test('html tests', function (t) { - var files = ['scope.rt', 'lambda.rt', 'eval.rt', 'props.rt']; + var files = ['scope.rt', 'lambda.rt', 'eval.rt', 'props.rt','custom-element.rt']; t.plan(files.length); files.forEach(check);