summaryrefslogtreecommitdiff
path: root/preact/debug/test/browser/component-stack-2.test.js
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2021-08-23 16:46:06 -0300
committerSebastian <sebasjm@gmail.com>2021-08-23 16:48:30 -0300
commit38acabfa6089ab8ac469c12b5f55022fb96935e5 (patch)
tree453dbf70000cc5e338b06201af1eaca8343f8f73 /preact/debug/test/browser/component-stack-2.test.js
parentf26125e039143b92dc0d84e7775f508ab0cdcaa8 (diff)
downloadnode-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.gz
node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.bz2
node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.zip
added web vendorsHEADmaster
Diffstat (limited to 'preact/debug/test/browser/component-stack-2.test.js')
-rw-r--r--preact/debug/test/browser/component-stack-2.test.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/preact/debug/test/browser/component-stack-2.test.js b/preact/debug/test/browser/component-stack-2.test.js
new file mode 100644
index 0000000..a9a75af
--- /dev/null
+++ b/preact/debug/test/browser/component-stack-2.test.js
@@ -0,0 +1,54 @@
+import { createElement, render, Component } from 'preact';
+import 'preact/debug';
+import { setupScratch, teardown } from '../../../test/_util/helpers';
+
+/** @jsx createElement */
+
+// This test is not part of component-stack.test.js to avoid it being
+// transpiled with '@babel/plugin-transform-react-jsx-source' enabled.
+
+describe('component stack', () => {
+ /** @type {HTMLDivElement} */
+ let scratch;
+
+ let errors = [];
+ let warnings = [];
+
+ beforeEach(() => {
+ scratch = setupScratch();
+
+ errors = [];
+ warnings = [];
+ sinon.stub(console, 'error').callsFake(e => errors.push(e));
+ sinon.stub(console, 'warn').callsFake(w => warnings.push(w));
+ });
+
+ afterEach(() => {
+ console.error.restore();
+ console.warn.restore();
+ teardown(scratch);
+ });
+
+ it('should print a warning when "@babel/plugin-transform-react-jsx-source" is not installed', () => {
+ function Foo() {
+ return <Thrower />;
+ }
+
+ class Thrower extends Component {
+ constructor(props) {
+ super(props);
+ this.setState({ foo: 1 });
+ }
+
+ render() {
+ return <div>foo</div>;
+ }
+ }
+
+ render(<Foo />, scratch);
+
+ expect(
+ warnings[0].indexOf('@babel/plugin-transform-react-jsx-source') > -1
+ ).to.equal(true);
+ });
+});