Skip to content

Commit

Permalink
Fixed a build issue
Browse files Browse the repository at this point in the history
  • Loading branch information
digimezzo committed Aug 9, 2023
2 parents 8ecfa74 + 249dcdf commit e65dc80
Show file tree
Hide file tree
Showing 9 changed files with 797 additions and 604 deletions.
11 changes: 5 additions & 6 deletions src/app/common/metadata/file-metadata-factory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { BaseFileAccess } from '../io/base-file-access';
import { BaseFileMetadataFactory } from './base-file-metadata-factory';
import { IFileMetadata } from './i-file-metadata';
import { MusicMetadataFileMetadata } from './music-metadata-file-meta-data';
import { TagLibFileMetadata } from './tag-lib-file-metadata';

@Injectable()
export class FileMetadataFactory implements BaseFileMetadataFactory {
Expand All @@ -17,13 +16,13 @@ export class FileMetadataFactory implements BaseFileMetadataFactory {

switch (fileExtension) {
case FileFormats.mp3:
fileMetadata = new TagLibFileMetadata(path);
fileMetadata = new MusicMetadataFileMetadata(path);
break;
case FileFormats.flac:
fileMetadata = new TagLibFileMetadata(path);
fileMetadata = new MusicMetadataFileMetadata(path);
break;
case FileFormats.ogg:
fileMetadata = new TagLibFileMetadata(path);
fileMetadata = new MusicMetadataFileMetadata(path);
break;
case FileFormats.m4a:
fileMetadata = new MusicMetadataFileMetadata(path);
Expand All @@ -32,10 +31,10 @@ export class FileMetadataFactory implements BaseFileMetadataFactory {
fileMetadata = new MusicMetadataFileMetadata(path);
break;
case FileFormats.wav:
fileMetadata = new TagLibFileMetadata(path);
fileMetadata = new MusicMetadataFileMetadata(path);
break;
default:
fileMetadata = new TagLibFileMetadata(path);
fileMetadata = new MusicMetadataFileMetadata(path);
break;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
class="tracks-table-row"
[ngClass]="{ 'selected-item-background-important': track.isSelected }"
(mousedown)="setSelectedTracks($event, track)"
(dblclick)="playbackService.enqueueAndPlayTracksFromDoubleClick(this.orderedTracks, track)"
(dblclick)="playbackService.enqueueAndPlayTracksStartingFromGivenTrack(this.orderedTracks, track)"
(contextmenu)="onTrackContextMenuAsync($event, track)"
>
<td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<app-track
[track]="track"
canShowHeader="true"
(dblclick)="playbackService.enqueueAndPlayTracksFromDoubleClick(this.orderedTracks, track)"
(dblclick)="playbackService.enqueueAndPlayTracksStartingFromGivenTrack(this.orderedTracks, track)"
(contextmenu)="onTrackContextMenuAsync($event, track)"
></app-track>
</div>
Expand Down
19 changes: 10 additions & 9 deletions src/app/services/file/file.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ describe('FileService', () => {
expect(service).toBeDefined();
});

it('should enqueue all playable tracks found as parameters and play the first track when arguments are received', async () => {
it('should enqueue all playable tracks that are found as parameters', async () => {
// Arrange
const service: BaseFileService = createService();

Expand All @@ -93,12 +93,13 @@ describe('FileService', () => {
It.is<TrackModel[]>(
(trackModels: TrackModel[]) =>
trackModels.length === 2 && trackModels[0].path === 'file 1.mp3' && trackModels[1].path === 'file 2.ogg'
)),
)
),
Times.once()
);
});

it('should not enqueue and play anything if parameters are undefined when arguments are received', async () => {
it('should not enqueue anything if parameters are undefined when arguments are received', async () => {
// Arrange
const service: BaseFileService = createService();

Expand All @@ -110,7 +111,7 @@ describe('FileService', () => {
playbackServiceMock.verify((x) => x.enqueueAndPlayTracks(It.isAny()), Times.never());
});

it('should not enqueue and play anything if parameters are empty when arguments are received', async () => {
it('should not enqueue anything if parameters are empty when arguments are received', async () => {
// Arrange
const service: BaseFileService = createService();

Expand All @@ -122,7 +123,7 @@ describe('FileService', () => {
playbackServiceMock.verify((x) => x.enqueueAndPlayTracks(It.isAny()), Times.never());
});

it('should not enqueue and play anything if there are no playable tracks found as parameters when arguments are received', async () => {
it('should not enqueue anything if there are no playable tracks found as parameters when arguments are received', async () => {
// Arrange
const service: BaseFileService = createService();

Expand Down Expand Up @@ -163,7 +164,7 @@ describe('FileService', () => {
});

describe('enqueueParameterFilesAsync', () => {
it('should enqueue all playable tracks found as parameters and play the first track', async () => {
it('should enqueue all playable tracks found as parameters', async () => {
// Arrange
applicationMock.setup((x) => x.getParameters()).returns(() => ['file 1.mp3', 'file 2.ogg', 'file 3.bmp']);
const service: BaseFileService = createService();
Expand All @@ -184,7 +185,7 @@ describe('FileService', () => {
);
});

it('should not enqueue and play anything if parameters are undefined', async () => {
it('should not enqueue anything if parameters are undefined', async () => {
// Arrange
applicationMock.setup((x) => x.getParameters()).returns(() => undefined);
const service: BaseFileService = createService();
Expand All @@ -196,7 +197,7 @@ describe('FileService', () => {
playbackServiceMock.verify((x) => x.enqueueAndPlayTracks(It.isAny()), Times.never());
});

it('should not enqueue and play anything if parameters are empty', async () => {
it('should not enqueue anything if parameters are empty', async () => {
// Arrange
applicationMock.setup((x) => x.getParameters()).returns(() => []);
const service: BaseFileService = createService();
Expand All @@ -208,7 +209,7 @@ describe('FileService', () => {
playbackServiceMock.verify((x) => x.enqueueAndPlayTracks(It.isAny()), Times.never());
});

it('should not enqueue and play anything if there are no playable tracks found as parameters', async () => {
it('should not enqueue anything if there are no playable tracks found as parameters', async () => {
// Arrange
applicationMock.setup((x) => x.getParameters()).returns(() => ['file 1.png', 'file 2.mkv', 'file 3.bmp']);
const service: BaseFileService = createService();
Expand Down
1 change: 1 addition & 0 deletions src/app/services/playback/base-playback.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ export abstract class BasePlaybackService {
public abstract toggleLoopMode(): void;
public abstract toggleIsShuffled(): void;
public abstract enqueueAndPlayTracks(tracksToEnqueue: TrackModel[]): void;
public abstract enqueueAndPlayTracksStartingFromGivenTrack(tracksToEnqueue: TrackModel[], trackToPlay: TrackModel): void;
public abstract enqueueAndPlayArtist(artistToPlay: ArtistModel, artistType: ArtistType): void;
public abstract enqueueAndPlayGenre(genreToPlay: GenreModel): void;
public abstract enqueueAndPlayAlbum(albumToPlay: AlbumModel): void;
Expand Down
Loading

0 comments on commit e65dc80

Please sign in to comment.