Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 4E15E431FD0 for ; Thu, 26 May 2011 09:27:43 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.799 X-Spam-Level: X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P5b0ynTnFIRg for ; Thu, 26 May 2011 09:27:42 -0700 (PDT) Received: from mail-fx0-f53.google.com (mail-fx0-f53.google.com [209.85.161.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 32FA5431FB6 for ; Thu, 26 May 2011 09:27:42 -0700 (PDT) Received: by fxm8 with SMTP id 8so873494fxm.26 for ; Thu, 26 May 2011 09:27:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:date:message-id:x-mailer :mime-version:content-type:content-transfer-encoding; bh=pNS4AUHOuGg3In8ISGyt/swa2qGUxBdwe12EgtzL8FE=; b=hUo3owUK9NXZjP1RUd2I71mZcRM+h9QveQPV1+tppWlMEA/qMB6WZaaNQhPu4BtbVk UQ5IUKVvYn+Lgo2O7V80EsG9V7QiiyFP5tiYNeH5FjDm1J9+DkeDEoZHO99rZnMXawQn 5C6uXvMSJjh4Ih1m+f5xHQeXMExf2JygMHjOk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:mime-version :content-type:content-transfer-encoding; b=sX66UQsI+RFG22LoJVo7cGiLW9veFUvCQwvNlVhuyc+4cbG23pD+6nateAScb+hF3F sSCHboX6hXKnLaFSpwOnurEe3dS8mar4VFsSCLMmriP+D3zSt6XBhLeIS7bODvsOefo0 y0RNgfdoqNpfgDH1EnpeIdyxauhYM0wsj6YTE= Received: by 10.223.33.6 with SMTP id f6mr1160425fad.85.1306427260766; Thu, 26 May 2011 09:27:40 -0700 (PDT) Received: from localhost ([91.144.186.21]) by mx.google.com with ESMTPS id z21sm365907fan.16.2011.05.26.09.27.39 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 26 May 2011 09:27:39 -0700 (PDT) From: Dmitry Kurochkin To: notmuch@notmuchmail.org Subject: [PATCH] test: add test-lib.el file with `visible-buffer-string' function Date: Thu, 26 May 2011 20:27:58 +0400 Message-Id: <1306427278-14932-1-git-send-email-dmitry.kurochkin@gmail.com> X-Mailer: git-send-email 1.7.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 May 2011 16:27:43 -0000 The patch adds test-lib.el file for Emacs tests auxiliary stuff. Currently, it implements two functions: `visible-buffer-string' and `visible-buffer-substring'. These are similar to standard counterparts without "visible-" prefix but exclude invisible text. The functions are not used anywhere at the moment but should be useful for testing hiding/showing in the Emacs interface. --- test/test-lib.el | 35 +++++++++++++++++++++++++++++++++++ test/test-lib.sh | 5 +++-- 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 test/test-lib.el diff --git a/test/test-lib.el b/test/test-lib.el new file mode 100644 index 0000000..9439996 --- /dev/null +++ b/test/test-lib.el @@ -0,0 +1,35 @@ +;; test-lib.el --- auxiliary stuff for Notmuch Emacs tests. +;; +;; Copyright © Carl Worth +;; Copyright © David Edmondson +;; +;; This file is part of Notmuch test suit. +;; +;; Notmuch is free software: you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Notmuch is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with Notmuch. If not, see . +;; +;; Authors: Dmitry Kurochkin + +(defun visible-buffer-string () + "Same as `buffer-string', but excludes invisible text." + (visible-buffer-substring (point-min) (point-max))) + +(defun visible-buffer-substring (start end) + "Same as `buffer-substring', but excludes invisible text." + (let (str) + (while (< start end) + (let ((next-pos (next-char-property-change start end))) + (when (not (invisible-p start)) + (setq str (concat str (buffer-substring start next-pos)))) + (setq start next-pos))) + str)) diff --git a/test/test-lib.sh b/test/test-lib.sh index 7cc43cd..9645567 100755 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -843,9 +843,9 @@ fi # # --no-site-file Don't load the site-wide startup stuff # -# --directory Ensure that the local notmuch.el source is found +# --directory Ensure that the local elisp sources are found # -# --load Force loading of notmuch.el +# --load Force loading of notmuch.el and test-lib.el # # notmuch-test-wait Function for tests to use to wait for process completion # @@ -855,6 +855,7 @@ fi emacs \$BATCH --no-init-file --no-site-file \ --directory ../../emacs --load notmuch.el \ + --directory .. --load test-lib.el \ --eval "(defun notmuch-test-wait () (while (get-buffer-process (current-buffer)) (sleep-for 0.1)))" \ -- 1.7.5.1