summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown.js13
-rw-r--r--spec/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js24
2 files changed, 21 insertions, 16 deletions
diff --git a/app/assets/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown.js b/app/assets/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown.js
index 02d8f7bef99..c1f6edf2f27 100644
--- a/app/assets/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown.js
+++ b/app/assets/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown.js
@@ -1,16 +1,11 @@
const defaultTimezone = 'UTC';
export const formatUtcOffset = offset => {
- if (Number.isNaN(parseInt(offset, 10))) {
- return ` 0`;
- }
-
- let prefix = '';
- if (offset > 0) {
- prefix = '+';
- } else if (offset < 0) {
- prefix = '-';
+ const parsed = parseInt(offset, 10);
+ if (Number.isNaN(parsed) || parsed === 0) {
+ return `0`;
}
+ const prefix = offset > 0 ? '+' : '-';
return `${prefix} ${Math.abs(offset / 3600)}`;
};
diff --git a/spec/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js b/spec/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js
index f50f4148231..a89952ee435 100644
--- a/spec/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js
+++ b/spec/javascripts/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js
@@ -108,28 +108,28 @@ describe('Timezone Dropdown', function() {
});
it('will return 0 when given a string', () => {
- expect(formatUtcOffset('BLAH')).toEqual(' 0');
- expect(formatUtcOffset('$%$%')).toEqual(' 0');
+ expect(formatUtcOffset('BLAH')).toEqual('0');
+ expect(formatUtcOffset('$%$%')).toEqual('0');
});
it('will return 0 when given an array', () => {
- expect(formatUtcOffset(['an', 'array'])).toEqual(' 0');
+ expect(formatUtcOffset(['an', 'array'])).toEqual('0');
});
it('will return 0 when given an object', () => {
- expect(formatUtcOffset({ some: '', object: '' })).toEqual(' 0');
+ expect(formatUtcOffset({ some: '', object: '' })).toEqual('0');
});
it('will return 0 when given null', () => {
- expect(formatUtcOffset(null)).toEqual(' 0');
+ expect(formatUtcOffset(null)).toEqual('0');
});
it('will return 0 when given undefined', () => {
- expect(formatUtcOffset(undefined)).toEqual(' 0');
+ expect(formatUtcOffset(undefined)).toEqual('0');
});
it('will return 0 when given empty input', () => {
- expect(formatUtcOffset('')).toEqual(' 0');
+ expect(formatUtcOffset('')).toEqual('0');
});
});
@@ -153,5 +153,15 @@ describe('Timezone Dropdown', function() {
}),
).toEqual('[UTC - 6] Saskatchewan');
});
+
+ it('given name: "Accra", offset: "0", will format for display as "[UTC 0] Accra"', () => {
+ expect(
+ formatTimezone({
+ name: 'Accra',
+ offset: 0,
+ identifier: 'Africa/Accra',
+ }),
+ ).toEqual('[UTC 0] Accra');
+ });
});
});