running-tools

A collection of tools for runners and their coaches
git clone https://git.ashermorgan.net/running-tools/
Log | Files | Refs | README

commit 67f890ae4df222e1993becf96e8023c35dc89b2e
parent dd20ab4fead0464e18a4188689dd6cd3d305b8d6
Author: ashermorgan <59518073+ashermorgan@users.noreply.github.com>
Date:   Sun, 19 Sep 2021 11:49:38 -0700

Fix bug in how default units are chosen

Diffstat:
Msrc/utils/units.js | 4++--
Mtests/unit/views/PaceCalculator.spec.js | 5+++--
Mtests/unit/views/RaceCalculator.spec.js | 5+++--
3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/utils/units.js b/src/utils/units.js @@ -220,8 +220,8 @@ function formatDuration(value, padding = 6, digits = 2) { * @returns {String} The default unit system */ function getDefaultUnitSystem() { - const language = navigator.language || navigator.userLanguage; - if (language.endsWith('-US') || language.endsWith('-MM')) { + const language = (navigator.language || navigator.userLanguage).toLowerCase(); + if (language.endsWith('-us') || language.endsWith('-mm')) { return 'imperial'; } return 'metric'; diff --git a/tests/unit/views/PaceCalculator.spec.js b/tests/unit/views/PaceCalculator.spec.js @@ -3,6 +3,7 @@ import { expect } from 'chai'; import { shallowMount } from '@vue/test-utils'; import PaceCalculator from '@/views/PaceCalculator.vue'; +import unitUtils from '@/utils/units'; describe('views/PaceCalculator.vue', () => { it('should correctly calculate times', async () => { @@ -51,8 +52,8 @@ describe('views/PaceCalculator.vue', () => { // Assert result is correct expect(result).to.deep.equal({ - distanceValue: 2, - distanceUnit: 'miles', + distanceValue: unitUtils.convertDistance(2, 'miles', unitUtils.getDefaultDistanceUnit()), + distanceUnit: unitUtils.getDefaultDistanceUnit(), time: 200, result: 'distance', }); diff --git a/tests/unit/views/RaceCalculator.spec.js b/tests/unit/views/RaceCalculator.spec.js @@ -55,8 +55,9 @@ describe('views/RaceCalculator.vue', () => { // Assert result is correct const prediction = raceUtils.AverageModel.predictDistance(1200, 5000, 2460); expect(result).to.deep.equal({ - distanceValue: unitUtils.convertDistance(prediction, 'meters', 'miles'), - distanceUnit: 'miles', + distanceValue: unitUtils.convertDistance(prediction, 'meters', + unitUtils.getDefaultDistanceUnit()), + distanceUnit: unitUtils.getDefaultDistanceUnit(), time: 2460, result: 'distance', });