diff --git a/build/browser/app.js b/build/browser/app.js index 956669cc..0b9ceba5 100644 --- a/build/browser/app.js +++ b/build/browser/app.js @@ -359,16 +359,19 @@ imageWriter.service('ImageWriterService', function($q, $timeout) { * @function * @private * - * @param {Number} progress + * @param {Object} state - progress state + * @param {Number} state.percentage - progress percentage * * @example - * ImageWriterService.setProgress(50); + * ImageWriterService.setProgress({ + * percentage: 50 + * }); */ - this.setProgress = function(progress) { + this.setProgress = function(state) { // Safely bring the state to the world of Angular $timeout(function() { - self.state.progress = Math.floor(progress); + self.state.progress = Math.floor(state.percentage); console.debug('Progress: ' + self.state.progress); }); @@ -383,7 +386,9 @@ imageWriter.service('ImageWriterService', function($q, $timeout) { * ImageWriterService.reset(); */ this.reset = function() { - self.setProgress(0); + self.setProgress({ + percentage: 0 + }); }; /** @@ -470,9 +475,7 @@ imageWriter.service('ImageWriterService', function($q, $timeout) { self.setBurning(true); - return self.performWrite(image, drive, function(state) { - self.setProgress(state.percentage); - }).finally(function() { + return self.performWrite(image, drive, self.setProgress).finally(function() { self.setBurning(false); }); }; diff --git a/lib/browser/modules/image-writer.js b/lib/browser/modules/image-writer.js index c4048a54..c96b7be5 100644 --- a/lib/browser/modules/image-writer.js +++ b/lib/browser/modules/image-writer.js @@ -51,16 +51,19 @@ imageWriter.service('ImageWriterService', function($q, $timeout) { * @function * @private * - * @param {Number} progress + * @param {Object} state - progress state + * @param {Number} state.percentage - progress percentage * * @example - * ImageWriterService.setProgress(50); + * ImageWriterService.setProgress({ + * percentage: 50 + * }); */ - this.setProgress = function(progress) { + this.setProgress = function(state) { // Safely bring the state to the world of Angular $timeout(function() { - self.state.progress = Math.floor(progress); + self.state.progress = Math.floor(state.percentage); console.debug('Progress: ' + self.state.progress); }); @@ -75,7 +78,9 @@ imageWriter.service('ImageWriterService', function($q, $timeout) { * ImageWriterService.reset(); */ this.reset = function() { - self.setProgress(0); + self.setProgress({ + percentage: 0 + }); }; /** @@ -162,9 +167,7 @@ imageWriter.service('ImageWriterService', function($q, $timeout) { self.setBurning(true); - return self.performWrite(image, drive, function(state) { - self.setProgress(state.percentage); - }).finally(function() { + return self.performWrite(image, drive, self.setProgress).finally(function() { self.setBurning(false); }); }; diff --git a/tests/browser/modules/image-writer.spec.js b/tests/browser/modules/image-writer.spec.js index b79a75e8..abaff962 100644 --- a/tests/browser/modules/image-writer.spec.js +++ b/tests/browser/modules/image-writer.spec.js @@ -64,13 +64,19 @@ describe('Browser: ImageWriter', function() { describe('.setProgress()', function() { it('should be able to set the progress', function() { - ImageWriterService.setProgress(50); + ImageWriterService.setProgress({ + percentage: 50 + }); + $timeout.flush(); m.chai.expect(ImageWriterService.state.progress).to.equal(50); }); it('should floor the percentage', function() { - ImageWriterService.setProgress(49.9999); + ImageWriterService.setProgress({ + percentage: 49.9999 + }); + $timeout.flush(); m.chai.expect(ImageWriterService.state.progress).to.equal(49); }); @@ -80,7 +86,10 @@ describe('Browser: ImageWriter', function() { describe('.reset()', function() { it('should reset progress percentage to 0', function() { - ImageWriterService.setProgress(50); + ImageWriterService.setProgress({ + percentage: 50 + }); + $timeout.flush(); m.chai.expect(ImageWriterService.state.progress).to.equal(50); ImageWriterService.reset();