@@ -136,6 +136,59 @@ describe('v-b-tooltip directive', () => {
136136 wrapper . destroy ( )
137137 } )
138138
139+ it ( 'should nowshow tooltip when title is empty' , async ( ) => {
140+ jest . useFakeTimers ( )
141+ const localVue = new CreateLocalVue ( )
142+
143+ const App = localVue . extend ( {
144+ directives : {
145+ bTooltip : VBTooltip
146+ } ,
147+ template : '<button v-b-tooltip.click title="">button</button>'
148+ } )
149+
150+ const wrapper = mount ( App , {
151+ localVue : localVue ,
152+ attachToDocument : true
153+ } )
154+
155+ expect ( wrapper . isVueInstance ( ) ) . toBe ( true )
156+ await waitNT ( wrapper . vm )
157+ await waitRAF ( )
158+ await waitNT ( wrapper . vm )
159+ await waitRAF ( )
160+ await waitNT ( wrapper . vm )
161+ await waitRAF ( )
162+ jest . runOnlyPendingTimers ( )
163+ await waitNT ( wrapper . vm )
164+ await waitRAF ( )
165+
166+ expect ( wrapper . is ( 'button' ) ) . toBe ( true )
167+ const $button = wrapper . find ( 'button' )
168+
169+ // Should have instance of popover class on it
170+ expect ( $button . element [ BV_TOOLTIP ] ) . toBeDefined ( )
171+ expect ( $button . element [ BV_TOOLTIP ] ) . toBeInstanceOf ( BVTooltip )
172+
173+ expect ( $button . attributes ( 'aria-describedby' ) ) . not . toBeDefined ( )
174+
175+ // Trigger click
176+ $button . trigger ( 'click' )
177+ await waitNT ( wrapper . vm )
178+ await waitRAF ( )
179+ await waitNT ( wrapper . vm )
180+ await waitRAF ( )
181+ await waitNT ( wrapper . vm )
182+ await waitRAF ( )
183+ jest . runOnlyPendingTimers ( )
184+ await waitNT ( wrapper . vm )
185+ await waitRAF ( )
186+
187+ expect ( $button . attributes ( 'aria-describedby' ) ) . not . toBeDefined ( )
188+
189+ wrapper . destroy ( )
190+ } )
191+
139192 it ( 'variant and customClass should work' , async ( ) => {
140193 jest . useFakeTimers ( )
141194 const localVue = new CreateLocalVue ( )
0 commit comments