From 00080fd250f309842f2ece0db6bc8925bcc8b923 Mon Sep 17 00:00:00 2001 From: Eric Ludlam Date: Wed, 27 Mar 2013 22:25:00 -0400 Subject: [PATCH] Validate project overrides * test/manual/cedet/cit-srec.el: (cit-srecode-map-test): Expand tests to validate that project settings correctly override system level templates. --- test/manual/cedet/cit-srec.el | 50 +++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/test/manual/cedet/cit-srec.el b/test/manual/cedet/cit-srec.el index 40492d7272f..71267a8ffb1 100644 --- a/test/manual/cedet/cit-srec.el +++ b/test/manual/cedet/cit-srec.el @@ -1,6 +1,6 @@ ;;; cit-srec.el --- Test SRecode template mapping and such. -;; Copyright (C) 2008 Eric M. Ludlam +;; Copyright (C) 2008, 2013 Eric M. Ludlam ;; Author: Eric M. Ludlam @@ -30,7 +30,8 @@ (interactive) (let ((extradir cit-src-dir) - (oldpath srecode-map-load-path)) + (oldpath srecode-map-load-path) + (tmpbuff (get-buffer-create "proj-test"))) (add-to-list 'srecode-map-load-path extradir) (srecode-map-update-map t) @@ -38,12 +39,45 @@ (srecode-load-tables-for-mode 'c++-mode 'cit-test) (unwind-protect - (when (not (srecode-template-get-table (srecode-table 'c++-mode) - "cit-test-template" - "test" - 'cit-test - )) - (error "Failed to find augmented template")) + (let (tmpl1 tmpl2) + ;; Test that a new template was detected + (when (not (srecode-template-get-table (srecode-table 'c++-mode) + "cit-test-template" + "test" + 'cit-test + )) + (error "Failed to find augmented template")) + + ;; Test the project distinction template. + (save-excursion + (set-buffer tmpbuff) + + ;; Ok, this restricts us to testing on unix... + (setq default-directory "/usr/local") + (setq tmpl1 (srecode-template-get-table (srecode-table 'c++-mode) + "cit-project-template" + "test" + 'cit-test + )) + + (setq default-directory "/tmp/test") + (setq tmpl2 (srecode-template-get-table (srecode-table 'c++-mode) + "cit-project-template" + "test" + 'cit-test + )) + + (when (eq tmpl1 tmpl2) + (error "Failed to differentiate between Project and Non-Project templates")) + + (when (not (string= (nth 1 (oref tmpl1 :code)) + "THIS IS NOT IN A PROJECT")) + (error "Failed to get the correct text for non-project template.")) + + (when (not (string= (nth 1 (oref tmpl2 :code)) + "THIS FILE IS IN /tmp")) + (error "Failed to get the correct text for-project template.")) + )) ;; Get rid of our adaptation. Double check. (setq srecode-map-load-path oldpath) -- 2.39.2