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:
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',
});