32 lines
945 B
TypeScript
32 lines
945 B
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
export function html(html: string): Element {
|
|
// Don't return `body` itself, because using it as a `$rootElement` for ng1
|
|
// will attach `$injector` to it and that will affect subsequent tests.
|
|
const body = document.body;
|
|
body.innerHTML = `<div>${html.trim()}</div>`;
|
|
const div = document.body.firstChild as Element;
|
|
|
|
if (div.childNodes.length === 1 && div.firstChild instanceof HTMLElement) {
|
|
return div.firstChild;
|
|
}
|
|
|
|
return div;
|
|
}
|
|
|
|
export function multiTrim(text: string): string {
|
|
return text.replace(/\n/g, '').replace(/\s\s+/g, ' ').trim();
|
|
}
|
|
|
|
export function nodes(html: string) {
|
|
const div = document.createElement('div');
|
|
div.innerHTML = html.trim();
|
|
return Array.prototype.slice.call(div.childNodes);
|
|
}
|