@skyux/lookup 6.19.0 → 6.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/testing/autocomplete/autocomplete-harness.mjs +4 -4
- package/esm2020/testing/autocomplete/autocomplete-search-result-harness-filters.mjs +1 -1
- package/esm2020/testing/autocomplete/autocomplete-search-result-harness.mjs +4 -4
- package/fesm2015/skyux-lookup-testing.mjs +6 -6
- package/fesm2015/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2020/skyux-lookup-testing.mjs +6 -6
- package/fesm2020/skyux-lookup-testing.mjs.map +1 -1
- package/package.json +10 -10
- package/testing/autocomplete/autocomplete-search-result-harness-filters.d.ts +1 -1
- package/testing/autocomplete/autocomplete-search-result-harness.d.ts +2 -2
|
@@ -56,8 +56,8 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
56
56
|
const harnesses = await overlay.queryHarnesses(SkyAutocompleteSearchResultHarness.with(filters || {}));
|
|
57
57
|
if (filters && harnesses.length === 0) {
|
|
58
58
|
// Stringify the regular expression so that it's readable in the console log.
|
|
59
|
-
if (filters.
|
|
60
|
-
filters.
|
|
59
|
+
if (filters.text instanceof RegExp) {
|
|
60
|
+
filters.text = filters.text.toString();
|
|
61
61
|
}
|
|
62
62
|
throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
|
|
63
63
|
}
|
|
@@ -70,7 +70,7 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
70
70
|
const harnesses = await this.getSearchResults(filters);
|
|
71
71
|
const text = [];
|
|
72
72
|
for (const harness of harnesses) {
|
|
73
|
-
text.push(await harness.
|
|
73
|
+
text.push(await harness.getText());
|
|
74
74
|
}
|
|
75
75
|
return text;
|
|
76
76
|
}
|
|
@@ -158,4 +158,4 @@ _SkyAutocompleteHarness_documentRootLocator = new WeakMap(), _SkyAutocompleteHar
|
|
|
158
158
|
* @internal
|
|
159
159
|
*/
|
|
160
160
|
SkyAutocompleteHarness.hostSelector = 'sky-autocomplete';
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzFGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUFBL0Q7OztRQU1FLHNEQUF1QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBQztRQUV6RCwyQ0FBWSxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLEVBQUM7SUF3TTNELENBQUM7SUF0TUM7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBc0M7UUFFdEMsT0FBTyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksd0NBQVUsTUFBZCxJQUFJLENBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksd0NBQVUsTUFBZCxJQUFJLENBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBYTtRQUNsQyxPQUFPLENBQUMsTUFB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LElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUN0RCxFQUFFO1FBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNYLENBQUM7QUE5TUQ7O0dBRUc7QUFDVyxtQ0FBWSxHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MsIFNreU92ZXJsYXlIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUlucHV0SGFybmVzcyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLWlucHV0LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGF1dG9jb21wbGV0ZSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWF1dG9jb21wbGV0ZSc7XG5cbiAgI2RvY3VtZW50Um9vdExvY2F0b3IgPSB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCk7XG5cbiAgI2dldElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKFNreUF1dG9jb21wbGV0ZUlucHV0SGFybmVzcyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUF1dG9jb21wbGV0ZUhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lBdXRvY29tcGxldGVIYXJuZXNzRmlsdGVyc1xuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUF1dG9jb21wbGV0ZUhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5QXV0b2NvbXBsZXRlSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgaW5wdXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGF1dG9jb21wbGV0ZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbnRlclRleHQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZW50ZXJUZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBhdXRvY29tcGxldGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgc2VhcmNoIHJlc3VsdCBoYXJuZXNzZXMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VhcmNoUmVzdWx0cyhcbiAgICBmaWx0ZXJzPzogU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgKTogUHJvbWlzZTxTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzW10+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gcmV0cmlldmUgc2VhcmNoIHJlc3VsdHMuIFRoZSBhdXRvY29tcGxldGUgaXMgY2xvc2VkLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFybmVzc2VzID0gYXdhaXQgb3ZlcmxheS5xdWVyeUhhcm5lc3NlcyhcbiAgICAgIFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3Mud2l0aChmaWx0ZXJzIHx8IHt9KVxuICAgICk7XG5cbiAgICBpZiAoZmlsdGVycyAmJiBoYXJuZXNzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBTdHJpbmdpZnkgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBzbyB0aGF0IGl0J3MgcmVhZGFibGUgaW4gdGhlIGNvbnNvbGUgbG9nLlxuICAgICAgaWYgKGZpbHRlcnMudGV4dENvbnRlbnQgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgZmlsdGVycy50ZXh0Q29udGVudCA9IGZpbHRlcnMudGV4dENvbnRlbnQudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgc2VhcmNoIHJlc3VsdHMgbWF0Y2hpbmcgZmlsdGVyKHMpOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGZpbHRlcnNcbiAgICAgICAgKX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBoYXJuZXNzZXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGV4dCBjb250ZW50IGZvciBlYWNoIHNlYXJjaCByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VhcmNoUmVzdWx0c1RleHQoXG4gICAgZmlsdGVycz86IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzXG4gICk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmdldFNlYXJjaFJlc3VsdHMoZmlsdGVycyk7XG5cbiAgICBjb25zdCB0ZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaGFybmVzcyBvZiBoYXJuZXNzZXMpIHtcbiAgICAgIHRleHQucHVzaChhd2FpdCBoYXJuZXNzLnRleHRDb250ZW50KCkpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBhdXRvY29tcGxldGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYXV0b2NvbXBsZXRlIGlucHV0IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5pc0Rpc2FibGVkKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYXV0b2NvbXBsZXRlIGlucHV0IGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYXV0b2NvbXBsZXRlIGlzIG9wZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNPcGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG92ZXJsYXkgPSBhd2FpdCB0aGlzLiNnZXRPdmVybGF5KCk7XG4gICAgcmV0dXJuICEhb3ZlcmxheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGEgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RTZWFyY2hSZXN1bHQoXG4gICAgZmlsdGVyczogU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuZ2V0U2VhcmNoUmVzdWx0cyhmaWx0ZXJzKTtcbiAgICBpZiAocmVzdWx0cyAmJiByZXN1bHRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGF3YWl0IHJlc3VsdHNbMF0uc2VsZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgXCJBZGRcIiBidXR0b24gaW4gdGhlIGF1dG9jb21wbGV0ZSBzZWFyY2ggcmVzdWx0cyBwYW5lbC5cbiAgICogKFRoZSBcIkFkZFwiIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBwdWJsaWMgQVBJXG4gICAqIG9mIGEgXCJ2YW5pbGxhXCIgYXV0b2NvbXBsZXRlIGNvbXBvbmVudCwgc28gdGhpcyBtZXRob2QgaXMgcHJvdGVjdGVkXG4gICAqIHRvIHByZXZlbnQgY29uc3VtZXJzIG9mIHRoZSBhdXRvY29tcGxldGUgaGFybmVzcyBmcm9tIGNhbGxpbmcgaXQuXG4gICAqIFRoZSBsb29rdXAgaGFybmVzcywgd2hpY2ggZXh0ZW5kcyB0aGUgYXV0b2NvbXBsZXRlIGhhcm5lc3MsIG1heVxuICAgKiBzdGlsbCBhY2Nlc3MgdGhpcyBmZWF0dXJlLCBob3dldmVyLilcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBjbGlja0FkZEJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVW5hYmxlIHRvIGZpbmQgdGhlIFwiQWRkXCIgYnV0dG9uLiBUaGUgYXV0b2NvbXBsZXRlIGlzIGNsb3NlZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IG92ZXJsYXkucXVlcnlTZWxlY3RvcihcbiAgICAgICdidXR0b24uc2t5LWF1dG9jb21wbGV0ZS1hY3Rpb24tYWRkJ1xuICAgICk7XG5cbiAgICBpZiAoIWJ1dHRvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIFwiQWRkXCIgYnV0dG9uIGNhbm5vdCBiZSBjbGlja2VkIGJlY2F1c2UgaXQgZG9lcyBub3QgZXhpc3QuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIFwiU2hvdyBtb3JlXCIgYnV0dG9uLlxuICAgKiAoVGhlIFwiU2hvdyBtb3JlXCIgZnVuY3Rpb25hbGl0eSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHB1YmxpYyBBUElcbiAgICogb2YgYSBcInZhbmlsbGFcIiBhdXRvY29tcGxldGUgY29tcG9uZW50LCBzbyB0aGlzIG1ldGhvZCBpcyBwcm90ZWN0ZWRcbiAgICogdG8gcHJldmVudCBjb25zdW1lcnMgb2YgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzIGZyb20gY2FsbGluZyBpdC5cbiAgICogVGhlIGxvb2t1cCBoYXJuZXNzLCB3aGljaCBleHRlbmRzIHRoZSBhdXRvY29tcGxldGUgaGFybmVzcywgbWF5XG4gICAqIHN0aWxsIGFjY2VzcyB0aGlzIGZlYXR1cmUsIGhvd2V2ZXIuKVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNsaWNrU2hvd01vcmVCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHRoaXMuI2dldE92ZXJsYXkoKTtcblxuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVW5hYmxlIHRvIGZpbmQgdGhlIFwiU2hvdyBtb3JlXCIgYnV0dG9uLiAnICtcbiAgICAgICAgICAnVGhlIGF1dG9jb21wbGV0ZSBpcyBjbG9zZWQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCBvdmVybGF5LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnYnV0dG9uLnNreS1hdXRvY29tcGxldGUtYWN0aW9uLW1vcmUnXG4gICAgKTtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGUgXCJTaG93IG1vcmVcIiBidXR0b24gY2Fubm90IGJlIGNsaWNrZWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgYXN5bmMgI2dldE92ZXJsYXkoKTogUHJvbWlzZTxTa3lPdmVybGF5SGFybmVzcyB8IG51bGw+IHtcbiAgICBjb25zdCBvdmVybGF5SWQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXJpYU93bnMoKTtcblxuICAgIHJldHVybiBvdmVybGF5SWRcbiAgICAgID8gdGhpcy4jZG9jdW1lbnRSb290TG9jYXRvci5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICAgICAgU2t5T3ZlcmxheUhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiBgIyR7b3ZlcmxheUlkfWAgfSlcbiAgICAgICAgKSgpXG4gICAgICA6IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzFGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUFBL0Q7OztRQU1FLHNEQUF1QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBQztRQUV6RCwyQ0FBWSxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLEVBQUM7SUF3TTNELENBQUM7SUF0TUM7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBc0M7UUFFdEMsT0FBTyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksd0NBQVUsTUFBZCxJQUFJLENBQVksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksd0NBQVUsTUFBZCxJQUFJLENBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBYTtRQUNsQyxPQUFPLENBQUMsTUFB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LElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUN0RCxFQUFFO1FBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNYLENBQUM7QUE5TUQ7O0dBRUc7QUFDVyxtQ0FBWSxHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MsIFNreU92ZXJsYXlIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUlucHV0SGFybmVzcyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLWlucHV0LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGF1dG9jb21wbGV0ZSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWF1dG9jb21wbGV0ZSc7XG5cbiAgI2RvY3VtZW50Um9vdExvY2F0b3IgPSB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCk7XG5cbiAgI2dldElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKFNreUF1dG9jb21wbGV0ZUlucHV0SGFybmVzcyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUF1dG9jb21wbGV0ZUhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lBdXRvY29tcGxldGVIYXJuZXNzRmlsdGVyc1xuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUF1dG9jb21wbGV0ZUhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5QXV0b2NvbXBsZXRlSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgaW5wdXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGF1dG9jb21wbGV0ZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbnRlclRleHQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZW50ZXJUZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBhdXRvY29tcGxldGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgc2VhcmNoIHJlc3VsdCBoYXJuZXNzZXMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VhcmNoUmVzdWx0cyhcbiAgICBmaWx0ZXJzPzogU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgKTogUHJvbWlzZTxTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzW10+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gcmV0cmlldmUgc2VhcmNoIHJlc3VsdHMuIFRoZSBhdXRvY29tcGxldGUgaXMgY2xvc2VkLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFybmVzc2VzID0gYXdhaXQgb3ZlcmxheS5xdWVyeUhhcm5lc3NlcyhcbiAgICAgIFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3Mud2l0aChmaWx0ZXJzIHx8IHt9KVxuICAgICk7XG5cbiAgICBpZiAoZmlsdGVycyAmJiBoYXJuZXNzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBTdHJpbmdpZnkgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBzbyB0aGF0IGl0J3MgcmVhZGFibGUgaW4gdGhlIGNvbnNvbGUgbG9nLlxuICAgICAgaWYgKGZpbHRlcnMudGV4dCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICBmaWx0ZXJzLnRleHQgPSBmaWx0ZXJzLnRleHQudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgc2VhcmNoIHJlc3VsdHMgbWF0Y2hpbmcgZmlsdGVyKHMpOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGZpbHRlcnNcbiAgICAgICAgKX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBoYXJuZXNzZXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGV4dCBjb250ZW50IGZvciBlYWNoIHNlYXJjaCByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VhcmNoUmVzdWx0c1RleHQoXG4gICAgZmlsdGVycz86IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzXG4gICk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmdldFNlYXJjaFJlc3VsdHMoZmlsdGVycyk7XG5cbiAgICBjb25zdCB0ZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaGFybmVzcyBvZiBoYXJuZXNzZXMpIHtcbiAgICAgIHRleHQucHVzaChhd2FpdCBoYXJuZXNzLmdldFRleHQoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmlzRGlzYWJsZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgaW5wdXQgaXMgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5pc0ZvY3VzZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgaXMgb3Blbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc09wZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHRoaXMuI2dldE92ZXJsYXkoKTtcbiAgICByZXR1cm4gISFvdmVybGF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzZWFyY2ggcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdFNlYXJjaFJlc3VsdChcbiAgICBmaWx0ZXJzOiBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVyc1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5nZXRTZWFyY2hSZXN1bHRzKGZpbHRlcnMpO1xuICAgIGlmIChyZXN1bHRzICYmIHJlc3VsdHMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgcmVzdWx0c1swXS5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBcIkFkZFwiIGJ1dHRvbiBpbiB0aGUgYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHRzIHBhbmVsLlxuICAgKiAoVGhlIFwiQWRkXCIgZnVuY3Rpb25hbGl0eSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHB1YmxpYyBBUElcbiAgICogb2YgYSBcInZhbmlsbGFcIiBhdXRvY29tcGxldGUgY29tcG9uZW50LCBzbyB0aGlzIG1ldGhvZCBpcyBwcm90ZWN0ZWRcbiAgICogdG8gcHJldmVudCBjb25zdW1lcnMgb2YgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzIGZyb20gY2FsbGluZyBpdC5cbiAgICogVGhlIGxvb2t1cCBoYXJuZXNzLCB3aGljaCBleHRlbmRzIHRoZSBhdXRvY29tcGxldGUgaGFybmVzcywgbWF5XG4gICAqIHN0aWxsIGFjY2VzcyB0aGlzIGZlYXR1cmUsIGhvd2V2ZXIuKVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNsaWNrQWRkQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG92ZXJsYXkgPSBhd2FpdCB0aGlzLiNnZXRPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gZmluZCB0aGUgXCJBZGRcIiBidXR0b24uIFRoZSBhdXRvY29tcGxldGUgaXMgY2xvc2VkLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgb3ZlcmxheS5xdWVyeVNlbGVjdG9yKFxuICAgICAgJ2J1dHRvbi5za3ktYXV0b2NvbXBsZXRlLWFjdGlvbi1hZGQnXG4gICAgKTtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGUgXCJBZGRcIiBidXR0b24gY2Fubm90IGJlIGNsaWNrZWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgXCJTaG93IG1vcmVcIiBidXR0b24uXG4gICAqIChUaGUgXCJTaG93IG1vcmVcIiBmdW5jdGlvbmFsaXR5IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcHVibGljIEFQSVxuICAgKiBvZiBhIFwidmFuaWxsYVwiIGF1dG9jb21wbGV0ZSBjb21wb25lbnQsIHNvIHRoaXMgbWV0aG9kIGlzIHByb3RlY3RlZFxuICAgKiB0byBwcmV2ZW50IGNvbnN1bWVycyBvZiB0aGUgYXV0b2NvbXBsZXRlIGhhcm5lc3MgZnJvbSBjYWxsaW5nIGl0LlxuICAgKiBUaGUgbG9va3VwIGhhcm5lc3MsIHdoaWNoIGV4dGVuZHMgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzLCBtYXlcbiAgICogc3RpbGwgYWNjZXNzIHRoaXMgZmVhdHVyZSwgaG93ZXZlci4pXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgY2xpY2tTaG93TW9yZUJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gZmluZCB0aGUgXCJTaG93IG1vcmVcIiBidXR0b24uICcgK1xuICAgICAgICAgICdUaGUgYXV0b2NvbXBsZXRlIGlzIGNsb3NlZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IG92ZXJsYXkucXVlcnlTZWxlY3RvcihcbiAgICAgICdidXR0b24uc2t5LWF1dG9jb21wbGV0ZS1hY3Rpb24tbW9yZSdcbiAgICApO1xuXG4gICAgaWYgKCFidXR0b24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBcIlNob3cgbW9yZVwiIGJ1dHRvbiBjYW5ub3QgYmUgY2xpY2tlZCBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0LidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICBhc3luYyAjZ2V0T3ZlcmxheSgpOiBQcm9taXNlPFNreU92ZXJsYXlIYXJuZXNzIHwgbnVsbD4ge1xuICAgIGNvbnN0IG92ZXJsYXlJZCA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBcmlhT3ducygpO1xuXG4gICAgcmV0dXJuIG92ZXJsYXlJZFxuICAgICAgPyB0aGlzLiNkb2N1bWVudFJvb3RMb2NhdG9yLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgICAgICBTa3lPdmVybGF5SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6IGAjJHtvdmVybGF5SWR9YCB9KVxuICAgICAgICApKClcbiAgICAgIDogbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3MgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgZXh0ZW5kcyBPbWl0PEJhc2VIYXJuZXNzRmlsdGVycywgJ3NlbGVjdG9yJz4ge1xuICAvKipcbiAgICogT25seSBmaW5kIGluc3RhbmNlcyB3aG9zZSBjb250ZW50IG1hdGNoZXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKi9cbiAgdGV4dD86IHN0cmluZyB8IFJlZ0V4cDtcbn1cbiJdfQ==
|
|
@@ -9,7 +9,7 @@ export class SkyAutocompleteSearchResultHarness extends ComponentHarness {
|
|
|
9
9
|
* `SkyAutocompleteSearchResultHarness` that meets certain criteria.
|
|
10
10
|
*/
|
|
11
11
|
static with(filters) {
|
|
12
|
-
return new HarnessPredicate(SkyAutocompleteSearchResultHarness, filters).addOption('textContent', filters.
|
|
12
|
+
return new HarnessPredicate(SkyAutocompleteSearchResultHarness, filters).addOption('textContent', filters.text, async (harness, text) => HarnessPredicate.stringMatches(await harness.getText(), text));
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Returns the value of the search result's descriptor property.
|
|
@@ -31,9 +31,9 @@ export class SkyAutocompleteSearchResultHarness extends ComponentHarness {
|
|
|
31
31
|
return (await this.host()).click();
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* Returns the text
|
|
34
|
+
* Returns the text of the search result.
|
|
35
35
|
*/
|
|
36
|
-
async
|
|
36
|
+
async getText() {
|
|
37
37
|
return (await this.host()).text();
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -41,4 +41,4 @@ export class SkyAutocompleteSearchResultHarness extends ComponentHarness {
|
|
|
41
41
|
* @internal
|
|
42
42
|
*/
|
|
43
43
|
SkyAutocompleteSearchResultHarness.hostSelector = '.sky-autocomplete-result';
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FFakIsTUFBTSxzQkFBc0IsQ0FBQztBQUk5Qjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsZ0JBQWdCO0lBTXRFOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtEO1FBRWxELE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsa0NBQWtDLEVBQ2xDLE9BQU8sQ0FDUixDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQy9ELGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE9BQU8sQ0FBQyxNQUFNLENBQ1osTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQ2xCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQVcsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWSxDQUN2QixLQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0FBbkREOztHQUVHO0FBQ1csK0NBQVksR0FBRywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudEhhcm5lc3MsXG4gIEhhcm5lc3NQcmVkaWNhdGUsXG4gIEhhcm5lc3NRdWVyeSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGF1dG9jb21wbGV0ZSBzZWFyY2ggcmVzdWx0cyBpbiB0ZXN0cy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICcuc2t5LWF1dG9jb21wbGV0ZS1yZXN1bHQnO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKFxuICAgICAgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyxcbiAgICAgIGZpbHRlcnNcbiAgICApLmFkZE9wdGlvbigndGV4dENvbnRlbnQnLCBmaWx0ZXJzLnRleHQsIGFzeW5jIChoYXJuZXNzLCB0ZXh0KSA9PlxuICAgICAgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpLCB0ZXh0KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIHNlYXJjaCByZXN1bHQncyBkZXNjcmlwdG9yIHByb3BlcnR5LlxuICAgKiBUaGlzIHZhbHVlIGlzIHNldCBieSB0aGUgYXV0b2NvbXBsZXRlJ3MgYGRlc2NyaXB0b3JQcm9wZXJ0eWAgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RGVzY3JpcHRvclZhbHVlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLmhvc3QoKVxuICAgICkuZ2V0QXR0cmlidXRlKCdkYXRhLWRlc2NyaXB0b3ItdmFsdWUnKSkgYXMgc3RyaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjaGlsZCBoYXJuZXNzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHF1ZXJ5SGFybmVzczxUIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcz4oXG4gICAgcXVlcnk6IEhhcm5lc3NRdWVyeTxUPlxuICApOiBQcm9taXNlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRvckZvck9wdGlvbmFsKHF1ZXJ5KSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIHNlYXJjaCByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGV4dCBvZiB0aGUgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -98,7 +98,7 @@ class SkyAutocompleteSearchResultHarness extends ComponentHarness {
|
|
|
98
98
|
* `SkyAutocompleteSearchResultHarness` that meets certain criteria.
|
|
99
99
|
*/
|
|
100
100
|
static with(filters) {
|
|
101
|
-
return new HarnessPredicate(SkyAutocompleteSearchResultHarness, filters).addOption('textContent', filters.
|
|
101
|
+
return new HarnessPredicate(SkyAutocompleteSearchResultHarness, filters).addOption('textContent', filters.text, (harness, text) => __awaiter(this, void 0, void 0, function* () { return HarnessPredicate.stringMatches(yield harness.getText(), text); }));
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
104
104
|
* Returns the value of the search result's descriptor property.
|
|
@@ -126,9 +126,9 @@ class SkyAutocompleteSearchResultHarness extends ComponentHarness {
|
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
128
|
/**
|
|
129
|
-
* Returns the text
|
|
129
|
+
* Returns the text of the search result.
|
|
130
130
|
*/
|
|
131
|
-
|
|
131
|
+
getText() {
|
|
132
132
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
133
|
return (yield this.host()).text();
|
|
134
134
|
});
|
|
@@ -202,8 +202,8 @@ class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
202
202
|
const harnesses = yield overlay.queryHarnesses(SkyAutocompleteSearchResultHarness.with(filters || {}));
|
|
203
203
|
if (filters && harnesses.length === 0) {
|
|
204
204
|
// Stringify the regular expression so that it's readable in the console log.
|
|
205
|
-
if (filters.
|
|
206
|
-
filters.
|
|
205
|
+
if (filters.text instanceof RegExp) {
|
|
206
|
+
filters.text = filters.text.toString();
|
|
207
207
|
}
|
|
208
208
|
throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
|
|
209
209
|
}
|
|
@@ -218,7 +218,7 @@ class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
218
218
|
const harnesses = yield this.getSearchResults(filters);
|
|
219
219
|
const text = [];
|
|
220
220
|
for (const harness of harnesses) {
|
|
221
|
-
text.push(yield harness.
|
|
221
|
+
text.push(yield harness.getText());
|
|
222
222
|
}
|
|
223
223
|
return text;
|
|
224
224
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-lookup-testing.mjs","sources":["../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-input-harness.ts","../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-search-result-harness.ts","../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-harness.ts","../../../../../libs/components/lookup/testing/src/country-field/country-field-fixture.ts","../../../../../libs/components/lookup/testing/src/country-field/country-field-testing.module.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-selections-list-harness.ts","../../../../../libs/components/lookup/testing/src/search/search-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-show-more-picker-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-selection-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-show-more-picker-search-result-harness.ts","../../../../../libs/components/lookup/testing/src/search/search-fixture.ts","../../../../../libs/components/lookup/testing/src/search/search-testing.module.ts","../../../../../libs/components/lookup/testing/src/skyux-lookup-testing.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * @internal\n */\nexport class SkyAutocompleteInputHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '[skyAutocomplete]';\n\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /**\n * Enters text into the input.\n */\n public async enterText(value: string): Promise<void> {\n const el = await this.host();\n await el.focus();\n await el.clear();\n await el.sendKeys(value);\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return (await this.host()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.host()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /**\n * Returns the value of the input's `aria-owns` attribute.\n */\n public async getAriaOwns(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-owns');\n }\n}\n","import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n} from '@angular/cdk/testing';\n\nimport { SkyAutocompleteSearchResultHarnessFilters } from './autocomplete-search-result-harness-filters';\n\n/**\n * Harness for interacting with an autocomplete search results in tests.\n * @internal\n */\nexport class SkyAutocompleteSearchResultHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-autocomplete-result';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteSearchResultHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAutocompleteSearchResultHarnessFilters\n ): HarnessPredicate<SkyAutocompleteSearchResultHarness> {\n return new HarnessPredicate(\n SkyAutocompleteSearchResultHarness,\n filters\n ).addOption('textContent', filters.textContent, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.textContent(), text)\n );\n }\n\n /**\n * Returns the value of the search result's descriptor property.\n * This value is set by the autocomplete's `descriptorProperty` input.\n */\n public async getDescriptorValue(): Promise<string> {\n return (await (\n await this.host()\n ).getAttribute('data-descriptor-value')) as string;\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(query)();\n }\n\n /**\n * Selects the search result.\n */\n public async select(): Promise<void> {\n return (await this.host()).click();\n }\n\n /**\n * Returns the text content of the search result.\n */\n public async textContent(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness, SkyOverlayHarness } from '@skyux/core/testing';\n\nimport { SkyAutocompleteHarnessFilters } from './autocomplete-harness-filters';\nimport { SkyAutocompleteInputHarness } from './autocomplete-input-harness';\nimport { SkyAutocompleteSearchResultHarness } from './autocomplete-search-result-harness';\nimport { SkyAutocompleteSearchResultHarnessFilters } from './autocomplete-search-result-harness-filters';\n\n/**\n * Harness for interacting with an autocomplete component in tests.\n * @internal\n */\nexport class SkyAutocompleteHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-autocomplete';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getInput = this.locatorFor(SkyAutocompleteInputHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAutocompleteHarnessFilters\n ): HarnessPredicate<SkyAutocompleteHarness> {\n return SkyAutocompleteHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Blurs the autocomplete input.\n */\n public async blur(): Promise<void> {\n return (await this.#getInput()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n return (await this.#getInput()).clear();\n }\n\n /**\n * Enters text into the autocomplete input.\n */\n public async enterText(value: string): Promise<void> {\n return (await this.#getInput()).enterText(value);\n }\n\n /**\n * Focuses the autocomplete input.\n */\n public async focus(): Promise<void> {\n return (await this.#getInput()).focus();\n }\n\n /**\n * Returns search result harnesses.\n */\n public async getSearchResults(\n filters?: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<SkyAutocompleteSearchResultHarness[]> {\n const overlay = await this.#getOverlay();\n\n if (!overlay) {\n throw new Error(\n 'Unable to retrieve search results. The autocomplete is closed.'\n );\n }\n\n const harnesses = await overlay.queryHarnesses(\n SkyAutocompleteSearchResultHarness.with(filters || {})\n );\n\n if (filters && harnesses.length === 0) {\n // Stringify the regular expression so that it's readable in the console log.\n if (filters.textContent instanceof RegExp) {\n filters.textContent = filters.textContent.toString();\n }\n\n throw new Error(\n `Could not find search results matching filter(s): ${JSON.stringify(\n filters\n )}`\n );\n }\n\n return harnesses;\n }\n\n /**\n * Returns the text content for each search result.\n */\n public async getSearchResultsText(\n filters?: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<string[]> {\n const harnesses = await this.getSearchResults(filters);\n\n const text: string[] = [];\n for (const harness of harnesses) {\n text.push(await harness.textContent());\n }\n\n return text;\n }\n\n /**\n * Gets the value of the autocomplete input.\n */\n public async getValue(): Promise<string> {\n return (await this.#getInput()).getValue();\n }\n\n /**\n * Whether the autocomplete input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getInput()).isDisabled();\n }\n\n /**\n * Whether the autocomplete input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getInput()).isFocused();\n }\n\n /**\n * Whether the autocomplete is open.\n */\n public async isOpen(): Promise<boolean> {\n const overlay = await this.#getOverlay();\n return !!overlay;\n }\n\n /**\n * Selects a search result.\n */\n public async selectSearchResult(\n filters: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<void> {\n const results = await this.getSearchResults(filters);\n if (results && results.length > 0) {\n await results[0].select();\n }\n }\n\n /**\n * Clicks the \"Add\" button in the autocomplete search results panel.\n * (The \"Add\" functionality is not included in the public API\n * of a \"vanilla\" autocomplete component, so this method is protected\n * to prevent consumers of the autocomplete harness from calling it.\n * The lookup harness, which extends the autocomplete harness, may\n * still access this feature, however.)\n */\n protected async clickAddButton(): Promise<void> {\n const overlay = await this.#getOverlay();\n if (!overlay) {\n throw new Error(\n 'Unable to find the \"Add\" button. The autocomplete is closed.'\n );\n }\n\n const button = await overlay.querySelector(\n 'button.sky-autocomplete-action-add'\n );\n\n if (!button) {\n throw new Error(\n 'The \"Add\" button cannot be clicked because it does not exist.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Clicks the \"Show more\" button.\n * (The \"Show more\" functionality is not included in the public API\n * of a \"vanilla\" autocomplete component, so this method is protected\n * to prevent consumers of the autocomplete harness from calling it.\n * The lookup harness, which extends the autocomplete harness, may\n * still access this feature, however.)\n */\n protected async clickShowMoreButton(): Promise<void> {\n const overlay = await this.#getOverlay();\n\n if (!overlay) {\n throw new Error(\n 'Unable to find the \"Show more\" button. ' +\n 'The autocomplete is closed.'\n );\n }\n\n const button = await overlay.querySelector(\n 'button.sky-autocomplete-action-more'\n );\n\n if (!button) {\n throw new Error(\n 'The \"Show more\" button cannot be clicked because it does not exist.'\n );\n }\n\n await button.click();\n }\n\n async #getOverlay(): Promise<SkyOverlayHarness | null> {\n const overlayId = await (await this.#getInput()).getAriaOwns();\n\n return overlayId\n ? this.#documentRootLocator.locatorForOptional(\n SkyOverlayHarness.with({ selector: `#${overlayId}` })\n )()\n : null;\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX country field component.\n * @internal\n */\nexport class SkyCountryFieldFixture {\n private debugEl: DebugElement;\n\n /**\n * The value of the input field's autocomplete attribute.\n */\n public get autocompleteAttribute(): string | null {\n return this.getInputElement().getAttribute('autocomplete');\n }\n\n /**\n * A flag indicating if the country flag is currently visible.\n * The flag will be visible only if a selection has been made\n * and if the hideSelectedCountryFlag option is false.\n */\n public get countryFlagIsVisible(): boolean {\n const flag = this.getCountryFlag();\n return flag !== null;\n }\n\n /**\n * A flag indicating whether or not the input has been disabled.\n */\n public get disabled(): boolean {\n return this.getInputElement().disabled;\n }\n\n /**\n * The value of the input field.\n */\n public get searchText(): string {\n return this.getInputElement().value;\n }\n\n constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-country-field'\n );\n }\n\n /**\n * Enters the search text into the input field displaying search results, but making no selection.\n * @param searchText The name of the country to select.\n * @returns The list of country names matching the search text.\n */\n public async search(searchText: string): Promise<string[]> {\n const resultNodes = await this.searchAndGetResults(\n searchText,\n this.fixture\n );\n const resultArray = Array.prototype.slice.call(resultNodes);\n const results = resultArray.map((result: HTMLElement) => {\n const countryNameEl = result.querySelector('.sky-highlight-mark');\n const countryName = SkyAppTestUtility.getText(countryNameEl)!;\n return countryName;\n });\n\n this.fixture.detectChanges();\n await this.fixture.whenStable();\n\n return results;\n }\n\n /**\n * Enters the search text into the input field and selects the first result (if any).\n * @param searchText The name of the country to select.\n */\n public async searchAndSelectFirstResult(searchText: string): Promise<void> {\n await this.searchAndSelect(searchText, 0, this.fixture);\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Clears the country selection and input field.\n */\n public clear(): Promise<void> {\n this.enterSearch('', this.fixture);\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n //#region helpers\n\n private getCountryFlag(): DebugElement {\n return this.debugEl.query(By.css('.sky-country-field-flag'));\n }\n\n private getAutocompleteElement(): HTMLElement {\n return document.querySelector('.sky-autocomplete-results') as HTMLElement;\n }\n\n private getInputElement(): HTMLTextAreaElement {\n const debugEl = this.debugEl.query(By.css('textarea'));\n return debugEl.nativeElement as HTMLTextAreaElement;\n }\n\n private blurInput(fixture: ComponentFixture<any>): Promise<void> {\n SkyAppTestUtility.fireDomEvent(this.getInputElement(), 'blur');\n fixture.detectChanges();\n return fixture.whenStable();\n }\n\n private enterSearch(\n newValue: string,\n fixture: ComponentFixture<any>\n ): Promise<void> {\n const inputElement = this.getInputElement();\n inputElement.value = newValue;\n SkyAppTestUtility.fireDomEvent(inputElement, 'keyup');\n SkyAppTestUtility.fireDomEvent(inputElement, 'input');\n fixture.detectChanges();\n return fixture.whenStable();\n }\n\n private async searchAndGetResults(\n newValue: string,\n fixture: ComponentFixture<any>\n ): Promise<NodeListOf<HTMLElement>> {\n await this.enterSearch(newValue, fixture);\n fixture.detectChanges();\n await fixture.whenStable();\n return this.getAutocompleteElement().querySelectorAll(\n '.sky-autocomplete-result'\n );\n }\n\n private async searchAndSelect(\n newValue: string,\n index: number,\n fixture: ComponentFixture<any>\n ): Promise<void> {\n const inputElement = this.getInputElement();\n const searchResults = await this.searchAndGetResults(newValue, fixture);\n\n if (searchResults.length < index + 1) {\n throw new Error('Index out of range for results');\n }\n\n // Note: the ordering of these events is important!\n SkyAppTestUtility.fireDomEvent(inputElement, 'change');\n SkyAppTestUtility.fireDomEvent(searchResults[index], 'mousedown');\n this.blurInput(fixture);\n }\n\n //#endregion helpers\n}\n","import { NgModule } from '@angular/core';\nimport { SkyCountryFieldModule } from '@skyux/lookup';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyCountryFieldModule],\n})\nexport class SkyCountryFieldTestingModule {}\n","import { SkyTokensHarness } from '@skyux/indicators/testing';\n\nimport { SkyLookupSelectionHarness } from './lookup-selection-harness';\n\n/**\n * Harness for interacting with multiselect lookup selections in tests.\n * @internal\n */\nexport class SkyLookupSelectionsListHarness extends SkyTokensHarness {\n /**\n * Gets a list of selections.\n */\n public async getSelections(): Promise<SkyLookupSelectionHarness[]> {\n return super.getTokens();\n }\n\n /**\n * Dismisses the selections in the list.\n */\n public async dismissSelections(): Promise<void> {\n return super.dismissTokens();\n }\n\n /**\n * Gets the text content of all selections in the list.\n */\n public async getSelectionsText(): Promise<string[]> {\n return super.getTokensText();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkySearchHarnessFilters } from './search-harness-filters';\n\n/**\n * Harness for interacting with an search component in tests.\n * @internal\n */\nexport class SkySearchHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-search';\n\n #getInput = this.locatorFor('input.sky-search-input');\n\n #getSubmitButton = this.locatorFor('button.sky-search-btn-apply');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySearchHarness` that meets certain criteria.\n */\n public static with(\n filters: SkySearchHarnessFilters\n ): HarnessPredicate<SkySearchHarness> {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n await (await this.#getInput()).blur();\n }\n\n /**\n * Clears the input.\n */\n public async clear(): Promise<void> {\n const input = await this.#getInput();\n await input.focus();\n await input.clear();\n await this.#clickSubmitButton();\n }\n\n /**\n * Enters text into the input and performs a search.\n */\n public async enterText(value: string): Promise<void> {\n const input = await this.#getInput();\n await input.clear();\n await input.focus();\n await input.sendKeys(value);\n await this.#clickSubmitButton();\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n await (await this.#getInput()).focus();\n }\n\n /**\n * Gets the value of the input's placeholder attribute.\n */\n public async getPlaceholderText(): Promise<string | null> {\n return (await this.#getInput()).getAttribute('placeholder');\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return (await this.#getInput()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.#getInput()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getInput()).isFocused();\n }\n\n async #clickSubmitButton() {\n return (await this.#getSubmitButton()).click();\n }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\nimport {\n SkyInfiniteScrollHarness,\n SkyRepeaterItemHarness,\n} from '@skyux/lists/testing';\n\nimport { SkySearchHarness } from '../search/search-harness';\n\nimport { SkyLookupShowMorePickerHarnessFilters } from './lookup-show-more-picker-harness-filters';\nimport { SkyLookupShowMorePickerSearchResultHarness } from './lookup-show-more-picker-search-result-harness';\nimport { SkyLookupShowMorePickerSearchResultHarnessFilters } from './lookup-show-more-picker-search-result-harness-filters';\n\n/**\n * Harness for interacting with a lookup's \"Show more\" picker in tests.\n * @internal\n */\nexport class SkyLookupShowMorePickerHarness extends ComponentHarness {\n /**\n * Use the class name since the async and non-async pickers use different\n * host components but share the same wrapper CSS class.\n * @internal\n */\n public static hostSelector = '.sky-lookup-show-more-modal';\n\n #getCancelButton = this.locatorFor('button.sky-lookup-show-more-modal-close');\n\n #getClearAllButton = this.locatorForOptional(\n 'button.sky-lookup-show-more-modal-clear-all-btn'\n );\n\n #getInfiniteScroll = this.locatorFor(SkyInfiniteScrollHarness);\n\n #getSaveButton = this.locatorFor('button.sky-lookup-show-more-modal-save');\n\n #getSearchHarness = this.locatorFor(SkySearchHarness);\n\n #getSelectAllButton = this.locatorForOptional(\n 'button.sky-lookup-show-more-modal-select-all-btn'\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupShowMorePickerHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLookupShowMorePickerHarnessFilters\n ): HarnessPredicate<SkyLookupShowMorePickerHarness> {\n return new HarnessPredicate(SkyLookupShowMorePickerHarness, filters);\n }\n\n /**\n * Clears the text of the search input.\n */\n public async clearSearchText(): Promise<void> {\n return (await this.#getSearchHarness()).clear();\n }\n\n /**\n * Enters text into the search input and performs a search.\n */\n public async enterSearchText(value: string): Promise<void> {\n return (await this.#getSearchHarness()).enterText(value);\n }\n\n /**\n * Selects multiple search results based on a set of criteria.\n */\n public async selectSearchResult(\n filters?: SkyLookupShowMorePickerSearchResultHarnessFilters\n ): Promise<void> {\n const harnesses = await this.getSearchResults(filters);\n\n if (await this.isMultiselect()) {\n for (const harness of harnesses) {\n await harness.select();\n }\n } else {\n // Click on the item directly because we've added a custom click event in the picker's template.\n await (await harnesses[0].host()).click();\n }\n }\n\n /**\n * Saves any selections made and closes the picker.\n */\n public async saveAndClose(): Promise<void> {\n return (await this.#getSaveButton()).click();\n }\n\n /**\n * Closes the picker without saving any selections made.\n */\n public async cancel(): Promise<void> {\n return (await this.#getCancelButton()).click();\n }\n\n /**\n * Gets a list of search results.\n */\n public async getSearchResults(\n filters?: SkyLookupShowMorePickerSearchResultHarnessFilters\n ): Promise<SkyLookupShowMorePickerSearchResultHarness[]> {\n const pickerId = (await (await this.host()).getAttribute('id')) as string;\n\n const harnesses = await this.locatorForAll(\n SkyRepeaterItemHarness.with({\n ...(filters || {}),\n ancestor: `#${pickerId}`,\n })\n )();\n\n if (filters && harnesses.length === 0) {\n throw new Error(\n `Could not find search results in the picker matching filter(s): ${JSON.stringify(\n filters\n )}`\n );\n }\n\n return harnesses;\n }\n\n /**\n * Clears all selections made.\n */\n public async clearAll(): Promise<void> {\n const button = await this.#getClearAllButton();\n if (!button) {\n throw new Error(\n 'Could not clear all selections because the \"Clear all\" button could not be found.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Whether the picker is configured to allow multiple selections.\n */\n public async isMultiselect(): Promise<boolean> {\n return !(await (\n await this.host()\n ).hasClass('sky-lookup-show-more-modal-single'));\n }\n\n /**\n * Selects all search results.\n */\n public async selectAll(): Promise<void> {\n const button = await this.#getSelectAllButton();\n if (!button) {\n throw new Error(\n 'Could not select all selections because the \"Select all\" button could not be found.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Loads more results in the picker.\n */\n public async loadMore(): Promise<void> {\n return (await this.#getInfiniteScroll()).loadMore();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyAutocompleteHarness } from '../autocomplete/autocomplete-harness';\n\nimport { SkyLookupHarnessFilters } from './lookup-harness-filters';\nimport { SkyLookupSelectionHarness } from './lookup-selection-harness';\nimport { SkyLookupSelectionsListHarness } from './lookup-selections-list-harness';\nimport { SkyLookupShowMorePickerHarness } from './lookup-show-more-picker-harness';\n\n/**\n * Harness for interacting with a lookup component in tests.\n * @internal\n */\nexport class SkyLookupHarness extends SkyAutocompleteHarness {\n /**\n * Finds a standard lookup component, or a lookup component that is wrapped by an input box component.\n * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-lookup`\n * element is removed from the DOM.\n * @internal\n */\n public static hostSelector = 'sky-lookup,.sky-input-box';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getAutocompleteHarness = this.locatorFor(SkyAutocompleteHarness);\n\n #getSelectionsListHarness = this.locatorFor(SkyLookupSelectionsListHarness);\n\n #getWrapper = this.locatorFor('.sky-lookup');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLookupHarnessFilters\n ): HarnessPredicate<SkyLookupHarness> {\n return SkyLookupHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the \"Add\" button on the search results panel.\n */\n public async clickAddButton(): Promise<void> {\n await this.focus();\n await super.clickAddButton();\n }\n\n /**\n * Clicks the \"Show more\" button on the search results panel.\n */\n public async clickShowMoreButton(): Promise<void> {\n await this.focus();\n await super.clickShowMoreButton();\n }\n\n /**\n * Dismisses the selections made with a multiselect lookup.\n */\n public async dismissSelections(): Promise<void> {\n return (await this.#getSelectionsListHarness()).dismissSelections();\n }\n\n /**\n * Gets the \"Show more\" picker harness.\n */\n public async getShowMorePicker(): Promise<SkyLookupShowMorePickerHarness> {\n const pickerId = await (\n await (await this.#getAutocompleteHarness()).host()\n ).getAttribute('data-sky-lookup-show-more-picker-id');\n\n const defaultPicker = await this.#documentRootLocator.locatorForOptional(\n SkyLookupShowMorePickerHarness.with({ selector: `#${pickerId}` })\n )();\n\n if (!defaultPicker) {\n throw new Error(\n 'Cannot get the \"Show more\" picker because it is not open.'\n );\n }\n\n return defaultPicker;\n }\n\n /**\n * Gets a list of selections made with a multiselect lookup.\n */\n public async getSelections(): Promise<SkyLookupSelectionHarness[]> {\n return (await this.#getSelectionsListHarness()).getSelections();\n }\n\n /**\n * Gets the text content of all selections made with a multiselect lookup.\n */\n public async getSelectionsText(): Promise<string[]> {\n return (await this.#getSelectionsListHarness()).getSelectionsText();\n }\n\n /**\n * Whether the lookup allows for multiple selections.\n */\n public async isMultiselect(): Promise<boolean> {\n return !(await (await this.#getWrapper()).hasClass('sky-lookup-single'));\n }\n}\n","import { SkyTokenHarness } from '@skyux/indicators/testing';\n\n/**\n * Harness for interacting with a multiselect lookup selection in tests.\n * @internal\n */\nexport class SkyLookupSelectionHarness extends SkyTokenHarness {}\n","import { SkyRepeaterItemHarness } from '@skyux/lists/testing';\n\n/**\n * Harness for interacting with a lookup's \"Show more\" picker search results in tests.\n * @internal\n */\nexport class SkyLookupShowMorePickerSearchResultHarness extends SkyRepeaterItemHarness {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX search component.\n * @deprecated Use `SkySearchHarness` instead.\n * @internal\n */\nexport class SkySearchFixture {\n /**\n * Gets the search's current text.\n */\n public get searchText(): string {\n return this.getInputEl().nativeElement.value;\n }\n\n /**\n * Gets the search's current placeholder text.\n */\n public get placeholderText(): string {\n return this.getInputEl().nativeElement.placeholder;\n }\n\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-search'\n );\n }\n\n /**\n * Applies the specified search text, invoking the search.\n * @param searchText The search text to apply. If none is specified, the search's\n * current search text will be applied.\n */\n public apply(searchText?: string) {\n if (searchText) {\n SkyAppTestUtility.setInputValue(\n this.getInputEl().nativeElement,\n searchText\n );\n }\n\n const btnEl = this.getApplyBtnEl();\n\n btnEl.triggerEventHandler('click', {});\n }\n\n /**\n * Clears the current search text. If there is no search text or the search text is\n * not currently applied, an error is thrown.\n */\n public clear() {\n const clearEl = this.debugEl.query(By.css('.sky-input-group-clear'));\n\n if (!SkyAppTestUtility.isVisible(clearEl)) {\n throw new Error(\n 'There currently is no search text or the current search text has not been applied, ' +\n 'so the clear button is not visible.'\n );\n }\n\n const btnEl = this.getClearBtnEl();\n\n btnEl.triggerEventHandler('click', {});\n }\n\n private getApplyBtnEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-btn-apply'));\n }\n\n private getClearBtnEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-btn-clear'));\n }\n\n private getInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-input'));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkySearchModule } from '@skyux/lookup';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [NoopAnimationsModule, SkySearchModule],\n})\nexport class SkySearchTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-lookup-testing.mjs","sources":["../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-input-harness.ts","../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-search-result-harness.ts","../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-harness.ts","../../../../../libs/components/lookup/testing/src/country-field/country-field-fixture.ts","../../../../../libs/components/lookup/testing/src/country-field/country-field-testing.module.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-selections-list-harness.ts","../../../../../libs/components/lookup/testing/src/search/search-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-show-more-picker-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-selection-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-show-more-picker-search-result-harness.ts","../../../../../libs/components/lookup/testing/src/search/search-fixture.ts","../../../../../libs/components/lookup/testing/src/search/search-testing.module.ts","../../../../../libs/components/lookup/testing/src/skyux-lookup-testing.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * @internal\n */\nexport class SkyAutocompleteInputHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '[skyAutocomplete]';\n\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /**\n * Enters text into the input.\n */\n public async enterText(value: string): Promise<void> {\n const el = await this.host();\n await el.focus();\n await el.clear();\n await el.sendKeys(value);\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return (await this.host()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.host()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /**\n * Returns the value of the input's `aria-owns` attribute.\n */\n public async getAriaOwns(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-owns');\n }\n}\n","import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n} from '@angular/cdk/testing';\n\nimport { SkyAutocompleteSearchResultHarnessFilters } from './autocomplete-search-result-harness-filters';\n\n/**\n * Harness for interacting with an autocomplete search results in tests.\n * @internal\n */\nexport class SkyAutocompleteSearchResultHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-autocomplete-result';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteSearchResultHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAutocompleteSearchResultHarnessFilters\n ): HarnessPredicate<SkyAutocompleteSearchResultHarness> {\n return new HarnessPredicate(\n SkyAutocompleteSearchResultHarness,\n filters\n ).addOption('textContent', filters.text, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.getText(), text)\n );\n }\n\n /**\n * Returns the value of the search result's descriptor property.\n * This value is set by the autocomplete's `descriptorProperty` input.\n */\n public async getDescriptorValue(): Promise<string> {\n return (await (\n await this.host()\n ).getAttribute('data-descriptor-value')) as string;\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(query)();\n }\n\n /**\n * Selects the search result.\n */\n public async select(): Promise<void> {\n return (await this.host()).click();\n }\n\n /**\n * Returns the text of the search result.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness, SkyOverlayHarness } from '@skyux/core/testing';\n\nimport { SkyAutocompleteHarnessFilters } from './autocomplete-harness-filters';\nimport { SkyAutocompleteInputHarness } from './autocomplete-input-harness';\nimport { SkyAutocompleteSearchResultHarness } from './autocomplete-search-result-harness';\nimport { SkyAutocompleteSearchResultHarnessFilters } from './autocomplete-search-result-harness-filters';\n\n/**\n * Harness for interacting with an autocomplete component in tests.\n * @internal\n */\nexport class SkyAutocompleteHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-autocomplete';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getInput = this.locatorFor(SkyAutocompleteInputHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAutocompleteHarnessFilters\n ): HarnessPredicate<SkyAutocompleteHarness> {\n return SkyAutocompleteHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Blurs the autocomplete input.\n */\n public async blur(): Promise<void> {\n return (await this.#getInput()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n return (await this.#getInput()).clear();\n }\n\n /**\n * Enters text into the autocomplete input.\n */\n public async enterText(value: string): Promise<void> {\n return (await this.#getInput()).enterText(value);\n }\n\n /**\n * Focuses the autocomplete input.\n */\n public async focus(): Promise<void> {\n return (await this.#getInput()).focus();\n }\n\n /**\n * Returns search result harnesses.\n */\n public async getSearchResults(\n filters?: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<SkyAutocompleteSearchResultHarness[]> {\n const overlay = await this.#getOverlay();\n\n if (!overlay) {\n throw new Error(\n 'Unable to retrieve search results. The autocomplete is closed.'\n );\n }\n\n const harnesses = await overlay.queryHarnesses(\n SkyAutocompleteSearchResultHarness.with(filters || {})\n );\n\n if (filters && harnesses.length === 0) {\n // Stringify the regular expression so that it's readable in the console log.\n if (filters.text instanceof RegExp) {\n filters.text = filters.text.toString();\n }\n\n throw new Error(\n `Could not find search results matching filter(s): ${JSON.stringify(\n filters\n )}`\n );\n }\n\n return harnesses;\n }\n\n /**\n * Returns the text content for each search result.\n */\n public async getSearchResultsText(\n filters?: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<string[]> {\n const harnesses = await this.getSearchResults(filters);\n\n const text: string[] = [];\n for (const harness of harnesses) {\n text.push(await harness.getText());\n }\n\n return text;\n }\n\n /**\n * Gets the value of the autocomplete input.\n */\n public async getValue(): Promise<string> {\n return (await this.#getInput()).getValue();\n }\n\n /**\n * Whether the autocomplete input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getInput()).isDisabled();\n }\n\n /**\n * Whether the autocomplete input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getInput()).isFocused();\n }\n\n /**\n * Whether the autocomplete is open.\n */\n public async isOpen(): Promise<boolean> {\n const overlay = await this.#getOverlay();\n return !!overlay;\n }\n\n /**\n * Selects a search result.\n */\n public async selectSearchResult(\n filters: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<void> {\n const results = await this.getSearchResults(filters);\n if (results && results.length > 0) {\n await results[0].select();\n }\n }\n\n /**\n * Clicks the \"Add\" button in the autocomplete search results panel.\n * (The \"Add\" functionality is not included in the public API\n * of a \"vanilla\" autocomplete component, so this method is protected\n * to prevent consumers of the autocomplete harness from calling it.\n * The lookup harness, which extends the autocomplete harness, may\n * still access this feature, however.)\n */\n protected async clickAddButton(): Promise<void> {\n const overlay = await this.#getOverlay();\n if (!overlay) {\n throw new Error(\n 'Unable to find the \"Add\" button. The autocomplete is closed.'\n );\n }\n\n const button = await overlay.querySelector(\n 'button.sky-autocomplete-action-add'\n );\n\n if (!button) {\n throw new Error(\n 'The \"Add\" button cannot be clicked because it does not exist.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Clicks the \"Show more\" button.\n * (The \"Show more\" functionality is not included in the public API\n * of a \"vanilla\" autocomplete component, so this method is protected\n * to prevent consumers of the autocomplete harness from calling it.\n * The lookup harness, which extends the autocomplete harness, may\n * still access this feature, however.)\n */\n protected async clickShowMoreButton(): Promise<void> {\n const overlay = await this.#getOverlay();\n\n if (!overlay) {\n throw new Error(\n 'Unable to find the \"Show more\" button. ' +\n 'The autocomplete is closed.'\n );\n }\n\n const button = await overlay.querySelector(\n 'button.sky-autocomplete-action-more'\n );\n\n if (!button) {\n throw new Error(\n 'The \"Show more\" button cannot be clicked because it does not exist.'\n );\n }\n\n await button.click();\n }\n\n async #getOverlay(): Promise<SkyOverlayHarness | null> {\n const overlayId = await (await this.#getInput()).getAriaOwns();\n\n return overlayId\n ? this.#documentRootLocator.locatorForOptional(\n SkyOverlayHarness.with({ selector: `#${overlayId}` })\n )()\n : null;\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX country field component.\n * @internal\n */\nexport class SkyCountryFieldFixture {\n private debugEl: DebugElement;\n\n /**\n * The value of the input field's autocomplete attribute.\n */\n public get autocompleteAttribute(): string | null {\n return this.getInputElement().getAttribute('autocomplete');\n }\n\n /**\n * A flag indicating if the country flag is currently visible.\n * The flag will be visible only if a selection has been made\n * and if the hideSelectedCountryFlag option is false.\n */\n public get countryFlagIsVisible(): boolean {\n const flag = this.getCountryFlag();\n return flag !== null;\n }\n\n /**\n * A flag indicating whether or not the input has been disabled.\n */\n public get disabled(): boolean {\n return this.getInputElement().disabled;\n }\n\n /**\n * The value of the input field.\n */\n public get searchText(): string {\n return this.getInputElement().value;\n }\n\n constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-country-field'\n );\n }\n\n /**\n * Enters the search text into the input field displaying search results, but making no selection.\n * @param searchText The name of the country to select.\n * @returns The list of country names matching the search text.\n */\n public async search(searchText: string): Promise<string[]> {\n const resultNodes = await this.searchAndGetResults(\n searchText,\n this.fixture\n );\n const resultArray = Array.prototype.slice.call(resultNodes);\n const results = resultArray.map((result: HTMLElement) => {\n const countryNameEl = result.querySelector('.sky-highlight-mark');\n const countryName = SkyAppTestUtility.getText(countryNameEl)!;\n return countryName;\n });\n\n this.fixture.detectChanges();\n await this.fixture.whenStable();\n\n return results;\n }\n\n /**\n * Enters the search text into the input field and selects the first result (if any).\n * @param searchText The name of the country to select.\n */\n public async searchAndSelectFirstResult(searchText: string): Promise<void> {\n await this.searchAndSelect(searchText, 0, this.fixture);\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Clears the country selection and input field.\n */\n public clear(): Promise<void> {\n this.enterSearch('', this.fixture);\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n //#region helpers\n\n private getCountryFlag(): DebugElement {\n return this.debugEl.query(By.css('.sky-country-field-flag'));\n }\n\n private getAutocompleteElement(): HTMLElement {\n return document.querySelector('.sky-autocomplete-results') as HTMLElement;\n }\n\n private getInputElement(): HTMLTextAreaElement {\n const debugEl = this.debugEl.query(By.css('textarea'));\n return debugEl.nativeElement as HTMLTextAreaElement;\n }\n\n private blurInput(fixture: ComponentFixture<any>): Promise<void> {\n SkyAppTestUtility.fireDomEvent(this.getInputElement(), 'blur');\n fixture.detectChanges();\n return fixture.whenStable();\n }\n\n private enterSearch(\n newValue: string,\n fixture: ComponentFixture<any>\n ): Promise<void> {\n const inputElement = this.getInputElement();\n inputElement.value = newValue;\n SkyAppTestUtility.fireDomEvent(inputElement, 'keyup');\n SkyAppTestUtility.fireDomEvent(inputElement, 'input');\n fixture.detectChanges();\n return fixture.whenStable();\n }\n\n private async searchAndGetResults(\n newValue: string,\n fixture: ComponentFixture<any>\n ): Promise<NodeListOf<HTMLElement>> {\n await this.enterSearch(newValue, fixture);\n fixture.detectChanges();\n await fixture.whenStable();\n return this.getAutocompleteElement().querySelectorAll(\n '.sky-autocomplete-result'\n );\n }\n\n private async searchAndSelect(\n newValue: string,\n index: number,\n fixture: ComponentFixture<any>\n ): Promise<void> {\n const inputElement = this.getInputElement();\n const searchResults = await this.searchAndGetResults(newValue, fixture);\n\n if (searchResults.length < index + 1) {\n throw new Error('Index out of range for results');\n }\n\n // Note: the ordering of these events is important!\n SkyAppTestUtility.fireDomEvent(inputElement, 'change');\n SkyAppTestUtility.fireDomEvent(searchResults[index], 'mousedown');\n this.blurInput(fixture);\n }\n\n //#endregion helpers\n}\n","import { NgModule } from '@angular/core';\nimport { SkyCountryFieldModule } from '@skyux/lookup';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyCountryFieldModule],\n})\nexport class SkyCountryFieldTestingModule {}\n","import { SkyTokensHarness } from '@skyux/indicators/testing';\n\nimport { SkyLookupSelectionHarness } from './lookup-selection-harness';\n\n/**\n * Harness for interacting with multiselect lookup selections in tests.\n * @internal\n */\nexport class SkyLookupSelectionsListHarness extends SkyTokensHarness {\n /**\n * Gets a list of selections.\n */\n public async getSelections(): Promise<SkyLookupSelectionHarness[]> {\n return super.getTokens();\n }\n\n /**\n * Dismisses the selections in the list.\n */\n public async dismissSelections(): Promise<void> {\n return super.dismissTokens();\n }\n\n /**\n * Gets the text content of all selections in the list.\n */\n public async getSelectionsText(): Promise<string[]> {\n return super.getTokensText();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkySearchHarnessFilters } from './search-harness-filters';\n\n/**\n * Harness for interacting with an search component in tests.\n * @internal\n */\nexport class SkySearchHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-search';\n\n #getInput = this.locatorFor('input.sky-search-input');\n\n #getSubmitButton = this.locatorFor('button.sky-search-btn-apply');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySearchHarness` that meets certain criteria.\n */\n public static with(\n filters: SkySearchHarnessFilters\n ): HarnessPredicate<SkySearchHarness> {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n await (await this.#getInput()).blur();\n }\n\n /**\n * Clears the input.\n */\n public async clear(): Promise<void> {\n const input = await this.#getInput();\n await input.focus();\n await input.clear();\n await this.#clickSubmitButton();\n }\n\n /**\n * Enters text into the input and performs a search.\n */\n public async enterText(value: string): Promise<void> {\n const input = await this.#getInput();\n await input.clear();\n await input.focus();\n await input.sendKeys(value);\n await this.#clickSubmitButton();\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n await (await this.#getInput()).focus();\n }\n\n /**\n * Gets the value of the input's placeholder attribute.\n */\n public async getPlaceholderText(): Promise<string | null> {\n return (await this.#getInput()).getAttribute('placeholder');\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return (await this.#getInput()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.#getInput()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getInput()).isFocused();\n }\n\n async #clickSubmitButton() {\n return (await this.#getSubmitButton()).click();\n }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\nimport {\n SkyInfiniteScrollHarness,\n SkyRepeaterItemHarness,\n} from '@skyux/lists/testing';\n\nimport { SkySearchHarness } from '../search/search-harness';\n\nimport { SkyLookupShowMorePickerHarnessFilters } from './lookup-show-more-picker-harness-filters';\nimport { SkyLookupShowMorePickerSearchResultHarness } from './lookup-show-more-picker-search-result-harness';\nimport { SkyLookupShowMorePickerSearchResultHarnessFilters } from './lookup-show-more-picker-search-result-harness-filters';\n\n/**\n * Harness for interacting with a lookup's \"Show more\" picker in tests.\n * @internal\n */\nexport class SkyLookupShowMorePickerHarness extends ComponentHarness {\n /**\n * Use the class name since the async and non-async pickers use different\n * host components but share the same wrapper CSS class.\n * @internal\n */\n public static hostSelector = '.sky-lookup-show-more-modal';\n\n #getCancelButton = this.locatorFor('button.sky-lookup-show-more-modal-close');\n\n #getClearAllButton = this.locatorForOptional(\n 'button.sky-lookup-show-more-modal-clear-all-btn'\n );\n\n #getInfiniteScroll = this.locatorFor(SkyInfiniteScrollHarness);\n\n #getSaveButton = this.locatorFor('button.sky-lookup-show-more-modal-save');\n\n #getSearchHarness = this.locatorFor(SkySearchHarness);\n\n #getSelectAllButton = this.locatorForOptional(\n 'button.sky-lookup-show-more-modal-select-all-btn'\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupShowMorePickerHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLookupShowMorePickerHarnessFilters\n ): HarnessPredicate<SkyLookupShowMorePickerHarness> {\n return new HarnessPredicate(SkyLookupShowMorePickerHarness, filters);\n }\n\n /**\n * Clears the text of the search input.\n */\n public async clearSearchText(): Promise<void> {\n return (await this.#getSearchHarness()).clear();\n }\n\n /**\n * Enters text into the search input and performs a search.\n */\n public async enterSearchText(value: string): Promise<void> {\n return (await this.#getSearchHarness()).enterText(value);\n }\n\n /**\n * Selects multiple search results based on a set of criteria.\n */\n public async selectSearchResult(\n filters?: SkyLookupShowMorePickerSearchResultHarnessFilters\n ): Promise<void> {\n const harnesses = await this.getSearchResults(filters);\n\n if (await this.isMultiselect()) {\n for (const harness of harnesses) {\n await harness.select();\n }\n } else {\n // Click on the item directly because we've added a custom click event in the picker's template.\n await (await harnesses[0].host()).click();\n }\n }\n\n /**\n * Saves any selections made and closes the picker.\n */\n public async saveAndClose(): Promise<void> {\n return (await this.#getSaveButton()).click();\n }\n\n /**\n * Closes the picker without saving any selections made.\n */\n public async cancel(): Promise<void> {\n return (await this.#getCancelButton()).click();\n }\n\n /**\n * Gets a list of search results.\n */\n public async getSearchResults(\n filters?: SkyLookupShowMorePickerSearchResultHarnessFilters\n ): Promise<SkyLookupShowMorePickerSearchResultHarness[]> {\n const pickerId = (await (await this.host()).getAttribute('id')) as string;\n\n const harnesses = await this.locatorForAll(\n SkyRepeaterItemHarness.with({\n ...(filters || {}),\n ancestor: `#${pickerId}`,\n })\n )();\n\n if (filters && harnesses.length === 0) {\n throw new Error(\n `Could not find search results in the picker matching filter(s): ${JSON.stringify(\n filters\n )}`\n );\n }\n\n return harnesses;\n }\n\n /**\n * Clears all selections made.\n */\n public async clearAll(): Promise<void> {\n const button = await this.#getClearAllButton();\n if (!button) {\n throw new Error(\n 'Could not clear all selections because the \"Clear all\" button could not be found.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Whether the picker is configured to allow multiple selections.\n */\n public async isMultiselect(): Promise<boolean> {\n return !(await (\n await this.host()\n ).hasClass('sky-lookup-show-more-modal-single'));\n }\n\n /**\n * Selects all search results.\n */\n public async selectAll(): Promise<void> {\n const button = await this.#getSelectAllButton();\n if (!button) {\n throw new Error(\n 'Could not select all selections because the \"Select all\" button could not be found.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Loads more results in the picker.\n */\n public async loadMore(): Promise<void> {\n return (await this.#getInfiniteScroll()).loadMore();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyAutocompleteHarness } from '../autocomplete/autocomplete-harness';\n\nimport { SkyLookupHarnessFilters } from './lookup-harness-filters';\nimport { SkyLookupSelectionHarness } from './lookup-selection-harness';\nimport { SkyLookupSelectionsListHarness } from './lookup-selections-list-harness';\nimport { SkyLookupShowMorePickerHarness } from './lookup-show-more-picker-harness';\n\n/**\n * Harness for interacting with a lookup component in tests.\n * @internal\n */\nexport class SkyLookupHarness extends SkyAutocompleteHarness {\n /**\n * Finds a standard lookup component, or a lookup component that is wrapped by an input box component.\n * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-lookup`\n * element is removed from the DOM.\n * @internal\n */\n public static hostSelector = 'sky-lookup,.sky-input-box';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getAutocompleteHarness = this.locatorFor(SkyAutocompleteHarness);\n\n #getSelectionsListHarness = this.locatorFor(SkyLookupSelectionsListHarness);\n\n #getWrapper = this.locatorFor('.sky-lookup');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLookupHarnessFilters\n ): HarnessPredicate<SkyLookupHarness> {\n return SkyLookupHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the \"Add\" button on the search results panel.\n */\n public async clickAddButton(): Promise<void> {\n await this.focus();\n await super.clickAddButton();\n }\n\n /**\n * Clicks the \"Show more\" button on the search results panel.\n */\n public async clickShowMoreButton(): Promise<void> {\n await this.focus();\n await super.clickShowMoreButton();\n }\n\n /**\n * Dismisses the selections made with a multiselect lookup.\n */\n public async dismissSelections(): Promise<void> {\n return (await this.#getSelectionsListHarness()).dismissSelections();\n }\n\n /**\n * Gets the \"Show more\" picker harness.\n */\n public async getShowMorePicker(): Promise<SkyLookupShowMorePickerHarness> {\n const pickerId = await (\n await (await this.#getAutocompleteHarness()).host()\n ).getAttribute('data-sky-lookup-show-more-picker-id');\n\n const defaultPicker = await this.#documentRootLocator.locatorForOptional(\n SkyLookupShowMorePickerHarness.with({ selector: `#${pickerId}` })\n )();\n\n if (!defaultPicker) {\n throw new Error(\n 'Cannot get the \"Show more\" picker because it is not open.'\n );\n }\n\n return defaultPicker;\n }\n\n /**\n * Gets a list of selections made with a multiselect lookup.\n */\n public async getSelections(): Promise<SkyLookupSelectionHarness[]> {\n return (await this.#getSelectionsListHarness()).getSelections();\n }\n\n /**\n * Gets the text content of all selections made with a multiselect lookup.\n */\n public async getSelectionsText(): Promise<string[]> {\n return (await this.#getSelectionsListHarness()).getSelectionsText();\n }\n\n /**\n * Whether the lookup allows for multiple selections.\n */\n public async isMultiselect(): Promise<boolean> {\n return !(await (await this.#getWrapper()).hasClass('sky-lookup-single'));\n }\n}\n","import { SkyTokenHarness } from '@skyux/indicators/testing';\n\n/**\n * Harness for interacting with a multiselect lookup selection in tests.\n * @internal\n */\nexport class SkyLookupSelectionHarness extends SkyTokenHarness {}\n","import { SkyRepeaterItemHarness } from '@skyux/lists/testing';\n\n/**\n * Harness for interacting with a lookup's \"Show more\" picker search results in tests.\n * @internal\n */\nexport class SkyLookupShowMorePickerSearchResultHarness extends SkyRepeaterItemHarness {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX search component.\n * @deprecated Use `SkySearchHarness` instead.\n * @internal\n */\nexport class SkySearchFixture {\n /**\n * Gets the search's current text.\n */\n public get searchText(): string {\n return this.getInputEl().nativeElement.value;\n }\n\n /**\n * Gets the search's current placeholder text.\n */\n public get placeholderText(): string {\n return this.getInputEl().nativeElement.placeholder;\n }\n\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-search'\n );\n }\n\n /**\n * Applies the specified search text, invoking the search.\n * @param searchText The search text to apply. If none is specified, the search's\n * current search text will be applied.\n */\n public apply(searchText?: string) {\n if (searchText) {\n SkyAppTestUtility.setInputValue(\n this.getInputEl().nativeElement,\n searchText\n );\n }\n\n const btnEl = this.getApplyBtnEl();\n\n btnEl.triggerEventHandler('click', {});\n }\n\n /**\n * Clears the current search text. If there is no search text or the search text is\n * not currently applied, an error is thrown.\n */\n public clear() {\n const clearEl = this.debugEl.query(By.css('.sky-input-group-clear'));\n\n if (!SkyAppTestUtility.isVisible(clearEl)) {\n throw new Error(\n 'There currently is no search text or the current search text has not been applied, ' +\n 'so the clear button is not visible.'\n );\n }\n\n const btnEl = this.getClearBtnEl();\n\n btnEl.triggerEventHandler('click', {});\n }\n\n private getApplyBtnEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-btn-apply'));\n }\n\n private getClearBtnEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-btn-clear'));\n }\n\n private getInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-input'));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkySearchModule } from '@skyux/lookup';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [NoopAnimationsModule, SkySearchModule],\n})\nexport class SkySearchTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -82,7 +82,7 @@ class SkyAutocompleteSearchResultHarness extends ComponentHarness {
|
|
|
82
82
|
* `SkyAutocompleteSearchResultHarness` that meets certain criteria.
|
|
83
83
|
*/
|
|
84
84
|
static with(filters) {
|
|
85
|
-
return new HarnessPredicate(SkyAutocompleteSearchResultHarness, filters).addOption('textContent', filters.
|
|
85
|
+
return new HarnessPredicate(SkyAutocompleteSearchResultHarness, filters).addOption('textContent', filters.text, async (harness, text) => HarnessPredicate.stringMatches(await harness.getText(), text));
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
88
|
* Returns the value of the search result's descriptor property.
|
|
@@ -104,9 +104,9 @@ class SkyAutocompleteSearchResultHarness extends ComponentHarness {
|
|
|
104
104
|
return (await this.host()).click();
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
|
-
* Returns the text
|
|
107
|
+
* Returns the text of the search result.
|
|
108
108
|
*/
|
|
109
|
-
async
|
|
109
|
+
async getText() {
|
|
110
110
|
return (await this.host()).text();
|
|
111
111
|
}
|
|
112
112
|
}
|
|
@@ -169,8 +169,8 @@ class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
169
169
|
const harnesses = await overlay.queryHarnesses(SkyAutocompleteSearchResultHarness.with(filters || {}));
|
|
170
170
|
if (filters && harnesses.length === 0) {
|
|
171
171
|
// Stringify the regular expression so that it's readable in the console log.
|
|
172
|
-
if (filters.
|
|
173
|
-
filters.
|
|
172
|
+
if (filters.text instanceof RegExp) {
|
|
173
|
+
filters.text = filters.text.toString();
|
|
174
174
|
}
|
|
175
175
|
throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
|
|
176
176
|
}
|
|
@@ -183,7 +183,7 @@ class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
183
183
|
const harnesses = await this.getSearchResults(filters);
|
|
184
184
|
const text = [];
|
|
185
185
|
for (const harness of harnesses) {
|
|
186
|
-
text.push(await harness.
|
|
186
|
+
text.push(await harness.getText());
|
|
187
187
|
}
|
|
188
188
|
return text;
|
|
189
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-lookup-testing.mjs","sources":["../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-input-harness.ts","../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-search-result-harness.ts","../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-harness.ts","../../../../../libs/components/lookup/testing/src/country-field/country-field-fixture.ts","../../../../../libs/components/lookup/testing/src/country-field/country-field-testing.module.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-selections-list-harness.ts","../../../../../libs/components/lookup/testing/src/search/search-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-show-more-picker-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-selection-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-show-more-picker-search-result-harness.ts","../../../../../libs/components/lookup/testing/src/search/search-fixture.ts","../../../../../libs/components/lookup/testing/src/search/search-testing.module.ts","../../../../../libs/components/lookup/testing/src/skyux-lookup-testing.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * @internal\n */\nexport class SkyAutocompleteInputHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '[skyAutocomplete]';\n\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /**\n * Enters text into the input.\n */\n public async enterText(value: string): Promise<void> {\n const el = await this.host();\n await el.focus();\n await el.clear();\n await el.sendKeys(value);\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return (await this.host()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.host()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /**\n * Returns the value of the input's `aria-owns` attribute.\n */\n public async getAriaOwns(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-owns');\n }\n}\n","import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n} from '@angular/cdk/testing';\n\nimport { SkyAutocompleteSearchResultHarnessFilters } from './autocomplete-search-result-harness-filters';\n\n/**\n * Harness for interacting with an autocomplete search results in tests.\n * @internal\n */\nexport class SkyAutocompleteSearchResultHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-autocomplete-result';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteSearchResultHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAutocompleteSearchResultHarnessFilters\n ): HarnessPredicate<SkyAutocompleteSearchResultHarness> {\n return new HarnessPredicate(\n SkyAutocompleteSearchResultHarness,\n filters\n ).addOption('textContent', filters.textContent, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.textContent(), text)\n );\n }\n\n /**\n * Returns the value of the search result's descriptor property.\n * This value is set by the autocomplete's `descriptorProperty` input.\n */\n public async getDescriptorValue(): Promise<string> {\n return (await (\n await this.host()\n ).getAttribute('data-descriptor-value')) as string;\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(query)();\n }\n\n /**\n * Selects the search result.\n */\n public async select(): Promise<void> {\n return (await this.host()).click();\n }\n\n /**\n * Returns the text content of the search result.\n */\n public async textContent(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness, SkyOverlayHarness } from '@skyux/core/testing';\n\nimport { SkyAutocompleteHarnessFilters } from './autocomplete-harness-filters';\nimport { SkyAutocompleteInputHarness } from './autocomplete-input-harness';\nimport { SkyAutocompleteSearchResultHarness } from './autocomplete-search-result-harness';\nimport { SkyAutocompleteSearchResultHarnessFilters } from './autocomplete-search-result-harness-filters';\n\n/**\n * Harness for interacting with an autocomplete component in tests.\n * @internal\n */\nexport class SkyAutocompleteHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-autocomplete';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getInput = this.locatorFor(SkyAutocompleteInputHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAutocompleteHarnessFilters\n ): HarnessPredicate<SkyAutocompleteHarness> {\n return SkyAutocompleteHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Blurs the autocomplete input.\n */\n public async blur(): Promise<void> {\n return (await this.#getInput()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n return (await this.#getInput()).clear();\n }\n\n /**\n * Enters text into the autocomplete input.\n */\n public async enterText(value: string): Promise<void> {\n return (await this.#getInput()).enterText(value);\n }\n\n /**\n * Focuses the autocomplete input.\n */\n public async focus(): Promise<void> {\n return (await this.#getInput()).focus();\n }\n\n /**\n * Returns search result harnesses.\n */\n public async getSearchResults(\n filters?: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<SkyAutocompleteSearchResultHarness[]> {\n const overlay = await this.#getOverlay();\n\n if (!overlay) {\n throw new Error(\n 'Unable to retrieve search results. The autocomplete is closed.'\n );\n }\n\n const harnesses = await overlay.queryHarnesses(\n SkyAutocompleteSearchResultHarness.with(filters || {})\n );\n\n if (filters && harnesses.length === 0) {\n // Stringify the regular expression so that it's readable in the console log.\n if (filters.textContent instanceof RegExp) {\n filters.textContent = filters.textContent.toString();\n }\n\n throw new Error(\n `Could not find search results matching filter(s): ${JSON.stringify(\n filters\n )}`\n );\n }\n\n return harnesses;\n }\n\n /**\n * Returns the text content for each search result.\n */\n public async getSearchResultsText(\n filters?: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<string[]> {\n const harnesses = await this.getSearchResults(filters);\n\n const text: string[] = [];\n for (const harness of harnesses) {\n text.push(await harness.textContent());\n }\n\n return text;\n }\n\n /**\n * Gets the value of the autocomplete input.\n */\n public async getValue(): Promise<string> {\n return (await this.#getInput()).getValue();\n }\n\n /**\n * Whether the autocomplete input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getInput()).isDisabled();\n }\n\n /**\n * Whether the autocomplete input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getInput()).isFocused();\n }\n\n /**\n * Whether the autocomplete is open.\n */\n public async isOpen(): Promise<boolean> {\n const overlay = await this.#getOverlay();\n return !!overlay;\n }\n\n /**\n * Selects a search result.\n */\n public async selectSearchResult(\n filters: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<void> {\n const results = await this.getSearchResults(filters);\n if (results && results.length > 0) {\n await results[0].select();\n }\n }\n\n /**\n * Clicks the \"Add\" button in the autocomplete search results panel.\n * (The \"Add\" functionality is not included in the public API\n * of a \"vanilla\" autocomplete component, so this method is protected\n * to prevent consumers of the autocomplete harness from calling it.\n * The lookup harness, which extends the autocomplete harness, may\n * still access this feature, however.)\n */\n protected async clickAddButton(): Promise<void> {\n const overlay = await this.#getOverlay();\n if (!overlay) {\n throw new Error(\n 'Unable to find the \"Add\" button. The autocomplete is closed.'\n );\n }\n\n const button = await overlay.querySelector(\n 'button.sky-autocomplete-action-add'\n );\n\n if (!button) {\n throw new Error(\n 'The \"Add\" button cannot be clicked because it does not exist.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Clicks the \"Show more\" button.\n * (The \"Show more\" functionality is not included in the public API\n * of a \"vanilla\" autocomplete component, so this method is protected\n * to prevent consumers of the autocomplete harness from calling it.\n * The lookup harness, which extends the autocomplete harness, may\n * still access this feature, however.)\n */\n protected async clickShowMoreButton(): Promise<void> {\n const overlay = await this.#getOverlay();\n\n if (!overlay) {\n throw new Error(\n 'Unable to find the \"Show more\" button. ' +\n 'The autocomplete is closed.'\n );\n }\n\n const button = await overlay.querySelector(\n 'button.sky-autocomplete-action-more'\n );\n\n if (!button) {\n throw new Error(\n 'The \"Show more\" button cannot be clicked because it does not exist.'\n );\n }\n\n await button.click();\n }\n\n async #getOverlay(): Promise<SkyOverlayHarness | null> {\n const overlayId = await (await this.#getInput()).getAriaOwns();\n\n return overlayId\n ? this.#documentRootLocator.locatorForOptional(\n SkyOverlayHarness.with({ selector: `#${overlayId}` })\n )()\n : null;\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX country field component.\n * @internal\n */\nexport class SkyCountryFieldFixture {\n private debugEl: DebugElement;\n\n /**\n * The value of the input field's autocomplete attribute.\n */\n public get autocompleteAttribute(): string | null {\n return this.getInputElement().getAttribute('autocomplete');\n }\n\n /**\n * A flag indicating if the country flag is currently visible.\n * The flag will be visible only if a selection has been made\n * and if the hideSelectedCountryFlag option is false.\n */\n public get countryFlagIsVisible(): boolean {\n const flag = this.getCountryFlag();\n return flag !== null;\n }\n\n /**\n * A flag indicating whether or not the input has been disabled.\n */\n public get disabled(): boolean {\n return this.getInputElement().disabled;\n }\n\n /**\n * The value of the input field.\n */\n public get searchText(): string {\n return this.getInputElement().value;\n }\n\n constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-country-field'\n );\n }\n\n /**\n * Enters the search text into the input field displaying search results, but making no selection.\n * @param searchText The name of the country to select.\n * @returns The list of country names matching the search text.\n */\n public async search(searchText: string): Promise<string[]> {\n const resultNodes = await this.searchAndGetResults(\n searchText,\n this.fixture\n );\n const resultArray = Array.prototype.slice.call(resultNodes);\n const results = resultArray.map((result: HTMLElement) => {\n const countryNameEl = result.querySelector('.sky-highlight-mark');\n const countryName = SkyAppTestUtility.getText(countryNameEl)!;\n return countryName;\n });\n\n this.fixture.detectChanges();\n await this.fixture.whenStable();\n\n return results;\n }\n\n /**\n * Enters the search text into the input field and selects the first result (if any).\n * @param searchText The name of the country to select.\n */\n public async searchAndSelectFirstResult(searchText: string): Promise<void> {\n await this.searchAndSelect(searchText, 0, this.fixture);\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Clears the country selection and input field.\n */\n public clear(): Promise<void> {\n this.enterSearch('', this.fixture);\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n //#region helpers\n\n private getCountryFlag(): DebugElement {\n return this.debugEl.query(By.css('.sky-country-field-flag'));\n }\n\n private getAutocompleteElement(): HTMLElement {\n return document.querySelector('.sky-autocomplete-results') as HTMLElement;\n }\n\n private getInputElement(): HTMLTextAreaElement {\n const debugEl = this.debugEl.query(By.css('textarea'));\n return debugEl.nativeElement as HTMLTextAreaElement;\n }\n\n private blurInput(fixture: ComponentFixture<any>): Promise<void> {\n SkyAppTestUtility.fireDomEvent(this.getInputElement(), 'blur');\n fixture.detectChanges();\n return fixture.whenStable();\n }\n\n private enterSearch(\n newValue: string,\n fixture: ComponentFixture<any>\n ): Promise<void> {\n const inputElement = this.getInputElement();\n inputElement.value = newValue;\n SkyAppTestUtility.fireDomEvent(inputElement, 'keyup');\n SkyAppTestUtility.fireDomEvent(inputElement, 'input');\n fixture.detectChanges();\n return fixture.whenStable();\n }\n\n private async searchAndGetResults(\n newValue: string,\n fixture: ComponentFixture<any>\n ): Promise<NodeListOf<HTMLElement>> {\n await this.enterSearch(newValue, fixture);\n fixture.detectChanges();\n await fixture.whenStable();\n return this.getAutocompleteElement().querySelectorAll(\n '.sky-autocomplete-result'\n );\n }\n\n private async searchAndSelect(\n newValue: string,\n index: number,\n fixture: ComponentFixture<any>\n ): Promise<void> {\n const inputElement = this.getInputElement();\n const searchResults = await this.searchAndGetResults(newValue, fixture);\n\n if (searchResults.length < index + 1) {\n throw new Error('Index out of range for results');\n }\n\n // Note: the ordering of these events is important!\n SkyAppTestUtility.fireDomEvent(inputElement, 'change');\n SkyAppTestUtility.fireDomEvent(searchResults[index], 'mousedown');\n this.blurInput(fixture);\n }\n\n //#endregion helpers\n}\n","import { NgModule } from '@angular/core';\nimport { SkyCountryFieldModule } from '@skyux/lookup';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyCountryFieldModule],\n})\nexport class SkyCountryFieldTestingModule {}\n","import { SkyTokensHarness } from '@skyux/indicators/testing';\n\nimport { SkyLookupSelectionHarness } from './lookup-selection-harness';\n\n/**\n * Harness for interacting with multiselect lookup selections in tests.\n * @internal\n */\nexport class SkyLookupSelectionsListHarness extends SkyTokensHarness {\n /**\n * Gets a list of selections.\n */\n public async getSelections(): Promise<SkyLookupSelectionHarness[]> {\n return super.getTokens();\n }\n\n /**\n * Dismisses the selections in the list.\n */\n public async dismissSelections(): Promise<void> {\n return super.dismissTokens();\n }\n\n /**\n * Gets the text content of all selections in the list.\n */\n public async getSelectionsText(): Promise<string[]> {\n return super.getTokensText();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkySearchHarnessFilters } from './search-harness-filters';\n\n/**\n * Harness for interacting with an search component in tests.\n * @internal\n */\nexport class SkySearchHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-search';\n\n #getInput = this.locatorFor('input.sky-search-input');\n\n #getSubmitButton = this.locatorFor('button.sky-search-btn-apply');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySearchHarness` that meets certain criteria.\n */\n public static with(\n filters: SkySearchHarnessFilters\n ): HarnessPredicate<SkySearchHarness> {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n await (await this.#getInput()).blur();\n }\n\n /**\n * Clears the input.\n */\n public async clear(): Promise<void> {\n const input = await this.#getInput();\n await input.focus();\n await input.clear();\n await this.#clickSubmitButton();\n }\n\n /**\n * Enters text into the input and performs a search.\n */\n public async enterText(value: string): Promise<void> {\n const input = await this.#getInput();\n await input.clear();\n await input.focus();\n await input.sendKeys(value);\n await this.#clickSubmitButton();\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n await (await this.#getInput()).focus();\n }\n\n /**\n * Gets the value of the input's placeholder attribute.\n */\n public async getPlaceholderText(): Promise<string | null> {\n return (await this.#getInput()).getAttribute('placeholder');\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return (await this.#getInput()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.#getInput()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getInput()).isFocused();\n }\n\n async #clickSubmitButton() {\n return (await this.#getSubmitButton()).click();\n }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\nimport {\n SkyInfiniteScrollHarness,\n SkyRepeaterItemHarness,\n} from '@skyux/lists/testing';\n\nimport { SkySearchHarness } from '../search/search-harness';\n\nimport { SkyLookupShowMorePickerHarnessFilters } from './lookup-show-more-picker-harness-filters';\nimport { SkyLookupShowMorePickerSearchResultHarness } from './lookup-show-more-picker-search-result-harness';\nimport { SkyLookupShowMorePickerSearchResultHarnessFilters } from './lookup-show-more-picker-search-result-harness-filters';\n\n/**\n * Harness for interacting with a lookup's \"Show more\" picker in tests.\n * @internal\n */\nexport class SkyLookupShowMorePickerHarness extends ComponentHarness {\n /**\n * Use the class name since the async and non-async pickers use different\n * host components but share the same wrapper CSS class.\n * @internal\n */\n public static hostSelector = '.sky-lookup-show-more-modal';\n\n #getCancelButton = this.locatorFor('button.sky-lookup-show-more-modal-close');\n\n #getClearAllButton = this.locatorForOptional(\n 'button.sky-lookup-show-more-modal-clear-all-btn'\n );\n\n #getInfiniteScroll = this.locatorFor(SkyInfiniteScrollHarness);\n\n #getSaveButton = this.locatorFor('button.sky-lookup-show-more-modal-save');\n\n #getSearchHarness = this.locatorFor(SkySearchHarness);\n\n #getSelectAllButton = this.locatorForOptional(\n 'button.sky-lookup-show-more-modal-select-all-btn'\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupShowMorePickerHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLookupShowMorePickerHarnessFilters\n ): HarnessPredicate<SkyLookupShowMorePickerHarness> {\n return new HarnessPredicate(SkyLookupShowMorePickerHarness, filters);\n }\n\n /**\n * Clears the text of the search input.\n */\n public async clearSearchText(): Promise<void> {\n return (await this.#getSearchHarness()).clear();\n }\n\n /**\n * Enters text into the search input and performs a search.\n */\n public async enterSearchText(value: string): Promise<void> {\n return (await this.#getSearchHarness()).enterText(value);\n }\n\n /**\n * Selects multiple search results based on a set of criteria.\n */\n public async selectSearchResult(\n filters?: SkyLookupShowMorePickerSearchResultHarnessFilters\n ): Promise<void> {\n const harnesses = await this.getSearchResults(filters);\n\n if (await this.isMultiselect()) {\n for (const harness of harnesses) {\n await harness.select();\n }\n } else {\n // Click on the item directly because we've added a custom click event in the picker's template.\n await (await harnesses[0].host()).click();\n }\n }\n\n /**\n * Saves any selections made and closes the picker.\n */\n public async saveAndClose(): Promise<void> {\n return (await this.#getSaveButton()).click();\n }\n\n /**\n * Closes the picker without saving any selections made.\n */\n public async cancel(): Promise<void> {\n return (await this.#getCancelButton()).click();\n }\n\n /**\n * Gets a list of search results.\n */\n public async getSearchResults(\n filters?: SkyLookupShowMorePickerSearchResultHarnessFilters\n ): Promise<SkyLookupShowMorePickerSearchResultHarness[]> {\n const pickerId = (await (await this.host()).getAttribute('id')) as string;\n\n const harnesses = await this.locatorForAll(\n SkyRepeaterItemHarness.with({\n ...(filters || {}),\n ancestor: `#${pickerId}`,\n })\n )();\n\n if (filters && harnesses.length === 0) {\n throw new Error(\n `Could not find search results in the picker matching filter(s): ${JSON.stringify(\n filters\n )}`\n );\n }\n\n return harnesses;\n }\n\n /**\n * Clears all selections made.\n */\n public async clearAll(): Promise<void> {\n const button = await this.#getClearAllButton();\n if (!button) {\n throw new Error(\n 'Could not clear all selections because the \"Clear all\" button could not be found.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Whether the picker is configured to allow multiple selections.\n */\n public async isMultiselect(): Promise<boolean> {\n return !(await (\n await this.host()\n ).hasClass('sky-lookup-show-more-modal-single'));\n }\n\n /**\n * Selects all search results.\n */\n public async selectAll(): Promise<void> {\n const button = await this.#getSelectAllButton();\n if (!button) {\n throw new Error(\n 'Could not select all selections because the \"Select all\" button could not be found.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Loads more results in the picker.\n */\n public async loadMore(): Promise<void> {\n return (await this.#getInfiniteScroll()).loadMore();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyAutocompleteHarness } from '../autocomplete/autocomplete-harness';\n\nimport { SkyLookupHarnessFilters } from './lookup-harness-filters';\nimport { SkyLookupSelectionHarness } from './lookup-selection-harness';\nimport { SkyLookupSelectionsListHarness } from './lookup-selections-list-harness';\nimport { SkyLookupShowMorePickerHarness } from './lookup-show-more-picker-harness';\n\n/**\n * Harness for interacting with a lookup component in tests.\n * @internal\n */\nexport class SkyLookupHarness extends SkyAutocompleteHarness {\n /**\n * Finds a standard lookup component, or a lookup component that is wrapped by an input box component.\n * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-lookup`\n * element is removed from the DOM.\n * @internal\n */\n public static hostSelector = 'sky-lookup,.sky-input-box';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getAutocompleteHarness = this.locatorFor(SkyAutocompleteHarness);\n\n #getSelectionsListHarness = this.locatorFor(SkyLookupSelectionsListHarness);\n\n #getWrapper = this.locatorFor('.sky-lookup');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLookupHarnessFilters\n ): HarnessPredicate<SkyLookupHarness> {\n return SkyLookupHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the \"Add\" button on the search results panel.\n */\n public async clickAddButton(): Promise<void> {\n await this.focus();\n await super.clickAddButton();\n }\n\n /**\n * Clicks the \"Show more\" button on the search results panel.\n */\n public async clickShowMoreButton(): Promise<void> {\n await this.focus();\n await super.clickShowMoreButton();\n }\n\n /**\n * Dismisses the selections made with a multiselect lookup.\n */\n public async dismissSelections(): Promise<void> {\n return (await this.#getSelectionsListHarness()).dismissSelections();\n }\n\n /**\n * Gets the \"Show more\" picker harness.\n */\n public async getShowMorePicker(): Promise<SkyLookupShowMorePickerHarness> {\n const pickerId = await (\n await (await this.#getAutocompleteHarness()).host()\n ).getAttribute('data-sky-lookup-show-more-picker-id');\n\n const defaultPicker = await this.#documentRootLocator.locatorForOptional(\n SkyLookupShowMorePickerHarness.with({ selector: `#${pickerId}` })\n )();\n\n if (!defaultPicker) {\n throw new Error(\n 'Cannot get the \"Show more\" picker because it is not open.'\n );\n }\n\n return defaultPicker;\n }\n\n /**\n * Gets a list of selections made with a multiselect lookup.\n */\n public async getSelections(): Promise<SkyLookupSelectionHarness[]> {\n return (await this.#getSelectionsListHarness()).getSelections();\n }\n\n /**\n * Gets the text content of all selections made with a multiselect lookup.\n */\n public async getSelectionsText(): Promise<string[]> {\n return (await this.#getSelectionsListHarness()).getSelectionsText();\n }\n\n /**\n * Whether the lookup allows for multiple selections.\n */\n public async isMultiselect(): Promise<boolean> {\n return !(await (await this.#getWrapper()).hasClass('sky-lookup-single'));\n }\n}\n","import { SkyTokenHarness } from '@skyux/indicators/testing';\n\n/**\n * Harness for interacting with a multiselect lookup selection in tests.\n * @internal\n */\nexport class SkyLookupSelectionHarness extends SkyTokenHarness {}\n","import { SkyRepeaterItemHarness } from '@skyux/lists/testing';\n\n/**\n * Harness for interacting with a lookup's \"Show more\" picker search results in tests.\n * @internal\n */\nexport class SkyLookupShowMorePickerSearchResultHarness extends SkyRepeaterItemHarness {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX search component.\n * @deprecated Use `SkySearchHarness` instead.\n * @internal\n */\nexport class SkySearchFixture {\n /**\n * Gets the search's current text.\n */\n public get searchText(): string {\n return this.getInputEl().nativeElement.value;\n }\n\n /**\n * Gets the search's current placeholder text.\n */\n public get placeholderText(): string {\n return this.getInputEl().nativeElement.placeholder;\n }\n\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-search'\n );\n }\n\n /**\n * Applies the specified search text, invoking the search.\n * @param searchText The search text to apply. If none is specified, the search's\n * current search text will be applied.\n */\n public apply(searchText?: string) {\n if (searchText) {\n SkyAppTestUtility.setInputValue(\n this.getInputEl().nativeElement,\n searchText\n );\n }\n\n const btnEl = this.getApplyBtnEl();\n\n btnEl.triggerEventHandler('click', {});\n }\n\n /**\n * Clears the current search text. If there is no search text or the search text is\n * not currently applied, an error is thrown.\n */\n public clear() {\n const clearEl = this.debugEl.query(By.css('.sky-input-group-clear'));\n\n if (!SkyAppTestUtility.isVisible(clearEl)) {\n throw new Error(\n 'There currently is no search text or the current search text has not been applied, ' +\n 'so the clear button is not visible.'\n );\n }\n\n const btnEl = this.getClearBtnEl();\n\n btnEl.triggerEventHandler('click', {});\n }\n\n private getApplyBtnEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-btn-apply'));\n }\n\n private getClearBtnEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-btn-clear'));\n }\n\n private getInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-input'));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkySearchModule } from '@skyux/lookup';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [NoopAnimationsModule, SkySearchModule],\n})\nexport class SkySearchTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-lookup-testing.mjs","sources":["../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-input-harness.ts","../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-search-result-harness.ts","../../../../../libs/components/lookup/testing/src/autocomplete/autocomplete-harness.ts","../../../../../libs/components/lookup/testing/src/country-field/country-field-fixture.ts","../../../../../libs/components/lookup/testing/src/country-field/country-field-testing.module.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-selections-list-harness.ts","../../../../../libs/components/lookup/testing/src/search/search-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-show-more-picker-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-selection-harness.ts","../../../../../libs/components/lookup/testing/src/lookup/lookup-show-more-picker-search-result-harness.ts","../../../../../libs/components/lookup/testing/src/search/search-fixture.ts","../../../../../libs/components/lookup/testing/src/search/search-testing.module.ts","../../../../../libs/components/lookup/testing/src/skyux-lookup-testing.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing';\n\n/**\n * @internal\n */\nexport class SkyAutocompleteInputHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '[skyAutocomplete]';\n\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /**\n * Enters text into the input.\n */\n public async enterText(value: string): Promise<void> {\n const el = await this.host();\n await el.focus();\n await el.clear();\n await el.sendKeys(value);\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return (await this.host()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.host()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /**\n * Returns the value of the input's `aria-owns` attribute.\n */\n public async getAriaOwns(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-owns');\n }\n}\n","import {\n ComponentHarness,\n HarnessPredicate,\n HarnessQuery,\n} from '@angular/cdk/testing';\n\nimport { SkyAutocompleteSearchResultHarnessFilters } from './autocomplete-search-result-harness-filters';\n\n/**\n * Harness for interacting with an autocomplete search results in tests.\n * @internal\n */\nexport class SkyAutocompleteSearchResultHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-autocomplete-result';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteSearchResultHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAutocompleteSearchResultHarnessFilters\n ): HarnessPredicate<SkyAutocompleteSearchResultHarness> {\n return new HarnessPredicate(\n SkyAutocompleteSearchResultHarness,\n filters\n ).addOption('textContent', filters.text, async (harness, text) =>\n HarnessPredicate.stringMatches(await harness.getText(), text)\n );\n }\n\n /**\n * Returns the value of the search result's descriptor property.\n * This value is set by the autocomplete's `descriptorProperty` input.\n */\n public async getDescriptorValue(): Promise<string> {\n return (await (\n await this.host()\n ).getAttribute('data-descriptor-value')) as string;\n }\n\n /**\n * Returns a child harness.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>\n ): Promise<T | null> {\n return this.locatorForOptional(query)();\n }\n\n /**\n * Selects the search result.\n */\n public async select(): Promise<void> {\n return (await this.host()).click();\n }\n\n /**\n * Returns the text of the search result.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness, SkyOverlayHarness } from '@skyux/core/testing';\n\nimport { SkyAutocompleteHarnessFilters } from './autocomplete-harness-filters';\nimport { SkyAutocompleteInputHarness } from './autocomplete-input-harness';\nimport { SkyAutocompleteSearchResultHarness } from './autocomplete-search-result-harness';\nimport { SkyAutocompleteSearchResultHarnessFilters } from './autocomplete-search-result-harness-filters';\n\n/**\n * Harness for interacting with an autocomplete component in tests.\n * @internal\n */\nexport class SkyAutocompleteHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-autocomplete';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getInput = this.locatorFor(SkyAutocompleteInputHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAutocompleteHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAutocompleteHarnessFilters\n ): HarnessPredicate<SkyAutocompleteHarness> {\n return SkyAutocompleteHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Blurs the autocomplete input.\n */\n public async blur(): Promise<void> {\n return (await this.#getInput()).blur();\n }\n\n /**\n * Clears the input value.\n */\n public async clear(): Promise<void> {\n return (await this.#getInput()).clear();\n }\n\n /**\n * Enters text into the autocomplete input.\n */\n public async enterText(value: string): Promise<void> {\n return (await this.#getInput()).enterText(value);\n }\n\n /**\n * Focuses the autocomplete input.\n */\n public async focus(): Promise<void> {\n return (await this.#getInput()).focus();\n }\n\n /**\n * Returns search result harnesses.\n */\n public async getSearchResults(\n filters?: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<SkyAutocompleteSearchResultHarness[]> {\n const overlay = await this.#getOverlay();\n\n if (!overlay) {\n throw new Error(\n 'Unable to retrieve search results. The autocomplete is closed.'\n );\n }\n\n const harnesses = await overlay.queryHarnesses(\n SkyAutocompleteSearchResultHarness.with(filters || {})\n );\n\n if (filters && harnesses.length === 0) {\n // Stringify the regular expression so that it's readable in the console log.\n if (filters.text instanceof RegExp) {\n filters.text = filters.text.toString();\n }\n\n throw new Error(\n `Could not find search results matching filter(s): ${JSON.stringify(\n filters\n )}`\n );\n }\n\n return harnesses;\n }\n\n /**\n * Returns the text content for each search result.\n */\n public async getSearchResultsText(\n filters?: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<string[]> {\n const harnesses = await this.getSearchResults(filters);\n\n const text: string[] = [];\n for (const harness of harnesses) {\n text.push(await harness.getText());\n }\n\n return text;\n }\n\n /**\n * Gets the value of the autocomplete input.\n */\n public async getValue(): Promise<string> {\n return (await this.#getInput()).getValue();\n }\n\n /**\n * Whether the autocomplete input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getInput()).isDisabled();\n }\n\n /**\n * Whether the autocomplete input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getInput()).isFocused();\n }\n\n /**\n * Whether the autocomplete is open.\n */\n public async isOpen(): Promise<boolean> {\n const overlay = await this.#getOverlay();\n return !!overlay;\n }\n\n /**\n * Selects a search result.\n */\n public async selectSearchResult(\n filters: SkyAutocompleteSearchResultHarnessFilters\n ): Promise<void> {\n const results = await this.getSearchResults(filters);\n if (results && results.length > 0) {\n await results[0].select();\n }\n }\n\n /**\n * Clicks the \"Add\" button in the autocomplete search results panel.\n * (The \"Add\" functionality is not included in the public API\n * of a \"vanilla\" autocomplete component, so this method is protected\n * to prevent consumers of the autocomplete harness from calling it.\n * The lookup harness, which extends the autocomplete harness, may\n * still access this feature, however.)\n */\n protected async clickAddButton(): Promise<void> {\n const overlay = await this.#getOverlay();\n if (!overlay) {\n throw new Error(\n 'Unable to find the \"Add\" button. The autocomplete is closed.'\n );\n }\n\n const button = await overlay.querySelector(\n 'button.sky-autocomplete-action-add'\n );\n\n if (!button) {\n throw new Error(\n 'The \"Add\" button cannot be clicked because it does not exist.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Clicks the \"Show more\" button.\n * (The \"Show more\" functionality is not included in the public API\n * of a \"vanilla\" autocomplete component, so this method is protected\n * to prevent consumers of the autocomplete harness from calling it.\n * The lookup harness, which extends the autocomplete harness, may\n * still access this feature, however.)\n */\n protected async clickShowMoreButton(): Promise<void> {\n const overlay = await this.#getOverlay();\n\n if (!overlay) {\n throw new Error(\n 'Unable to find the \"Show more\" button. ' +\n 'The autocomplete is closed.'\n );\n }\n\n const button = await overlay.querySelector(\n 'button.sky-autocomplete-action-more'\n );\n\n if (!button) {\n throw new Error(\n 'The \"Show more\" button cannot be clicked because it does not exist.'\n );\n }\n\n await button.click();\n }\n\n async #getOverlay(): Promise<SkyOverlayHarness | null> {\n const overlayId = await (await this.#getInput()).getAriaOwns();\n\n return overlayId\n ? this.#documentRootLocator.locatorForOptional(\n SkyOverlayHarness.with({ selector: `#${overlayId}` })\n )()\n : null;\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX country field component.\n * @internal\n */\nexport class SkyCountryFieldFixture {\n private debugEl: DebugElement;\n\n /**\n * The value of the input field's autocomplete attribute.\n */\n public get autocompleteAttribute(): string | null {\n return this.getInputElement().getAttribute('autocomplete');\n }\n\n /**\n * A flag indicating if the country flag is currently visible.\n * The flag will be visible only if a selection has been made\n * and if the hideSelectedCountryFlag option is false.\n */\n public get countryFlagIsVisible(): boolean {\n const flag = this.getCountryFlag();\n return flag !== null;\n }\n\n /**\n * A flag indicating whether or not the input has been disabled.\n */\n public get disabled(): boolean {\n return this.getInputElement().disabled;\n }\n\n /**\n * The value of the input field.\n */\n public get searchText(): string {\n return this.getInputElement().value;\n }\n\n constructor(private fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-country-field'\n );\n }\n\n /**\n * Enters the search text into the input field displaying search results, but making no selection.\n * @param searchText The name of the country to select.\n * @returns The list of country names matching the search text.\n */\n public async search(searchText: string): Promise<string[]> {\n const resultNodes = await this.searchAndGetResults(\n searchText,\n this.fixture\n );\n const resultArray = Array.prototype.slice.call(resultNodes);\n const results = resultArray.map((result: HTMLElement) => {\n const countryNameEl = result.querySelector('.sky-highlight-mark');\n const countryName = SkyAppTestUtility.getText(countryNameEl)!;\n return countryName;\n });\n\n this.fixture.detectChanges();\n await this.fixture.whenStable();\n\n return results;\n }\n\n /**\n * Enters the search text into the input field and selects the first result (if any).\n * @param searchText The name of the country to select.\n */\n public async searchAndSelectFirstResult(searchText: string): Promise<void> {\n await this.searchAndSelect(searchText, 0, this.fixture);\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Clears the country selection and input field.\n */\n public clear(): Promise<void> {\n this.enterSearch('', this.fixture);\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n //#region helpers\n\n private getCountryFlag(): DebugElement {\n return this.debugEl.query(By.css('.sky-country-field-flag'));\n }\n\n private getAutocompleteElement(): HTMLElement {\n return document.querySelector('.sky-autocomplete-results') as HTMLElement;\n }\n\n private getInputElement(): HTMLTextAreaElement {\n const debugEl = this.debugEl.query(By.css('textarea'));\n return debugEl.nativeElement as HTMLTextAreaElement;\n }\n\n private blurInput(fixture: ComponentFixture<any>): Promise<void> {\n SkyAppTestUtility.fireDomEvent(this.getInputElement(), 'blur');\n fixture.detectChanges();\n return fixture.whenStable();\n }\n\n private enterSearch(\n newValue: string,\n fixture: ComponentFixture<any>\n ): Promise<void> {\n const inputElement = this.getInputElement();\n inputElement.value = newValue;\n SkyAppTestUtility.fireDomEvent(inputElement, 'keyup');\n SkyAppTestUtility.fireDomEvent(inputElement, 'input');\n fixture.detectChanges();\n return fixture.whenStable();\n }\n\n private async searchAndGetResults(\n newValue: string,\n fixture: ComponentFixture<any>\n ): Promise<NodeListOf<HTMLElement>> {\n await this.enterSearch(newValue, fixture);\n fixture.detectChanges();\n await fixture.whenStable();\n return this.getAutocompleteElement().querySelectorAll(\n '.sky-autocomplete-result'\n );\n }\n\n private async searchAndSelect(\n newValue: string,\n index: number,\n fixture: ComponentFixture<any>\n ): Promise<void> {\n const inputElement = this.getInputElement();\n const searchResults = await this.searchAndGetResults(newValue, fixture);\n\n if (searchResults.length < index + 1) {\n throw new Error('Index out of range for results');\n }\n\n // Note: the ordering of these events is important!\n SkyAppTestUtility.fireDomEvent(inputElement, 'change');\n SkyAppTestUtility.fireDomEvent(searchResults[index], 'mousedown');\n this.blurInput(fixture);\n }\n\n //#endregion helpers\n}\n","import { NgModule } from '@angular/core';\nimport { SkyCountryFieldModule } from '@skyux/lookup';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyCountryFieldModule],\n})\nexport class SkyCountryFieldTestingModule {}\n","import { SkyTokensHarness } from '@skyux/indicators/testing';\n\nimport { SkyLookupSelectionHarness } from './lookup-selection-harness';\n\n/**\n * Harness for interacting with multiselect lookup selections in tests.\n * @internal\n */\nexport class SkyLookupSelectionsListHarness extends SkyTokensHarness {\n /**\n * Gets a list of selections.\n */\n public async getSelections(): Promise<SkyLookupSelectionHarness[]> {\n return super.getTokens();\n }\n\n /**\n * Dismisses the selections in the list.\n */\n public async dismissSelections(): Promise<void> {\n return super.dismissTokens();\n }\n\n /**\n * Gets the text content of all selections in the list.\n */\n public async getSelectionsText(): Promise<string[]> {\n return super.getTokensText();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkySearchHarnessFilters } from './search-harness-filters';\n\n/**\n * Harness for interacting with an search component in tests.\n * @internal\n */\nexport class SkySearchHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-search';\n\n #getInput = this.locatorFor('input.sky-search-input');\n\n #getSubmitButton = this.locatorFor('button.sky-search-btn-apply');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySearchHarness` that meets certain criteria.\n */\n public static with(\n filters: SkySearchHarnessFilters\n ): HarnessPredicate<SkySearchHarness> {\n return this.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Blurs the input.\n */\n public async blur(): Promise<void> {\n await (await this.#getInput()).blur();\n }\n\n /**\n * Clears the input.\n */\n public async clear(): Promise<void> {\n const input = await this.#getInput();\n await input.focus();\n await input.clear();\n await this.#clickSubmitButton();\n }\n\n /**\n * Enters text into the input and performs a search.\n */\n public async enterText(value: string): Promise<void> {\n const input = await this.#getInput();\n await input.clear();\n await input.focus();\n await input.sendKeys(value);\n await this.#clickSubmitButton();\n }\n\n /**\n * Focuses the input.\n */\n public async focus(): Promise<void> {\n await (await this.#getInput()).focus();\n }\n\n /**\n * Gets the value of the input's placeholder attribute.\n */\n public async getPlaceholderText(): Promise<string | null> {\n return (await this.#getInput()).getAttribute('placeholder');\n }\n\n /**\n * Gets the value of the input.\n */\n public async getValue(): Promise<string> {\n return (await this.#getInput()).getProperty('value');\n }\n\n /**\n * Whether the input is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.#getInput()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Whether the input is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getInput()).isFocused();\n }\n\n async #clickSubmitButton() {\n return (await this.#getSubmitButton()).click();\n }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\nimport {\n SkyInfiniteScrollHarness,\n SkyRepeaterItemHarness,\n} from '@skyux/lists/testing';\n\nimport { SkySearchHarness } from '../search/search-harness';\n\nimport { SkyLookupShowMorePickerHarnessFilters } from './lookup-show-more-picker-harness-filters';\nimport { SkyLookupShowMorePickerSearchResultHarness } from './lookup-show-more-picker-search-result-harness';\nimport { SkyLookupShowMorePickerSearchResultHarnessFilters } from './lookup-show-more-picker-search-result-harness-filters';\n\n/**\n * Harness for interacting with a lookup's \"Show more\" picker in tests.\n * @internal\n */\nexport class SkyLookupShowMorePickerHarness extends ComponentHarness {\n /**\n * Use the class name since the async and non-async pickers use different\n * host components but share the same wrapper CSS class.\n * @internal\n */\n public static hostSelector = '.sky-lookup-show-more-modal';\n\n #getCancelButton = this.locatorFor('button.sky-lookup-show-more-modal-close');\n\n #getClearAllButton = this.locatorForOptional(\n 'button.sky-lookup-show-more-modal-clear-all-btn'\n );\n\n #getInfiniteScroll = this.locatorFor(SkyInfiniteScrollHarness);\n\n #getSaveButton = this.locatorFor('button.sky-lookup-show-more-modal-save');\n\n #getSearchHarness = this.locatorFor(SkySearchHarness);\n\n #getSelectAllButton = this.locatorForOptional(\n 'button.sky-lookup-show-more-modal-select-all-btn'\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupShowMorePickerHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLookupShowMorePickerHarnessFilters\n ): HarnessPredicate<SkyLookupShowMorePickerHarness> {\n return new HarnessPredicate(SkyLookupShowMorePickerHarness, filters);\n }\n\n /**\n * Clears the text of the search input.\n */\n public async clearSearchText(): Promise<void> {\n return (await this.#getSearchHarness()).clear();\n }\n\n /**\n * Enters text into the search input and performs a search.\n */\n public async enterSearchText(value: string): Promise<void> {\n return (await this.#getSearchHarness()).enterText(value);\n }\n\n /**\n * Selects multiple search results based on a set of criteria.\n */\n public async selectSearchResult(\n filters?: SkyLookupShowMorePickerSearchResultHarnessFilters\n ): Promise<void> {\n const harnesses = await this.getSearchResults(filters);\n\n if (await this.isMultiselect()) {\n for (const harness of harnesses) {\n await harness.select();\n }\n } else {\n // Click on the item directly because we've added a custom click event in the picker's template.\n await (await harnesses[0].host()).click();\n }\n }\n\n /**\n * Saves any selections made and closes the picker.\n */\n public async saveAndClose(): Promise<void> {\n return (await this.#getSaveButton()).click();\n }\n\n /**\n * Closes the picker without saving any selections made.\n */\n public async cancel(): Promise<void> {\n return (await this.#getCancelButton()).click();\n }\n\n /**\n * Gets a list of search results.\n */\n public async getSearchResults(\n filters?: SkyLookupShowMorePickerSearchResultHarnessFilters\n ): Promise<SkyLookupShowMorePickerSearchResultHarness[]> {\n const pickerId = (await (await this.host()).getAttribute('id')) as string;\n\n const harnesses = await this.locatorForAll(\n SkyRepeaterItemHarness.with({\n ...(filters || {}),\n ancestor: `#${pickerId}`,\n })\n )();\n\n if (filters && harnesses.length === 0) {\n throw new Error(\n `Could not find search results in the picker matching filter(s): ${JSON.stringify(\n filters\n )}`\n );\n }\n\n return harnesses;\n }\n\n /**\n * Clears all selections made.\n */\n public async clearAll(): Promise<void> {\n const button = await this.#getClearAllButton();\n if (!button) {\n throw new Error(\n 'Could not clear all selections because the \"Clear all\" button could not be found.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Whether the picker is configured to allow multiple selections.\n */\n public async isMultiselect(): Promise<boolean> {\n return !(await (\n await this.host()\n ).hasClass('sky-lookup-show-more-modal-single'));\n }\n\n /**\n * Selects all search results.\n */\n public async selectAll(): Promise<void> {\n const button = await this.#getSelectAllButton();\n if (!button) {\n throw new Error(\n 'Could not select all selections because the \"Select all\" button could not be found.'\n );\n }\n\n await button.click();\n }\n\n /**\n * Loads more results in the picker.\n */\n public async loadMore(): Promise<void> {\n return (await this.#getInfiniteScroll()).loadMore();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyAutocompleteHarness } from '../autocomplete/autocomplete-harness';\n\nimport { SkyLookupHarnessFilters } from './lookup-harness-filters';\nimport { SkyLookupSelectionHarness } from './lookup-selection-harness';\nimport { SkyLookupSelectionsListHarness } from './lookup-selections-list-harness';\nimport { SkyLookupShowMorePickerHarness } from './lookup-show-more-picker-harness';\n\n/**\n * Harness for interacting with a lookup component in tests.\n * @internal\n */\nexport class SkyLookupHarness extends SkyAutocompleteHarness {\n /**\n * Finds a standard lookup component, or a lookup component that is wrapped by an input box component.\n * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-lookup`\n * element is removed from the DOM.\n * @internal\n */\n public static hostSelector = 'sky-lookup,.sky-input-box';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getAutocompleteHarness = this.locatorFor(SkyAutocompleteHarness);\n\n #getSelectionsListHarness = this.locatorFor(SkyLookupSelectionsListHarness);\n\n #getWrapper = this.locatorFor('.sky-lookup');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLookupHarnessFilters\n ): HarnessPredicate<SkyLookupHarness> {\n return SkyLookupHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the \"Add\" button on the search results panel.\n */\n public async clickAddButton(): Promise<void> {\n await this.focus();\n await super.clickAddButton();\n }\n\n /**\n * Clicks the \"Show more\" button on the search results panel.\n */\n public async clickShowMoreButton(): Promise<void> {\n await this.focus();\n await super.clickShowMoreButton();\n }\n\n /**\n * Dismisses the selections made with a multiselect lookup.\n */\n public async dismissSelections(): Promise<void> {\n return (await this.#getSelectionsListHarness()).dismissSelections();\n }\n\n /**\n * Gets the \"Show more\" picker harness.\n */\n public async getShowMorePicker(): Promise<SkyLookupShowMorePickerHarness> {\n const pickerId = await (\n await (await this.#getAutocompleteHarness()).host()\n ).getAttribute('data-sky-lookup-show-more-picker-id');\n\n const defaultPicker = await this.#documentRootLocator.locatorForOptional(\n SkyLookupShowMorePickerHarness.with({ selector: `#${pickerId}` })\n )();\n\n if (!defaultPicker) {\n throw new Error(\n 'Cannot get the \"Show more\" picker because it is not open.'\n );\n }\n\n return defaultPicker;\n }\n\n /**\n * Gets a list of selections made with a multiselect lookup.\n */\n public async getSelections(): Promise<SkyLookupSelectionHarness[]> {\n return (await this.#getSelectionsListHarness()).getSelections();\n }\n\n /**\n * Gets the text content of all selections made with a multiselect lookup.\n */\n public async getSelectionsText(): Promise<string[]> {\n return (await this.#getSelectionsListHarness()).getSelectionsText();\n }\n\n /**\n * Whether the lookup allows for multiple selections.\n */\n public async isMultiselect(): Promise<boolean> {\n return !(await (await this.#getWrapper()).hasClass('sky-lookup-single'));\n }\n}\n","import { SkyTokenHarness } from '@skyux/indicators/testing';\n\n/**\n * Harness for interacting with a multiselect lookup selection in tests.\n * @internal\n */\nexport class SkyLookupSelectionHarness extends SkyTokenHarness {}\n","import { SkyRepeaterItemHarness } from '@skyux/lists/testing';\n\n/**\n * Harness for interacting with a lookup's \"Show more\" picker search results in tests.\n * @internal\n */\nexport class SkyLookupShowMorePickerSearchResultHarness extends SkyRepeaterItemHarness {}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX search component.\n * @deprecated Use `SkySearchHarness` instead.\n * @internal\n */\nexport class SkySearchFixture {\n /**\n * Gets the search's current text.\n */\n public get searchText(): string {\n return this.getInputEl().nativeElement.value;\n }\n\n /**\n * Gets the search's current placeholder text.\n */\n public get placeholderText(): string {\n return this.getInputEl().nativeElement.placeholder;\n }\n\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-search'\n );\n }\n\n /**\n * Applies the specified search text, invoking the search.\n * @param searchText The search text to apply. If none is specified, the search's\n * current search text will be applied.\n */\n public apply(searchText?: string) {\n if (searchText) {\n SkyAppTestUtility.setInputValue(\n this.getInputEl().nativeElement,\n searchText\n );\n }\n\n const btnEl = this.getApplyBtnEl();\n\n btnEl.triggerEventHandler('click', {});\n }\n\n /**\n * Clears the current search text. If there is no search text or the search text is\n * not currently applied, an error is thrown.\n */\n public clear() {\n const clearEl = this.debugEl.query(By.css('.sky-input-group-clear'));\n\n if (!SkyAppTestUtility.isVisible(clearEl)) {\n throw new Error(\n 'There currently is no search text or the current search text has not been applied, ' +\n 'so the clear button is not visible.'\n );\n }\n\n const btnEl = this.getClearBtnEl();\n\n btnEl.triggerEventHandler('click', {});\n }\n\n private getApplyBtnEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-btn-apply'));\n }\n\n private getClearBtnEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-btn-clear'));\n }\n\n private getInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-search-input'));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkySearchModule } from '@skyux/lookup';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [NoopAnimationsModule, SkySearchModule],\n})\nexport class SkySearchTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/lookup",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.20.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -46,15 +46,15 @@
|
|
|
46
46
|
"@angular/core": "^13.3.2",
|
|
47
47
|
"@angular/forms": "^13.3.2",
|
|
48
48
|
"@angular/platform-browser": "^13.3.2",
|
|
49
|
-
"@skyux-sdk/testing": "6.
|
|
50
|
-
"@skyux/core": "6.
|
|
51
|
-
"@skyux/forms": "6.
|
|
52
|
-
"@skyux/i18n": "6.
|
|
53
|
-
"@skyux/indicators": "6.
|
|
54
|
-
"@skyux/layout": "6.
|
|
55
|
-
"@skyux/lists": "6.
|
|
56
|
-
"@skyux/modals": "6.
|
|
57
|
-
"@skyux/theme": "6.
|
|
49
|
+
"@skyux-sdk/testing": "6.20.0",
|
|
50
|
+
"@skyux/core": "6.20.0",
|
|
51
|
+
"@skyux/forms": "6.20.0",
|
|
52
|
+
"@skyux/i18n": "6.20.0",
|
|
53
|
+
"@skyux/indicators": "6.20.0",
|
|
54
|
+
"@skyux/layout": "6.20.0",
|
|
55
|
+
"@skyux/lists": "6.20.0",
|
|
56
|
+
"@skyux/modals": "6.20.0",
|
|
57
|
+
"@skyux/theme": "6.20.0"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"intl-tel-input": "17.0.16",
|
|
@@ -28,7 +28,7 @@ export declare class SkyAutocompleteSearchResultHarness extends ComponentHarness
|
|
|
28
28
|
*/
|
|
29
29
|
select(): Promise<void>;
|
|
30
30
|
/**
|
|
31
|
-
* Returns the text
|
|
31
|
+
* Returns the text of the search result.
|
|
32
32
|
*/
|
|
33
|
-
|
|
33
|
+
getText(): Promise<string>;
|
|
34
34
|
}
|