fix(test_lib): run unit tests in default Documnent
Closes #3501 Fixes #3475
This commit is contained in:
parent
cf6ffd5469
commit
a37de36fa6
|
@ -138,6 +138,10 @@ export class TestComponentBuilder {
|
||||||
var doc = this._injector.get(DOCUMENT_TOKEN);
|
var doc = this._injector.get(DOCUMENT_TOKEN);
|
||||||
|
|
||||||
// TODO(juliemr): can/should this be optional?
|
// TODO(juliemr): can/should this be optional?
|
||||||
|
var oldRoots = DOM.querySelectorAll(doc, '[id^=root]');
|
||||||
|
for (var i = 0; i < oldRoots.length; i++) {
|
||||||
|
DOM.remove(oldRoots[i]);
|
||||||
|
}
|
||||||
DOM.appendChild(doc.body, rootEl);
|
DOM.appendChild(doc.body, rootEl);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ function _getAppBindings() {
|
||||||
|
|
||||||
// The document is only available in browser environment
|
// The document is only available in browser environment
|
||||||
try {
|
try {
|
||||||
appDoc = DOM.createHtmlDocument();
|
appDoc = DOM.defaultDoc();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
appDoc = null;
|
appDoc = null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -736,11 +736,6 @@ export function main() {
|
||||||
rootTC.componentInstance.form = form;
|
rootTC.componentInstance.form = form;
|
||||||
rootTC.detectChanges();
|
rootTC.detectChanges();
|
||||||
|
|
||||||
// In IE, the element needs to be appended to the real DOM,
|
|
||||||
// otherwise setting .selectionStart fails with "unspecified error"
|
|
||||||
var isIE = DOM.getUserAgent().indexOf("Trident") > -1;
|
|
||||||
if (isIE) DOM.appendChild(DOM.defaultDoc().body, rootTC.nativeElement);
|
|
||||||
|
|
||||||
var input = rootTC.query(By.css("input")).nativeElement;
|
var input = rootTC.query(By.css("input")).nativeElement;
|
||||||
input.value = "aa";
|
input.value = "aa";
|
||||||
input.selectionStart = 1;
|
input.selectionStart = 1;
|
||||||
|
@ -751,7 +746,6 @@ export function main() {
|
||||||
|
|
||||||
// selection start has not changed because we did not reset the value
|
// selection start has not changed because we did not reset the value
|
||||||
expect(input.selectionStart).toEqual(1);
|
expect(input.selectionStart).toEqual(1);
|
||||||
if (isIE) DOM.removeChild(DOM.defaultDoc().body, rootTC.nativeElement);
|
|
||||||
})));
|
})));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue