Skip to content

Commit

Permalink
Add tests for JSX support in JS even if no dependencies are specified
Browse files Browse the repository at this point in the history
  • Loading branch information
lustoykov committed Jan 13, 2019
1 parent acb4ced commit caa2ebc
Show file tree
Hide file tree
Showing 9 changed files with 113 additions and 0 deletions.
@@ -0,0 +1,3 @@
import * as Hyperapp from 'hyperapp'

module.exports = <div />;
@@ -0,0 +1,3 @@
{
"private": true
}
@@ -0,0 +1,3 @@
import * as Nerv from 'nervjs';

module.exports = <div />;
@@ -0,0 +1,3 @@
{
"private": true
}
@@ -0,0 +1,3 @@
const Preact = require('preact');

module.exports = <div />;
@@ -0,0 +1,3 @@
{
"private": true
}
@@ -0,0 +1,3 @@
import * as React from 'react';

module.exports = <div />;
@@ -0,0 +1,3 @@
{
"private": true
}
89 changes: 89 additions & 0 deletions packages/core/integration-tests/test/javascript.js
Expand Up @@ -1343,6 +1343,28 @@ describe('javascript', function() {
assert(file.includes('React.createElement("div"'));
});

it('should support compiling JSX in JS files with React dependency even if React is not specified as dependency', async function() {
let originalPkg = await fs.readFile(
__dirname + '/integration/jsx-react-no-dep/package.json'
);

await bundle(
path.join(__dirname, '/integration/jsx-react-no-dep/index.js')
);

let file = await fs.readFile(
path.join(__dirname, '/dist/index.js'),
'utf8'
);

assert(file.includes('React.createElement("div"'));

await fs.writeFile(
__dirname + '/integration/jsx-react-no-dep/package.json',
originalPkg
);
});

it('should support compiling JSX in JS files with Preact dependency', async function() {
await bundle(path.join(__dirname, '/integration/jsx-preact/index.js'));

Expand All @@ -1353,6 +1375,28 @@ describe('javascript', function() {
assert(file.includes('h("div"'));
});

it('should support compiling JSX in JS files with Preact dependency even if Preact is not specified as dependency', async function() {
let originalPkg = await fs.readFile(
__dirname + '/integration/jsx-preact-no-dep/package.json'
);

await bundle(
path.join(__dirname, '/integration/jsx-preact-no-dep/index.js')
);

let file = await fs.readFile(
path.join(__dirname, '/dist/index.js'),
'utf8'
);

assert(file.includes('h("div"'));

await fs.writeFile(
__dirname + '/integration/jsx-preact-no-dep/package.json',
originalPkg
);
});

it('should support compiling JSX in JS files with Nerv dependency', async function() {
await bundle(path.join(__dirname, '/integration/jsx-nervjs/index.js'));

Expand All @@ -1363,14 +1407,59 @@ describe('javascript', function() {
assert(file.includes('Nerv.createElement("div"'));
});

it('should support compiling JSX in JS files with Nerv dependency even if Nerv is not specified as dependency', async function() {
let originalPkg = await fs.readFile(
__dirname + '/integration/jsx-nervjs-no-dep/package.json'
);

await bundle(
path.join(__dirname, '/integration/jsx-nervjs-no-dep/index.js')
);

let file = await fs.readFile(
path.join(__dirname, '/dist/index.js'),
'utf8'
);

assert(file.includes('Nerv.createElement("div"'));

await fs.writeFile(
__dirname + '/integration/jsx-nervjs-no-dep/package.json',
originalPkg
);
});

it('should support compiling JSX in JS files with Hyperapp dependency', async function() {
await bundle(path.join(__dirname, '/integration/jsx-hyperapp/index.js'));

let file = await fs.readFile(
path.join(__dirname, '/dist/index.js'),
'utf8'
);

assert(file.includes('h("div"'));
});

it('should support compiling JSX in JS files with Hyperapp dependency even if Hyperapp is not specified as dependency', async function() {
let originalPkg = await fs.readFile(
__dirname + '/integration/jsx-hyperapp-no-dep/package.json'
);

await bundle(
path.join(__dirname, '/integration/jsx-hyperapp-no-dep/index.js')
);

let file = await fs.readFile(
path.join(__dirname, '/dist/index.js'),
'utf8'
);

assert(file.includes('h("div"'));

await fs.writeFile(
__dirname + '/integration/jsx-hyperapp-no-dep/package.json',
originalPkg
);
});

it('should support optional dependencies in try...catch blocks', async function() {
Expand Down

0 comments on commit caa2ebc

Please sign in to comment.