Skip to content
This repository was archived by the owner on Jan 13, 2025. It is now read-only.

Commit 3c44cd9

Browse files
codrcopybara-github
authored andcommitted
refactor: update tests to use .toHaveClass matchers
PiperOrigin-RevId: 554523206
1 parent bc9ae6c commit 3c44cd9

File tree

32 files changed

+142
-176
lines changed

32 files changed

+142
-176
lines changed

packages/mdc-banner/test/component.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,13 @@ describe('MDCBanner', () => {
152152
component.listen(events.OPENED, openedHandler);
153153
component.open();
154154
expect(openingHandler).toHaveBeenCalled();
155-
expect(fixture.classList.contains(cssClasses.OPENING)).toBe(true);
156-
expect(fixture.classList.contains(cssClasses.CLOSING)).toBe(false);
155+
expect(fixture).toHaveClass(cssClasses.OPENING);
156+
expect(fixture).not.toHaveClass(cssClasses.CLOSING);
157157
jasmine.clock().tick(1);
158-
expect(fixture.classList.contains(cssClasses.OPEN)).toBe(true);
158+
expect(fixture).toHaveClass(cssClasses.OPEN);
159159
jasmine.clock().tick(numbers.BANNER_ANIMATION_OPEN_TIME_MS);
160160
expect(openedHandler).toHaveBeenCalled();
161-
expect(fixture.classList.contains(cssClasses.OPENING)).toBe(false);
161+
expect(fixture).not.toHaveClass(cssClasses.OPENING);
162162
component.unlisten(events.OPENING, openingHandler);
163163
component.unlisten(events.OPENED, openedHandler);
164164
});
@@ -174,12 +174,12 @@ describe('MDCBanner', () => {
174174
component.listen(events.CLOSED, closedHandler);
175175
component.close(CloseReason.UNSPECIFIED);
176176
expect(closingHandler).toHaveBeenCalled();
177-
expect(fixture.classList.contains(cssClasses.CLOSING)).toBe(true);
178-
expect(fixture.classList.contains(cssClasses.OPEN)).toBe(false);
179-
expect(fixture.classList.contains(cssClasses.OPENING)).toBe(false);
177+
expect(fixture).toHaveClass(cssClasses.CLOSING);
178+
expect(fixture).not.toHaveClass(cssClasses.OPEN);
179+
expect(fixture).not.toHaveClass(cssClasses.OPENING);
180180
jasmine.clock().tick(numbers.BANNER_ANIMATION_CLOSE_TIME_MS);
181181
expect(closedHandler).toHaveBeenCalled();
182-
expect(fixture.classList.contains(cssClasses.CLOSING)).toBe(false);
182+
expect(fixture).not.toHaveClass(cssClasses.CLOSING);
183183
component.unlisten(events.CLOSING, closingHandler);
184184
component.unlisten(events.CLOSED, closedHandler);
185185
});

