File tree Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -77,6 +77,22 @@ const await_event = (el, event_name) => {
7777 ) ;
7878} ;
7979
80+ /**
81+ * Await pattern init.
82+ *
83+ * Usage:
84+ * await events.await_pattern_init(PATTERN);
85+ *
86+ * @param {Pattern instance } pattern - The pattern instance.
87+ *
88+ * @returns {Promise } - Returns a Promise which can be used for ``await`` and which will be resolved when the event is throwm.
89+ *
90+ */
91+ const await_pattern_init = ( pattern ) => {
92+ // See: https://stackoverflow.com/a/44746691/1337474
93+ return new Promise ( ( resolve ) => pattern . one ( "init" , resolve ) ) ;
94+ } ;
95+
8096/**
8197 * Event factories
8298 */
@@ -120,6 +136,7 @@ export default {
120136 add_event_listener : add_event_listener ,
121137 remove_event_listener : remove_event_listener ,
122138 await_event : await_event ,
139+ await_pattern_init : await_pattern_init ,
123140 click_event : click_event ,
124141 change_event : change_event ,
125142 input_event : input_event ,
Original file line number Diff line number Diff line change 1+ import Base from "./base" ;
12import events from "./events" ;
23import utils from "./utils" ;
34
@@ -60,6 +61,22 @@ describe("core.events tests", () => {
6061 // If test reaches this expect statement, all is fine.
6162 expect ( true ) . toBe ( true ) ;
6263 } ) ;
64+
65+ it ( "Awaits a pattern to be initialized" , async ( ) => {
66+ const pat = Base . extend ( {
67+ name : "tmp" ,
68+ trigger : ".pat-tmp" ,
69+ init : function ( ) { } ,
70+ } ) ;
71+
72+ const el = document . createElement ( "div" ) ;
73+ const instance = new pat ( el ) ;
74+
75+ await events . await_pattern_init ( instance ) ;
76+
77+ // If test reaches this expect statement, all is fine.
78+ expect ( true ) . toBe ( true ) ;
79+ } ) ;
6380 } ) ;
6481
6582 describe ( "2 - event factories" , ( ) => {
You can’t perform that action at this time.
0 commit comments