Only run custom element fixture in browsers that support it (#11052)
Brandon Dail committed
Oct 2, 2017 at 16:50 UTC
ad1709a394d2048e113347c26e37ccc253f703a3
1 file changed
+10
-2
fixtures/dom/src/components/fixtures/custom-elements/index.js
+10
-2
@@ -4,6 +4,8 @@ import TestCase from '../../TestCase';
4
const React = window.React;
5
const ReactDOM = window.ReactDOM;
6
7
+const supportsCustomElements = typeof customElements !== 'undefined';
8
+
9
class HelloWorld extends React.Component {
10
render() {
11
return <h1>Hello, world!</h1>;
@@ -27,7 +29,9 @@ return class MyElement extends HTMLElement {
29
}`
30
)(React, ReactDOM, HelloWorld);
31
30
-customElements.define('my-element', MyElement);
32
+if (supportsCustomElements) {
33
+ customElements.define('my-element', MyElement);
34
+}
35
36
export default class ButtonTestCases extends React.Component {
37
render() {
@@ -39,7 +43,11 @@ export default class ButtonTestCases extends React.Component {
43
<TestCase.ExpectedResult>
44
You should see "Hello, World" printed below.{' '}
45
</TestCase.ExpectedResult>
42
- <my-element />
46
+ {supportsCustomElements
47
+ ? <my-element />
48
+ : <div>
49
+ This browser does not support custom elements.
50
+ </div>}
51
</TestCase>
52
</FixtureSet>
53
);