packages/mdc-checkbox/test/component.test.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,15 @@ describe('MDCCheckbox', () => {
7575
it('#constructor initializes the root element with a ripple', () => {
7676
const {root} = setupTest();
7777
jasmine.clock().tick(1);
78-
expect(root.classList.contains('mdc-ripple-upgraded')).toBeTruthy();
78+
expect(root).toHaveClass('mdc-ripple-upgraded');
7979
});
8080

8181
it('#destroy removes the ripple', () => {
8282
const {root, component} = setupTest();
8383
jasmine.clock().tick(1);
8484
component.destroy();
8585
jasmine.clock().tick(1);
86-
expect(root.classList.contains('mdc-ripple-upgraded')).toBeFalsy();
86+
expect(root).not.toHaveClass('mdc-ripple-upgraded');
8787
});
8888

8989
it('(regression) activates ripple on keydown when the input element surface is active',
@@ -96,13 +96,11 @@ describe('MDCCheckbox', () => {
9696
fakeMatches.and.returnValue(true);
9797
input.matches = fakeMatches;
9898

99-
expect(root.classList.contains('mdc-ripple-upgraded')).toBe(true);
99+
expect(root).toHaveClass('mdc-ripple-upgraded');
100100
emitEvent(input, 'keydown');
101101
jasmine.clock().tick(1);
102102

103-
expect(root.classList.contains(
104-
'mdc-ripple-upgraded--foreground-activation'))
105-
.toBe(true);
103+
expect(root).toHaveClass('mdc-ripple-upgraded--foreground-activation');
106104
});
107105
}
108106

@@ -208,14 +206,14 @@ describe('MDCCheckbox', () => {
208206
it('adapter#addClass adds a class to the root element', () => {
209207
const {root, component} = setupTest();
210208
(component.getDefaultFoundation() as any).adapter.addClass('foo');
211-
expect(root.classList.contains('foo')).toBeTruthy();
209+
expect(root).toHaveClass('foo');
212210
});
213211

214212
it('adapter#removeClass removes a class from the root element', () => {
215213
const {root, component} = setupTest();
216214
root.classList.add('foo');
217215
(component.getDefaultFoundation() as any).adapter.removeClass('foo');
218-
expect(root.classList.contains('foo')).toBeFalsy();
216+
expect(root).not.toHaveClass('foo');
219217
});
220218

221219
it('adapter#setNativeControlAttr sets an attribute on the input element',

packages/mdc-chips/chip-set/test/component.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,6 @@ describe('MDCChipSet', () => {
563563

564564
const chip0 = root.querySelector<HTMLElement>('#c0')!;
565565
component.addChip(0);
566-
expect(chip0.classList.contains(MDCChipCssClasses.ENTER)).toBeTrue();
566+
expect(chip0).toHaveClass(MDCChipCssClasses.ENTER);
567567
});
568568
});

packages/mdc-chips/chip/test/component.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,6 @@ describe('MDCChipAction', () => {
272272
});
273273

274274
component.startAnimation(MDCChipAnimation.ENTER);
275-
expect(root.classList.contains(MDCChipCssClasses.ENTER)).toBeTrue();
275+
expect(root).toHaveClass(MDCChipCssClasses.ENTER);
276276
});
277277
});

