From db2042ce5f1e0fde49c0eaaae01e62fb1e180d09 Mon Sep 17 00:00:00 2001 From: Wataru MIYAGUNI Date: Wed, 20 Jul 2011 13:20:39 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=AB=E3=83=BC=E3=82=BD=E3=83=AB=E3=81=AE?= =?UTF-8?q?=E3=81=82=E3=82=8B=20entry=20property=20=E3=81=8B=E3=82=89=20is?= =?UTF-8?q?sue=20id=20=E3=81=A8=20updated=5Fon=20=E3=82=92=E5=8F=96?= =?UTF-8?q?=E5=BE=97=E3=81=99=E3=82=8B=E9=96=A2=E6=95=B0=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=20#5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- org-redmine.el | 18 ++++++++++++++++-- test/org-redmine-test.el | 11 ++++++++++- test/run.sh | 1 - 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/org-redmine.el b/org-redmine.el index 163844b..69f8ab6 100644 --- a/org-redmine.el +++ b/org-redmine.el @@ -35,6 +35,8 @@ default is 25, maximum is 100. see http://www.redmine.org/projects/redmine/wiki/Rest_api#Collection-resources-and-pagination") +(defconst org-redmine-property-id-name "issue_id") +(defconst org-redmine-property-updated-name "updated_on") (defconst org-redmine-template-header-default "#%i% %s% :%t_n%:") (defconst org-redmine-template-%-sequences '(("%as_i%" "assigned_to" "id") @@ -274,6 +276,18 @@ Example. (org-redmine-issue-uri issue) ;; => \"http://localhost/redmine/issues/1\"" (format "%s/issues/%s" org-redmine-uri (orutil-gethash issue "id"))) +;;------------------------------ +;; org-redmine emtry function +;;------------------------------ +(defun org-redmine-entry-get-update-info () + "Get property values that necessary to issue update. + +Return cons (issue_id . updated_on)" + (let ((properties (org-entry-properties))) + (cons + (cdr (assoc org-redmine-property-id-name properties)) + (cdr (assoc org-redmine-property-updated-name properties))))) + ;;------------------------------ ;; org-redmine buffer function ;;------------------------------ @@ -301,8 +315,8 @@ Example. (nth 1 org-redmine-template-set) '())) property key value) - (org-set-property "issue_id" (int-to-string (orutil-gethash issue "id"))) - (org-set-property "updated_on" (orutil-gethash issue "updated_on")) + (org-set-property org-redmine-property-id-name (int-to-string (orutil-gethash issue "id"))) + (org-set-property org-redmine-property-updated-name (orutil-gethash issue "updated_on")) (while properties (setq property (car properties)) (org-set-property (car property) diff --git a/test/org-redmine-test.el b/test/org-redmine-test.el index 546f74b..37ce5a9 100644 --- a/test/org-redmine-test.el +++ b/test/org-redmine-test.el @@ -1,7 +1,7 @@ (require 'org-redmine) ;; setup -(require 'org-redmine-test-fixture) +(load-file "./org-redmine-test-fixture.el") ;; batch 処理の時に、message 関数が端末に出力されるのがいやだったので wrap した (when noninteractive @@ -288,4 +288,13 @@ (let ((d1 "2011/07/06 21:22:01 -0900") (d2 "2011/07/06 21:22:01 +0900")) (orutil-date-cmp d1 d2))) + + (desc "org-redmine-entry-get-update-info") + (expect '("1" . "2011/07/06 21:27:04 +0900") + (stub org-redmine-curl-get => fixture-issue-json) + (with-current-buffer (exps-tmpbuf) + (change-buffer-to 'org-mode) + (change-buffer-to 'org-mode) + (org-redmine-get-issue "1") + (org-redmine-entry-get-update-info))) ) diff --git a/test/run.sh b/test/run.sh index cca9ff0..d56dfd1 100644 --- a/test/run.sh +++ b/test/run.sh @@ -12,7 +12,6 @@ OUTPUT=aaa $EMACS -q --no-site-file --batch $OPTIONS \ -l org-redmine \ -l el-expectations \ - -l el-mock \ -f batch-expectations $OUTPUT org-redmine-test.el ret=$? cat $OUTPUT