git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4951 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
a78d565959
commit
2d115bbe70
|
@ -97,11 +97,13 @@ class Changeset < ActiveRecord::Base
|
|||
|
||||
TIMELOG_RE = /
|
||||
(
|
||||
(\d+([.,]\d+)?)h?
|
||||
((\d+)(h|hours?))((\d+)(m|min)?)?
|
||||
|
|
||||
((\d+)(h|hours?|m|min))
|
||||
|
|
||||
(\d+):(\d+)
|
||||
|
|
||||
((\d+)(h|hours?))?((\d+)(m|min)?)?
|
||||
(\d+([\.,]\d+)?)h?
|
||||
)
|
||||
/x
|
||||
|
||||
|
|
|
@ -72,9 +72,24 @@ class ChangesetTest < ActiveSupport::TestCase
|
|||
Setting.commit_ref_keywords = '*'
|
||||
Setting.commit_logtime_enabled = '1'
|
||||
|
||||
{
|
||||
'2' => 2.0,
|
||||
'2h' => 2.0,
|
||||
'2hours' => 2.0,
|
||||
'15m' => 0.25,
|
||||
'15min' => 0.25,
|
||||
'3h15' => 3.25,
|
||||
'3h15m' => 3.25,
|
||||
'3h15min' => 3.25,
|
||||
'3:15' => 3.25,
|
||||
'3.25' => 3.25,
|
||||
'3.25h' => 3.25,
|
||||
'3,25' => 3.25,
|
||||
'3,25h' => 3.25,
|
||||
}.each do |syntax, expected_hours|
|
||||
c = Changeset.new(:repository => Project.find(1).repository,
|
||||
:committed_on => 24.hours.ago,
|
||||
:comments => 'Worked on this issue #1 @2h',
|
||||
:comments => "Worked on this issue #1 @#{syntax}",
|
||||
:revision => '520',
|
||||
:user => User.find(2))
|
||||
assert_difference 'TimeEntry.count' do
|
||||
|
@ -86,11 +101,12 @@ class ChangesetTest < ActiveSupport::TestCase
|
|||
assert_equal 1, time.issue_id
|
||||
assert_equal 1, time.project_id
|
||||
assert_equal 2, time.user_id
|
||||
assert_equal 2.0, time.hours
|
||||
assert_equal expected_hours, time.hours, "@#{syntax} should be logged as #{expected_hours} hours but was #{time.hours}"
|
||||
assert_equal Date.yesterday, time.spent_on
|
||||
assert time.activity.is_default?
|
||||
assert time.comments.include?('r520'), "r520 was expected in time_entry comments: #{time.comments}"
|
||||
end
|
||||
end
|
||||
|
||||
def test_ref_keywords_closing_with_timelog
|
||||
Setting.commit_fix_status_id = IssueStatus.find(:first, :conditions => ["is_closed = ?", true]).id
|
||||
|
@ -100,7 +116,7 @@ class ChangesetTest < ActiveSupport::TestCase
|
|||
|
||||
c = Changeset.new(:repository => Project.find(1).repository,
|
||||
:committed_on => Time.now,
|
||||
:comments => 'This is a comment. Fixes #1 @2.5, #2 @1',
|
||||
:comments => 'This is a comment. Fixes #1 @4.5, #2 @1',
|
||||
:user => User.find(2))
|
||||
assert_difference 'TimeEntry.count', 2 do
|
||||
c.scan_comment_for_issue_ids
|
||||
|
|
Loading…
Reference in New Issue