packages/mdc-chips/deprecated/chip/test/component.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,14 +242,14 @@ describe('MDCChip', () => {
242242
it('adapter#addClass adds a class to the root element', () => {
243243
const {root, component} = setupTest();
244244
(component.getDefaultFoundation() as any).adapter.addClass('foo');
245-
expect(root.classList.contains('foo')).toBe(true);
245+
expect(root).toHaveClass('foo');
246246
});
247247

248248
it('adapter#removeClass removes a class from the root element', () => {
249249
const {root, component} = setupTest();
250250
root.classList.add('foo');
251251
(component.getDefaultFoundation() as any).adapter.removeClass('foo');
252-
expect(root.classList.contains('foo')).toBe(false);
252+
expect(root).not.toHaveClass('foo');
253253
});
254254

255255
it('adapter#addClassToLeadingIcon adds a class to the leading icon element',
@@ -260,7 +260,7 @@ describe('MDCChip', () => {
260260

261261
(component.getDefaultFoundation() as any)
262262
.adapter.addClassToLeadingIcon('foo');
263-
expect(leadingIcon.classList.contains('foo')).toBe(true);
263+
expect(leadingIcon).toHaveClass('foo');
264264
});
265265

266266
it('adapter#addClassToLeadingIcon does nothing if no leading icon element is present',
@@ -281,7 +281,7 @@ describe('MDCChip', () => {
281281
leadingIcon.classList.add('foo');
282282
(component.getDefaultFoundation() as any)
283283
.adapter.removeClassFromLeadingIcon('foo');
284-
expect(leadingIcon.classList.contains('foo')).toBe(false);
284+
expect(leadingIcon).not.toHaveClass('foo');
285285
});
286286

287287
it('adapter#removeClassFromLeadingIcon does nothing if no leading icon element is present',

packages/mdc-circular-progress/test/component.test.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,7 @@ describe('MDCCircularProgress', () => {
129129
const {root, component} = setupTest();
130130

131131
component.determinate = false;
132-
expect(root.classList.contains('mdc-circular-progress--indeterminate'))
133-
.toBeTruthy();
132+
expect(root).toHaveClass('mdc-circular-progress--indeterminate');
134133
expect(
135134
root.getAttribute(MDCCircularProgressFoundation.strings.ARIA_VALUENOW))
136135
.toEqual(null);
@@ -157,13 +156,11 @@ describe('MDCCircularProgress', () => {
157156
const {root, component} = setupTest();
158157

159158
component.close();
160-
expect(root.classList.contains('mdc-circular-progress--closed'))
161-
.toBeTruthy();
159+
expect(root).toHaveClass('mdc-circular-progress--closed');
162160
expect(component.isClosed).toBe(true);
163161

164162
component.open();
165-
expect(root.classList.contains('mdc-circular-progress--closed'))
166-
.toBeFalsy();
163+
expect(root).not.toHaveClass('mdc-circular-progress--closed');
167164
expect(component.isClosed).toBe(false);
168165
});
169166
});

packages/mdc-data-table/test/component.test.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -352,8 +352,7 @@ describe('MDCDataTable', () => {
352352
const {component, adapter} = setupTest();
353353

354354
adapter.addClassAtRowIndex(1, 'test-class-name');
355-
expect(component.getRows()[1].classList.contains('test-class-name'))
356-
.toBe(true);
355+
expect(component.getRows()[1]).toHaveClass('test-class-name');
357356

358357
component.destroy();
359358
});
@@ -364,9 +363,7 @@ describe('MDCDataTable', () => {
364363

365364
adapter.addClassAtRowIndex(1, 'test-remove-class-name');
366365
adapter.removeClassAtRowIndex(1, 'test-remove-class-name');
367-
expect(
368-
component.getRows()[1].classList.contains('test-remove-class-name'))
369-
.toBe(false);
366+
expect(component.getRows()[1]).not.toHaveClass('test-remove-class-name');
370367

371368
component.destroy();
372369
});
@@ -778,7 +775,7 @@ describe('MDCDataTable', () => {
778775

779776
component.showProgress();
780777
expect(progressIndicator!.style.cssText).toMatch(/(height|top)/);
781-
expect(root.classList.contains(cssClasses.IN_PROGRESS)).toBe(true);
778+
expect(root).toHaveClass(cssClasses.IN_PROGRESS);
782779

783780
destroyProgress(component, root);
784781
component.destroy();
@@ -789,7 +786,7 @@ describe('MDCDataTable', () => {
789786

790787
component.showProgress();
791788
component.hideProgress();
792-
expect(root.classList.contains(cssClasses.IN_PROGRESS)).toBe(false);
789+
expect(root).not.toHaveClass(cssClasses.IN_PROGRESS);
793790

794791
destroyProgress(component, root);
795792
component.destroy();

packages/mdc-dialog/test/component.test.ts

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,9 @@ describe('MDCDialog', () => {
182182
const {yesButton, noButton, cancelButton} = setupTest();
183183
jasmine.clock().tick(1);
184184

185-
expect(yesButton.classList.contains('mdc-ripple-upgraded')).toBe(true);
186-
expect(noButton.classList.contains('mdc-ripple-upgraded')).toBe(true);
187-
expect(cancelButton.classList.contains('mdc-ripple-upgraded')).toBe(true);
185+
expect(yesButton).toHaveClass('mdc-ripple-upgraded');
186+
expect(noButton).toHaveClass('mdc-ripple-upgraded');
187+
expect(cancelButton).toHaveClass('mdc-ripple-upgraded');
188188
});
189189

190190
it('#destroy cleans up all ripples on footer buttons', () => {
@@ -198,9 +198,9 @@ describe('MDCDialog', () => {
198198
component.destroy();
199199
jasmine.clock().tick(1);
200200

201-
expect(yesButton.classList.contains('mdc-ripple-upgraded')).toBe(false);
202-
expect(noButton.classList.contains('mdc-ripple-upgraded')).toBe(false);
203-
expect(cancelButton.classList.contains('mdc-ripple-upgraded')).toBe(false);
201+
expect(yesButton).not.toHaveClass('mdc-ripple-upgraded');
202+
expect(noButton).not.toHaveClass('mdc-ripple-upgraded');
203+
expect(cancelButton).not.toHaveClass('mdc-ripple-upgraded');
204204
});
205205

206206
it('#open forwards to MDCDialogFoundation#open', () => {
@@ -297,7 +297,7 @@ describe('MDCDialog', () => {
297297
jasmine.clock().tick(1);
298298
jasmine.clock().tick(1);
299299

300-
expect(root.classList.contains('mdc-dialog--scrollable')).toBe(true);
300+
expect(root).toHaveClass('mdc-dialog--scrollable');
301301
} finally {
302302
document.body.removeChild(fixture);
303303
}
@@ -306,14 +306,14 @@ describe('MDCDialog', () => {
306306
it('adapter#addClass adds a class to the root element', () => {
307307
const {root, component} = setupTest();
308308
(component.getDefaultFoundation() as any).adapter.addClass('foo');
309-
expect(root.classList.contains('foo')).toBe(true);
309+
expect(root).toHaveClass('foo');
310310
});
311311

312312
it('adapter#removeClass removes a class from the root element', () => {
313313
const {root, component} = setupTest();
314314
root.classList.add('foo');
315315
(component.getDefaultFoundation() as any).adapter.removeClass('foo');
316-
expect(root.classList.contains('foo')).toBe(false);
316+
expect(root).not.toHaveClass('foo');
317317
});
318318

319319
it('adapter#hasClass returns whether a class exists on the root element',
@@ -331,9 +331,8 @@ describe('MDCDialog', () => {
331331
const {component} = setupTest();
332332
(component.getDefaultFoundation() as any)
333333
.adapter.addBodyClass('mdc-dialog--scroll-lock');
334-
expect((document.querySelector<HTMLElement>('body')!
335-
).classList.contains('mdc-dialog--scroll-lock'))
336-
.toBe(true);
334+
expect((document.querySelector<HTMLElement>('body')!))
335+
.toHaveClass('mdc-dialog--scroll-lock');
337336
});
338337

339338
it('adapter#removeBodyClass removes a class from the body', () => {
@@ -343,7 +342,7 @@ describe('MDCDialog', () => {
343342
body.classList.add('mdc-dialog--scroll-lock');
344343
(component.getDefaultFoundation() as any)
345344
.adapter.removeBodyClass('mdc-dialog--scroll-lock');
346-
expect(body.classList.contains('mdc-dialog--scroll-lock')).toBe(false);
345+
expect(body).not.toHaveClass('mdc-dialog--scroll-lock');
347346
});
348347

349348
it('adapter#eventTargetMatches returns whether or not the target matches the selector',

packages/mdc-drawer/test/component.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,15 +222,15 @@ describe('MDCDrawer', () => {
222222
it('adapter#addClass adds class to drawer', () => {
223223
const {component, drawer} = setupTest();
224224
(component.getDefaultFoundation() as any).adapter.addClass('test-class');
225-
expect(drawer.classList.contains('test-class')).toBe(true);
225+
expect(drawer).toHaveClass('test-class');
226226
});
227227

228228
it('adapter#removeClass removes class from drawer', () => {
229229
const {component, drawer} = setupTest();
230230
(component.getDefaultFoundation() as any).adapter.addClass('test-class');
231231

232232
(component.getDefaultFoundation() as any).adapter.removeClass('test-class');
233-
expect(drawer.classList.contains('test-class')).toBe(false);
233+
expect(drawer).not.toHaveClass('test-class');
234234
});
235235

236236
it('adapter#hasClass returns true when class is on drawer element', () => {

packages/mdc-floating-label/test/component.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,14 @@ describe('MDCFloatingLabel', () => {
7070
it('#adapter.addClass adds a class to the element', () => {
7171
const {root, component} = setupTest();
7272
(component.getDefaultFoundation() as any).adapter.addClass('foo');
73-
expect(root.classList.contains('foo')).toBe(true);
73+
expect(root).toHaveClass('foo');
7474
});
7575

7676
it('#adapter.removeClass removes a class from the element', () => {
7777
const {root, component} = setupTest();
7878
root.classList.add('foo');
7979
(component.getDefaultFoundation() as any).adapter.removeClass('foo');
80-
expect(root.classList.contains('foo')).toBe(false);
80+
expect(root).not.toHaveClass('foo');
8181
});
8282

8383
it('#adapter.hasClass returns presence of a class', () => {

0 commit comments

Comments
 (0)