package org.jooby.assets; import static org.junit.Assert.assertEquals; import java.nio.file.Paths; import org.junit.Test; import com.typesafe.config.ConfigFactory; public class ReactTest { @Test public void name() throws Exception { assertEquals("react", new React().name()); } @Test public void defaults() throws Exception { assertEquals("(function () {\n" + "'use strict';\n" + "\n" + "(function(exports) {\n" + " exports.React = {};\n" + "})(window);\n" + "\n" + "(function(exports) {\n" + " exports.ReactDOM = {};\n" + "})(window);\n" + "\n" + "var Home = function Home() {\n" + " return React.createElement(\n" + " 'div',\n" + " null,\n" + " React.createElement(\n" + " 'h2',\n" + " null,\n" + " 'Home'\n" + " )\n" + " );\n" + "};\n" + "\n" + "ReactDOM.render(React.createElement(Home, null), document.getElementById('root'));\n" + "\n" + "}());\n" + "", new React() .set("basedir", Paths.get("src", "test", "resources").toString()) .process("/index.js", "import React from 'react';\n" + "import ReactDOM from 'react-dom';\n" + "\n" + "const Home = () => (\n" + " <div>\n" + " <h2>Home</h2>\n" + " </div>\n" + ")\n" + "\n" + "ReactDOM.render(<Home />, document.getElementById('root'));", ConfigFactory.empty())); } @Test public void importFile() throws Exception { assertEquals("(function () {\n" + "'use strict';\n" + "\n" + "(function(exports) {\n" + " exports.React = {};\n" + "})(window);\n" + "\n" + "(function(exports) {\n" + " exports.ReactDOM = {};\n" + "})(window);\n" + "\n" + "var App = function App() {\n" + " return React.createElement(\n" + " 'div',\n" + " null,\n" + " React.createElement(\n" + " 'h2',\n" + " null,\n" + " 'App'\n" + " )\n" + " );\n" + "};\n" + "\n" + "ReactDOM.render(React.createElement(App, null), document.getElementById('root'));\n" + "\n" + "}());\n" + "", new React() .set("basedir", Paths.get("src", "test", "resources").toString()) .process("/index.js", "import React from 'react';\n" + "import ReactDOM from 'react-dom';\n" + "import App from './App';\n" + "\n" + "ReactDOM.render(<App />, document.getElementById('root'));", ConfigFactory.empty())); } }