/**
* Copyright 2018 Google Inc. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const { html, Component, render } = require('../preact/index.js');
describe('preact-html', () => {
const scratch = document.createElement('div');
document.body.appendChild(scratch);
class Foo extends Component {
render({ name }, { count = 0 }) {
return html`
Name: ${name}
Hello world!
Count: ${count}
xml-style end tags:
<${Bar} hello />
explicit end tags:
<${Bar} hello>some children (count=${count})${Bar}>
implicit end tags: (${'/>'})
<${Bar} hello>some children (count=${count})/>
some text at the end
`;
}
}
const Bar = ({ hello, children }) => html`
Value of hello: ${hello + ''}
${children}
`;
const fullHtml = '
\n\t\t\t\t\t
Name: jason
\n\t\t\t\t\t
Hello world!
\n\t\t\t\t\t\n\t\t\t\t\t
Count: 0
\n\t\t\t\t\txml-style end tags:\n\t\t\t\t\t
\n\t\tValue of hello: true\n\t\t\n\t
\n\t\t\t\t\texplicit end tags:\n\t\t\t\t\t
\n\t\tValue of hello: true\n\t\tsome children (count=0)\n\t
\n\t\t\t\t\timplicit end tags: (<//>)\n\t\t\t\t\t
\n\t\tValue of hello: true\n\t\tsome children (count=0)\n\t