]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5091 Fix handling of zero values for work durations
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Tue, 8 Apr 2014 09:05:10 +0000 (11:05 +0200)
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Tue, 8 Apr 2014 09:05:10 +0000 (11:05 +0200)
sonar-server/src/main/coffee/common/inputs.coffee
sonar-server/src/main/coffee/tests/common/inputsSpec.coffee

index 4352040b021dae6e697a8d0cc8c91ea3873c7be1..cbe26df23e890aa976b09a6bfe327b9f3e9b01ee 100644 (file)
@@ -5,6 +5,8 @@ transformPattern = (pattern) ->
 
 
 convertWorkDuration = (value) ->
+  return 0 if value == '0'
+
   daysPattern = transformPattern t('work_duration.x_days')
   hoursPattern = transformPattern t('work_duration.x_hours')
   minutesPattern = transformPattern t('work_duration.x_minutes')
@@ -24,7 +26,9 @@ convertWorkDuration = (value) ->
 
 
 restoreWorkDuration = (value) ->
+  return '0' if value == '0'
   return value unless /^\d+$/.test value
+
   days = Math.floor(value / (8 * 60))
   hours = Math.floor((value - days * 8 * 60) / 60)
   minutes = value % 60
index d20983d9c65155a1c15ec520ee47ca8fb905cd0b..3cbc65919254167c10a122a98c556bac7d482e32 100644 (file)
@@ -17,28 +17,33 @@ describe 'WORK_DUR suite', ->
     @input.originalVal '2d 7h 13min'
     expect(@input.val()).toBe 1393
 
-
   it 'converts only days', ->
     @input.originalVal '1d'
     expect(@input.val()).toBe 480
 
-
   it 'converts hours with minutes', ->
     @input.originalVal '2h 30min'
     expect(@input.val()).toBe 150
 
+  it 'converts zero', ->
+    @input.originalVal '0'
+    expect(@input.val()).toBe 0
+
 
   it 'restores', ->
     @input.val 1393
     expect(@input.originalVal()).toBe '2d 7h 13min'
 
+  it 'restores zero', ->
+    @input.val '0'
+    expect(@input.originalVal()).toBe '0'
+
 
   it 'returns initially incorrect value', ->
     @input.val 'something'
     expect(@input.val()).toBe 'something'
 
 
-
 describe 'RATING suite', ->
 
   beforeEach ->