ProtecteddocumentGets a LocatorFactory for the document root element. This factory can be used to create
locators for elements that a component creates outside of its own root element. (e.g. by
appending to document.body).
ProtectedforceFlushes change detection and async tasks in the Angular zone. In most cases it should not be necessary to call this manually. However, there may be some edge cases where it is needed to fully flush animation events.
Gets a list of HarnessLoader for each element matching the given selector under the current
harness's cotnent that searches for harnesses under that element.
The selector for elements in the component's content.
A list of HarnessLoader for each element matching the given selector.
ProtectedgetGets a HarnessLoader that searches for harnesses under the first element matching the given
selector within the current harness's content.
The selector for an element in the component's content.
A HarnessLoader that searches for harnesses under the given selector.
ProtectedgetGets the root harness loader from which to start searching for content contained by this harness.
ProtectedgetSearches for an instance of the component corresponding to the given harness type under the document root element, and returns a ComponentHarness for that instance. If multiple matching components are found, a harness for the first one is returned. If no matching component is found, an error is thrown.
ProtectedgetGets a HarnessLoader for the document root element. This loader can be used for elements that a component creates outside its own root element (e.g. by appending to document.body).
Checks whether there is a matching harnesses for the given query within the current harness's content.
The harness query to search for.
Whetehr there is matching harnesses for the given query.
Gets a Promise for the TestElement representing the host element of the component.
ProtectedlocatorCreates an asynchronous locator function that can be used to find a ComponentHarness instance
or element under the host element of this ComponentHarness.
For example, given the following DOM and assuming DivHarness.hostSelector is 'div'
<div id="d1"></div><div id="d2"></div>
then we expect:
await ch.locatorFor(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
await ch.locatorFor('div', DivHarness)() // Gets a `TestElement` instance for #d1
await ch.locatorFor('span')() // Throws because the `Promise` rejects
A list of queries specifying which harnesses and elements to search for:
string searches for elements matching the CSS selector specified by the string.ComponentHarness constructor searches for ComponentHarness instances matching the
given class.HarnessPredicate searches for ComponentHarness instances matching the given
predicate.An asynchronous locator function that searches for and returns a Promise for the
first element or harness matching the given search criteria. Matches are ordered first by
order in the DOM, and second by order in the queries list. If no matches are found, the
Promise rejects. The type that the Promise resolves to is a union of all result types for
each query.
ProtectedlocatorCreates an asynchronous locator function that can be used to find ComponentHarness instances
or elements under the host element of this ComponentHarness.
For example, given the following DOM and assuming DivHarness.hostSelector is 'div' and
IdIsD1Harness.hostSelector is '#d1'
<div id="d1"></div><div id="d2"></div>
then we expect:
// Gets [DivHarness for #d1, TestElement for #d1, DivHarness for #d2, TestElement for #d2]
await ch.locatorForAll(DivHarness, 'div')()
// Gets [TestElement for #d1, TestElement for #d2]
await ch.locatorForAll('div', '#d1')()
// Gets [DivHarness for #d1, IdIsD1Harness for #d1, DivHarness for #d2]
await ch.locatorForAll(DivHarness, IdIsD1Harness)()
// Gets []
await ch.locatorForAll('span')()
A list of queries specifying which harnesses and elements to search for:
string searches for elements matching the CSS selector specified by the string.ComponentHarness constructor searches for ComponentHarness instances matching the
given class.HarnessPredicate searches for ComponentHarness instances matching the given
predicate.An asynchronous locator function that searches for and returns a Promise for all
elements and harnesses matching the given search criteria. Matches are ordered first by
order in the DOM, and second by order in the queries list. If an element matches more than
one ComponentHarness class, the locator gets an instance of each for the same element. If
an element matches multiple string selectors, only one TestElement instance is returned
for that element. The type that the Promise resolves to is an array where each element is
the union of all result types for each query.
ProtectedlocatorCreates an asynchronous locator function that can be used to find a ComponentHarness instance
or element under the host element of this ComponentHarness.
For example, given the following DOM and assuming DivHarness.hostSelector is 'div'
<div id="d1"></div><div id="d2"></div>
then we expect:
await ch.locatorForOptional(DivHarness, 'div')() // Gets a `DivHarness` instance for #d1
await ch.locatorForOptional('div', DivHarness)() // Gets a `TestElement` instance for #d1
await ch.locatorForOptional('span')() // Gets `null`
A list of queries specifying which harnesses and elements to search for:
string searches for elements matching the CSS selector specified by the string.ComponentHarness constructor searches for ComponentHarness instances matching the
given class.HarnessPredicate searches for ComponentHarness instances matching the given
predicate.An asynchronous locator function that searches for and returns a Promise for the
first element or harness matching the given search criteria. Matches are ordered first by
order in the DOM, and second by order in the queries list. If no matches are found, the
Promise is resolved with null. The type that the Promise resolves to is a union of all
result types for each query or null.
ProtectedwaitWaits for all scheduled or running async tasks to complete. This allows harness authors to wait for async tasks outside of the Angular zone.
Provides some shorthand utilities that component harnesses may want.