@@ -45,7 +45,9 @@ describe('icons', () => {
4545 expect ( wrapper . attributes ( 'height' ) ) . toBe ( '1em' )
4646 expect ( wrapper . attributes ( 'viewBox' ) ) . toBe ( '0 0 20 20' )
4747 expect ( wrapper . attributes ( 'fill' ) ) . toBe ( 'currentColor' )
48- expect ( wrapper . find ( 'path' ) . exists ( ) ) . toBe ( true )
48+ expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
49+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . not . toBeDefined ( )
50+ expect ( wrapper . find ( 'svg > g > path' ) . exists ( ) ) . toBe ( true )
4951 } )
5052
5153 it ( 'b-icon with empty icon name renders BIconBlank' , async ( ) => {
@@ -81,6 +83,8 @@ describe('icons', () => {
8183 expect ( wrapper . exists ( ) ) . toBe ( true )
8284 expect ( wrapper . text ( ) ) . toBe ( '' )
8385 expect ( wrapper . is ( 'svg' ) ) . toBe ( true )
86+ expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
87+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . not . toBeDefined ( )
8488 expect ( wrapper . find ( 'svg > g' ) . isEmpty ( ) ) . toBe ( true )
8589 } )
8690
@@ -98,6 +102,8 @@ describe('icons', () => {
98102 expect ( wrapper . classes ( ) ) . toContain ( 'bi' )
99103 expect ( wrapper . classes ( ) ) . toContain ( 'bi-blank' )
100104 expect ( wrapper . classes ( ) . length ) . toBe ( 3 )
105+ expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
106+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . not . toBeDefined ( )
101107 expect ( wrapper . find ( 'svg > g' ) . isEmpty ( ) ) . toBe ( true )
102108 } )
103109
@@ -121,6 +127,8 @@ describe('icons', () => {
121127 expect ( wrapper . attributes ( 'role' ) ) . toBe ( 'img' )
122128 expect ( wrapper . attributes ( 'alt' ) ) . toBe ( 'icon' )
123129 expect ( wrapper . attributes ( 'focusable' ) ) . toBe ( 'false' )
130+ expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
131+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . not . toBeDefined ( )
124132 expect ( wrapper . find ( 'path' ) . exists ( ) ) . toBe ( true )
125133 } )
126134
@@ -140,6 +148,96 @@ describe('icons', () => {
140148 expect ( wrapper . classes ( ) ) . toContain ( 'bi-fake-icon-test' )
141149 expect ( wrapper . classes ( ) . length ) . toBe ( 3 )
142150 expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
151+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . not . toBeDefined ( )
143152 expect ( wrapper . find ( 'svg > g > path.fake-path' ) . exists ( ) ) . toBe ( true )
144153 } )
154+
155+ it ( 'b-icon rotate prop works' , async ( ) => {
156+ const wrapper = mount ( BIcon , {
157+ localVue : localVue ,
158+ parentComponent : parentComponent ,
159+ propsData : {
160+ icon : 'alert-circle-fill' ,
161+ rotate : '45'
162+ }
163+ } )
164+
165+ expect ( wrapper . exists ( ) ) . toBe ( true )
166+ expect ( wrapper . is ( 'svg' ) ) . toBe ( true )
167+ expect ( wrapper . classes ( ) ) . toContain ( 'b-icon' )
168+ expect ( wrapper . classes ( ) ) . toContain ( 'bi' )
169+ expect ( wrapper . classes ( ) ) . toContain ( 'bi-alert-circle-fill' )
170+ expect ( wrapper . classes ( ) . length ) . toBe ( 3 )
171+ expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
172+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . toBeDefined ( )
173+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . toEqual ( 'translate(10 10) rotate(45) translate(-10 -10)' )
174+ expect ( wrapper . find ( 'svg > g > path' ) . exists ( ) ) . toBe ( true )
175+ } )
176+
177+ it ( 'b-icon flip-h prop works' , async ( ) => {
178+ const wrapper = mount ( BIcon , {
179+ localVue : localVue ,
180+ parentComponent : parentComponent ,
181+ propsData : {
182+ icon : 'alert-circle-fill' ,
183+ flipH : true
184+ }
185+ } )
186+
187+ expect ( wrapper . exists ( ) ) . toBe ( true )
188+ expect ( wrapper . is ( 'svg' ) ) . toBe ( true )
189+ expect ( wrapper . classes ( ) ) . toContain ( 'b-icon' )
190+ expect ( wrapper . classes ( ) ) . toContain ( 'bi' )
191+ expect ( wrapper . classes ( ) ) . toContain ( 'bi-alert-circle-fill' )
192+ expect ( wrapper . classes ( ) . length ) . toBe ( 3 )
193+ expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
194+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . toBeDefined ( )
195+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . toEqual ( 'translate(10 10) scale(-1 1) translate(-10 -10)' )
196+ expect ( wrapper . find ( 'svg > g > path' ) . exists ( ) ) . toBe ( true )
197+ } )
198+
199+ it ( 'b-icon flip-v prop works' , async ( ) => {
200+ const wrapper = mount ( BIcon , {
201+ localVue : localVue ,
202+ parentComponent : parentComponent ,
203+ propsData : {
204+ icon : 'alert-circle-fill' ,
205+ flipV : true
206+ }
207+ } )
208+
209+ expect ( wrapper . exists ( ) ) . toBe ( true )
210+ expect ( wrapper . is ( 'svg' ) ) . toBe ( true )
211+ expect ( wrapper . classes ( ) ) . toContain ( 'b-icon' )
212+ expect ( wrapper . classes ( ) ) . toContain ( 'bi' )
213+ expect ( wrapper . classes ( ) ) . toContain ( 'bi-alert-circle-fill' )
214+ expect ( wrapper . classes ( ) . length ) . toBe ( 3 )
215+ expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
216+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . toBeDefined ( )
217+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . toEqual ( 'translate(10 10) scale(1 -1) translate(-10 -10)' )
218+ expect ( wrapper . find ( 'svg > g > path' ) . exists ( ) ) . toBe ( true )
219+ } )
220+
221+ it ( 'b-icon flip-h prop works with flip-v prop' , async ( ) => {
222+ const wrapper = mount ( BIcon , {
223+ localVue : localVue ,
224+ parentComponent : parentComponent ,
225+ propsData : {
226+ icon : 'alert-circle-fill' ,
227+ flipH : true ,
228+ flipV : true
229+ }
230+ } )
231+
232+ expect ( wrapper . exists ( ) ) . toBe ( true )
233+ expect ( wrapper . is ( 'svg' ) ) . toBe ( true )
234+ expect ( wrapper . classes ( ) ) . toContain ( 'b-icon' )
235+ expect ( wrapper . classes ( ) ) . toContain ( 'bi' )
236+ expect ( wrapper . classes ( ) ) . toContain ( 'bi-alert-circle-fill' )
237+ expect ( wrapper . classes ( ) . length ) . toBe ( 3 )
238+ expect ( wrapper . find ( 'svg > g' ) . exists ( ) ) . toBe ( true )
239+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . toBeDefined ( )
240+ expect ( wrapper . find ( 'svg > g' ) . attributes ( 'transform' ) ) . toEqual ( 'translate(10 10) scale(-1 -1) translate(-10 -10)' )
241+ expect ( wrapper . find ( 'svg > g > path' ) . exists ( ) ) . toBe ( true )
242+ } )
145243} )
0 commit comments