mirror of
https://github.com/balena-io/etcher.git
synced 2025-04-24 15:27:17 +00:00
Save burn progress speed in image writer state
This commit is contained in:
parent
d9641fc557
commit
cf41b6279d
@ -343,6 +343,11 @@ imageWriter.service('ImageWriterService', function($q, $timeout) {
|
||||
var self = this;
|
||||
var burning = false;
|
||||
|
||||
/*
|
||||
* @summary Progress state
|
||||
* @type Object
|
||||
* @public
|
||||
*/
|
||||
this.state = {
|
||||
|
||||
/**
|
||||
@ -350,7 +355,14 @@ imageWriter.service('ImageWriterService', function($q, $timeout) {
|
||||
* @type Number
|
||||
* @public
|
||||
*/
|
||||
progress: 0
|
||||
progress: 0,
|
||||
|
||||
/**
|
||||
* @summary Progress speed
|
||||
* @type Number
|
||||
* @public
|
||||
*/
|
||||
speed: 0
|
||||
|
||||
};
|
||||
|
||||
@ -372,7 +384,11 @@ imageWriter.service('ImageWriterService', function($q, $timeout) {
|
||||
// Safely bring the state to the world of Angular
|
||||
$timeout(function() {
|
||||
self.state.progress = Math.floor(state.percentage);
|
||||
console.debug('Progress: ' + self.state.progress);
|
||||
|
||||
// Transform bytes to megabytes preserving only two decimal places
|
||||
self.state.speed = Math.floor(state.speed / 1e+6 * 100) / 100 || 0;
|
||||
|
||||
console.debug('Progress: ' + self.state.progress + ' at ' + self.state.speed + ' MB/s');
|
||||
});
|
||||
|
||||
};
|
||||
@ -387,7 +403,8 @@ imageWriter.service('ImageWriterService', function($q, $timeout) {
|
||||
*/
|
||||
this.reset = function() {
|
||||
self.setProgressState({
|
||||
percentage: 0
|
||||
percentage: 0,
|
||||
speed: 0
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -35,6 +35,11 @@ imageWriter.service('ImageWriterService', function($q, $timeout) {
|
||||
var self = this;
|
||||
var burning = false;
|
||||
|
||||
/*
|
||||
* @summary Progress state
|
||||
* @type Object
|
||||
* @public
|
||||
*/
|
||||
this.state = {
|
||||
|
||||
/**
|
||||
@ -42,7 +47,14 @@ imageWriter.service('ImageWriterService', function($q, $timeout) {
|
||||
* @type Number
|
||||
* @public
|
||||
*/
|
||||
progress: 0
|
||||
progress: 0,
|
||||
|
||||
/**
|
||||
* @summary Progress speed
|
||||
* @type Number
|
||||
* @public
|
||||
*/
|
||||
speed: 0
|
||||
|
||||
};
|
||||
|
||||
@ -64,7 +76,11 @@ imageWriter.service('ImageWriterService', function($q, $timeout) {
|
||||
// Safely bring the state to the world of Angular
|
||||
$timeout(function() {
|
||||
self.state.progress = Math.floor(state.percentage);
|
||||
console.debug('Progress: ' + self.state.progress);
|
||||
|
||||
// Transform bytes to megabytes preserving only two decimal places
|
||||
self.state.speed = Math.floor(state.speed / 1e+6 * 100) / 100 || 0;
|
||||
|
||||
console.debug('Progress: ' + self.state.progress + ' at ' + self.state.speed + ' MB/s');
|
||||
});
|
||||
|
||||
};
|
||||
@ -79,7 +95,8 @@ imageWriter.service('ImageWriterService', function($q, $timeout) {
|
||||
*/
|
||||
this.reset = function() {
|
||||
self.setProgressState({
|
||||
percentage: 0
|
||||
percentage: 0,
|
||||
speed: 0
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -26,6 +26,10 @@ describe('Browser: ImageWriter', function() {
|
||||
m.chai.expect(ImageWriterService.state.progress).to.equal(0);
|
||||
});
|
||||
|
||||
it('should set speed to zero by default', function() {
|
||||
m.chai.expect(ImageWriterService.state.speed).to.equal(0);
|
||||
});
|
||||
|
||||
describe('.isBurning()', function() {
|
||||
|
||||
it('should return false by default', function() {
|
||||
@ -65,11 +69,13 @@ describe('Browser: ImageWriter', function() {
|
||||
|
||||
it('should be able to set the progress', function() {
|
||||
ImageWriterService.setProgressState({
|
||||
percentage: 50
|
||||
percentage: 50,
|
||||
speed: 949624
|
||||
});
|
||||
|
||||
$timeout.flush();
|
||||
m.chai.expect(ImageWriterService.state.progress).to.equal(50);
|
||||
m.chai.expect(ImageWriterService.state.speed).to.equal(0.94);
|
||||
});
|
||||
|
||||
it('should floor the percentage', function() {
|
||||
@ -81,13 +87,23 @@ describe('Browser: ImageWriter', function() {
|
||||
m.chai.expect(ImageWriterService.state.progress).to.equal(49);
|
||||
});
|
||||
|
||||
it('should assume speed zero if no speed', function() {
|
||||
ImageWriterService.setProgressState({
|
||||
percentage: 25
|
||||
});
|
||||
|
||||
$timeout.flush();
|
||||
m.chai.expect(ImageWriterService.state.speed).to.equal(0);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('.reset()', function() {
|
||||
|
||||
it('should reset progress percentage to 0', function() {
|
||||
ImageWriterService.setProgressState({
|
||||
percentage: 50
|
||||
percentage: 50,
|
||||
speed: 949624
|
||||
});
|
||||
|
||||
$timeout.flush();
|
||||
@ -97,6 +113,19 @@ describe('Browser: ImageWriter', function() {
|
||||
m.chai.expect(ImageWriterService.state.progress).to.equal(0);
|
||||
});
|
||||
|
||||
it('should reset speed to 0', function() {
|
||||
ImageWriterService.setProgressState({
|
||||
percentage: 50,
|
||||
speed: 949624
|
||||
});
|
||||
|
||||
$timeout.flush();
|
||||
m.chai.expect(ImageWriterService.state.speed).to.equal(0.94);
|
||||
ImageWriterService.reset();
|
||||
$timeout.flush();
|
||||
m.chai.expect(ImageWriterService.state.speed).to.equal(0);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('.burn()', function() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user