27 lines
975 B
TypeScript
27 lines
975 B
TypeScript
|
/**
|
||
|
* @license
|
||
|
* Copyright Google Inc. All Rights Reserved.
|
||
|
*
|
||
|
* Use of this source code is governed by an MIT-style license that can be
|
||
|
* found in the LICENSE file at https://angular.io/license
|
||
|
*/
|
||
|
import {MockFileSystemNative} from '../../../src/ngtsc/file_system/testing';
|
||
|
import {LockFile} from '../../src/execution/lock_file';
|
||
|
|
||
|
export class MockLockFile extends LockFile {
|
||
|
log: string[] = [];
|
||
|
constructor(private options: {throwOnCreate?: boolean, throwOnRemove?: boolean} = {}) {
|
||
|
// This `MockLockFile` is not used in tests that are run via `runInEachFileSystem()`
|
||
|
// So we cannot use `getFileSystem()` but instead just instantiate a mock file-system.
|
||
|
super(new MockFileSystemNative());
|
||
|
}
|
||
|
create() {
|
||
|
this.log.push('create()');
|
||
|
if (this.options.throwOnCreate) throw new Error('LockFile.create() error');
|
||
|
}
|
||
|
remove() {
|
||
|
this.log.push('remove()');
|
||
|
if (this.options.throwOnRemove) throw new Error('LockFile.remove() error');
|
||
|
}
|
||
|
}
|