(refs #218)Separate StringUtil#extractCloseId() to add unit test.

This commit is contained in:
takezoe
2014-03-02 04:49:14 +09:00
parent 0c683d4f75
commit b031103df8
5 changed files with 37 additions and 13 deletions

View File

@@ -8,6 +8,7 @@ import Q.interpolation
import model._
import util.Implicits._
import util.StringUtil._
import util.StringUtil
trait IssuesService {
import IssuesService._
@@ -315,14 +316,10 @@ trait IssuesService {
}
def closeIssuesFromMessage(message: String, userName: String, owner: String, repository: String) = {
val regex = "(?i)(?<!\\w)(?:fix(?:e[sd])?|resolve[sd]?|close[sd]?)\\s+#(\\d+)(?!\\w)".r
regex.findAllIn(message).matchData.map(_.group(1)).foreach { issueId =>
getIssue(owner, repository, issueId) match {
case Some(issue) if !issue.closed => {
createComment(owner, repository, userName, issue.issueId, "Close", "close")
updateClosed(owner, repository, issue.issueId, true)
}
case _ =>
StringUtil.extractCloseId(message).foreach { issueId =>
for(issue <- getIssue(owner, repository, issueId) if !issue.closed){
createComment(owner, repository, userName, issue.issueId, "Close", "close")
updateClosed(owner, repository, issue.issueId, true)
}
}
}