Skip to content

Commit 83dbaf0

Browse files
committed
add tests
1 parent a06b76c commit 83dbaf0

File tree

1 file changed

+66
-32
lines changed

1 file changed

+66
-32
lines changed

src/lib/input/input-container.spec.ts

Lines changed: 66 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import {async, TestBed, inject, ComponentFixture} from '@angular/core/testing';
1+
import {async, ComponentFixture, inject, TestBed} from '@angular/core/testing';
22
import {Component, ViewChild} from '@angular/core';
33
import {
4-
FormsModule,
5-
ReactiveFormsModule,
64
FormControl,
7-
NgForm,
8-
Validators,
9-
FormGroupDirective,
105
FormGroup,
6+
FormGroupDirective,
7+
FormsModule,
8+
NgForm,
9+
ReactiveFormsModule,
10+
Validators
1111
} from '@angular/forms';
1212
import {By} from '@angular/platform-browser';
1313
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
@@ -18,52 +18,53 @@ import {PlatformModule} from '../core/platform/index';
1818
import {wrappedErrorMessage} from '../core/testing/wrapped-error-message';
1919
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
2020
import {
21+
MdInputContainerDuplicatedHintError,
2122
MdInputContainerMissingMdInputError,
22-
MdInputContainerPlaceholderConflictError,
23-
MdInputContainerDuplicatedHintError
23+
MdInputContainerPlaceholderConflictError
2424
} from './input-container-errors';
2525

2626

2727
describe('MdInputContainer', function () {
2828
beforeEach(async(() => {
2929
TestBed.configureTestingModule({
3030
imports: [
31-
MdInputModule.forRoot(),
32-
PlatformModule.forRoot(),
3331
FormsModule,
32+
MdInputModule,
33+
NoopAnimationsModule,
34+
PlatformModule,
3435
ReactiveFormsModule,
35-
NoopAnimationsModule
3636
],
3737
declarations: [
38-
MdInputContainerPlaceholderRequiredTestComponent,
39-
MdInputContainerPlaceholderElementTestComponent,
40-
MdInputContainerPlaceholderAttrTestComponent,
38+
MdInputContainerBaseTestController,
39+
MdInputContainerDateTestController,
4140
MdInputContainerHintLabel2TestController,
4241
MdInputContainerHintLabelTestController,
43-
MdInputContainerInvalidTypeTestController,
44-
MdInputContainerInvalidPlaceholderTestController,
4542
MdInputContainerInvalidHint2TestController,
4643
MdInputContainerInvalidHintTestController,
47-
MdInputContainerBaseTestController,
48-
MdInputContainerWithId,
49-
MdInputContainerDateTestController,
50-
MdInputContainerTextTestController,
51-
MdInputContainerPasswordTestController,
44+
MdInputContainerInvalidPlaceholderTestController,
45+
MdInputContainerInvalidTypeTestController,
46+
MdInputContainerMissingMdInputTestController,
47+
MdInputContainerMultipleHintMixedTestController,
48+
MdInputContainerMultipleHintTestController,
5249
MdInputContainerNumberTestController,
53-
MdInputContainerZeroTestController,
54-
MdTextareaWithBindings,
50+
MdInputContainerPasswordTestController,
51+
MdInputContainerPlaceholderAttrTestComponent,
52+
MdInputContainerPlaceholderElementTestComponent,
53+
MdInputContainerPlaceholderRequiredTestComponent,
54+
MdInputContainerTextTestController,
5555
MdInputContainerWithDisabled,
56+
MdInputContainerWithDynamicPlaceholder,
57+
MdInputContainerWithFormControl,
58+
MdInputContainerWithFormErrorMessages,
59+
MdInputContainerWithFormGroupErrorMessages,
60+
MdInputContainerWithId,
61+
MdInputContainerWithPrefixAndSuffix,
5662
MdInputContainerWithRequired,
63+
MdInputContainerWithStaticPlaceholder,
5764
MdInputContainerWithType,
5865
MdInputContainerWithValueBinding,
59-
MdInputContainerWithFormControl,
60-
MdInputContainerWithStaticPlaceholder,
61-
MdInputContainerMissingMdInputTestController,
62-
MdInputContainerMultipleHintTestController,
63-
MdInputContainerMultipleHintMixedTestController,
64-
MdInputContainerWithDynamicPlaceholder,
65-
MdInputContainerWithFormErrorMessages,
66-
MdInputContainerWithFormGroupErrorMessages
66+
MdInputContainerZeroTestController,
67+
MdTextareaWithBindings,
6768
],
6869
});
6970

@@ -685,6 +686,29 @@ describe('MdInputContainer', function () {
685686

686687
});
687688

689+
it('should not have prefix and suffix elements when none are specified', () => {
690+
let fixture = TestBed.createComponent(MdInputContainerWithId);
691+
fixture.detectChanges();
692+
693+
let prefixEl = fixture.debugElement.query(By.css('.mat-input-prefix'));
694+
let suffixEl = fixture.debugElement.query(By.css('.mat-input-suffix'));
695+
696+
expect(prefixEl).toBeNull();
697+
expect(suffixEl).toBeNull();
698+
});
699+
700+
it('should add prefix and suffix elements when specified', () => {
701+
let fixture = TestBed.createComponent(MdInputContainerWithPrefixAndSuffix);
702+
fixture.detectChanges();
703+
704+
let prefixEl = fixture.debugElement.query(By.css('.mat-input-prefix'));
705+
let suffixEl = fixture.debugElement.query(By.css('.mat-input-suffix'));
706+
707+
expect(prefixEl).not.toBeNull();
708+
expect(suffixEl).not.toBeNull();
709+
expect(prefixEl.nativeElement.innerText.trim()).toEqual('Prefix');
710+
expect(suffixEl.nativeElement.innerText.trim()).toEqual('Suffix');
711+
});
688712
});
689713

690714
@Component({
@@ -927,7 +951,6 @@ class MdInputContainerWithFormErrorMessages {
927951
renderError = true;
928952
}
929953

930-
931954
@Component({
932955
template: `
933956
<form [formGroup]="formGroup" novalidate>
@@ -945,3 +968,14 @@ class MdInputContainerWithFormGroupErrorMessages {
945968
name: new FormControl('', Validators.required)
946969
});
947970
}
971+
972+
@Component({
973+
template: `
974+
<md-input-container>
975+
<div mdPrefix>Prefix</div>
976+
<input mdInput>
977+
<div mdSuffix>Suffix</div>
978+
</md-input-container>
979+
`
980+
})
981+
class MdInputContainerWithPrefixAndSuffix {}

0 commit comments

Comments
 (0)