Skip to content

Commit 778e866

Browse files
committed
test(package): fixed all specs
1 parent 317b8e4 commit 778e866

File tree

7 files changed

+131
-4
lines changed

7 files changed

+131
-4
lines changed

src/module/components/dialogs/mat-loading-dialog/mat-loading-dialog.component.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
22

33
import { MatLoadingDialog } from './mat-loading-dialog.component';
44
import {STATIC_IMPORTS} from '../test/helper';
5-
import {MatDialogRef} from '@angular/material';
5+
import {MatDialogRef, MatProgressSpinnerModule} from '@angular/material';
66

77
describe('MatLoadingDialogComponent', () => {
88
let component: MatLoadingDialog;
@@ -11,7 +11,7 @@ describe('MatLoadingDialogComponent', () => {
1111
beforeEach(async(() => {
1212
TestBed.configureTestingModule({
1313
declarations: [ MatLoadingDialog ],
14-
imports: [...STATIC_IMPORTS],
14+
imports: [...STATIC_IMPORTS, MatProgressSpinnerModule],
1515
providers: [{provide: MatDialogRef, useValue: {}}]
1616
})
1717
.compileComponents();
Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
1-
import {MatDialogModule, MatIconModule} from '@angular/material';
1+
import {
2+
MatButtonModule,
3+
MatDialogModule,
4+
MatIconModule,
5+
MatInputModule,
6+
MatProgressSpinnerModule, MatRadioModule,
7+
MatSelectModule
8+
} from '@angular/material';
29
import {FormsModule} from '@angular/forms';
10+
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
311

412
export const STATIC_IMPORTS = [
513
FormsModule,
14+
BrowserAnimationsModule,
615
MatDialogModule,
7-
MatIconModule
16+
MatIconModule,
17+
MatButtonModule,
18+
MatProgressSpinnerModule,
19+
MatInputModule,
20+
MatSelectModule,
21+
MatRadioModule
822
];
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<button mat-button
2+
class="language-button"
3+
[matMenuTriggerFor]="languageMenu">
4+
<div fxLayout="row" fxLayoutAlign="center center">
5+
<img class="flag mr-8" [src]="'assets/images/flags/'+selectedLanguage?.flag+'.png'">
6+
<span class="iso text-uppercase">{{selectedLanguage?.id}}</span>
7+
</div>
8+
</button>
9+
10+
<mat-menu #languageMenu="matMenu" [overlapTrigger]="false">
11+
12+
<button mat-menu-item *ngFor="let lang of languages" (click)="setLanguage(lang)">
13+
<span fxLayout="row" fxLayoutAlign="start center">
14+
<img class="flag mr-16" [src]="'assets/images/flags/'+lang?.flag+'.png'">
15+
<span class="iso">{{lang?.title}}</span>
16+
</span>
17+
</button>
18+
19+
</mat-menu>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
.language-button {
2+
min-width: 64px;
3+
height: 64px;
4+
}
5+
6+
button {
7+
outline: none;
8+
}
9+
10+
img {
11+
max-width: 100%;
12+
height: 16px;
13+
vertical-align: top;
14+
border: none;
15+
margin-right: 8px;
16+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import {async, ComponentFixture, TestBed} from '@angular/core/testing';
2+
3+
import {MatLanguageMenuComponent} from './mat-language-menu.component';
4+
import {FlexLayoutModule} from '@angular/flex-layout';
5+
import {MatButtonModule, MatMenuModule} from '@angular/material';
6+
7+
describe('MatLanguageMenuComponent', () => {
8+
let component: MatLanguageMenuComponent;
9+
let fixture: ComponentFixture<MatLanguageMenuComponent>;
10+
11+
beforeEach(async(() => {
12+
TestBed.configureTestingModule({
13+
declarations: [MatLanguageMenuComponent],
14+
imports: [FlexLayoutModule, MatButtonModule, MatMenuModule]
15+
})
16+
.compileComponents();
17+
}));
18+
19+
beforeEach(() => {
20+
fixture = TestBed.createComponent(MatLanguageMenuComponent);
21+
component = fixture.componentInstance;
22+
fixture.detectChanges();
23+
});
24+
25+
it('should create', () => {
26+
expect(component).toBeTruthy();
27+
});
28+
});
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
2+
3+
export interface Language {
4+
id: string;
5+
title: string;
6+
flag: string;
7+
}
8+
9+
@Component({
10+
selector: 'mat-language-menu',
11+
templateUrl: './mat-language-menu.component.html',
12+
styleUrls: ['./mat-language-menu.component.scss']
13+
})
14+
export class MatLanguageMenuComponent implements OnInit {
15+
16+
@Input()
17+
languages: Language[];
18+
19+
@Input()
20+
selectedLanguage: Language;
21+
22+
@Output()
23+
onLanguageChanged: EventEmitter<string> = new EventEmitter();
24+
25+
constructor() {
26+
}
27+
28+
ngOnInit() {
29+
}
30+
31+
/**
32+
* Set the language
33+
*
34+
* @param lang
35+
*/
36+
setLanguage(lang: Language): void {
37+
// Set the selected language for the toolbar
38+
this.selectedLanguage = lang;
39+
40+
// Use the selected language for translations
41+
// this._translateService.use(lang.id);
42+
this.onLanguageChanged.emit(lang.id);
43+
}
44+
45+
}

src/module/mat-core.module.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import {CommonModule} from '@angular/common';
22
import {ModuleWithProviders, NgModule} from '@angular/core';
33

44
import {MatSplashScreenService} from './services/splash/mat-splash-screen.service';
5+
import {FlexLayoutModule} from '@angular/flex-layout';
6+
import {MatButtonModule, MatMenuModule} from '@angular/material';
57

68

79
// Export module's public API
@@ -19,6 +21,9 @@ export {MatTimerDialog} from './components/dialogs/mat-timer-dialog/mat-timer-di
1921
@NgModule({
2022
imports: [
2123
CommonModule,
24+
FlexLayoutModule,
25+
MatButtonModule,
26+
MatMenuModule
2227
// MatDialogModule
2328
],
2429
exports: [],

0 commit comments

Comments
 (0)