summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEzekiel Kigbo <ekigbo@gitlab.com>2019-04-02 23:12:53 +1100
committerEzekiel Kigbo <ekigbo@gitlab.com>2019-04-03 01:16:37 +1100
commit49b48df101b7c81d4775ce67da115ca219c4a008 (patch)
tree7dd247f0f57411f0d15b34ed8b464c491f76f522
parentd2f7bcd4becdbbb8f6d420d293c092eb45b16dc1 (diff)
downloadgitlab-ce-ekigbo-extend-timezone-dropdown.tar.gz
Fix formatting when offset is 0ekigbo-extend-timezone-dropdown
-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');
+ });
});
});