From 87e74a3a6ccf5b05b760e9f8beec9a78886ab076 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 13 Nov 2025 11:03:00 -0600 Subject: refactor: Improve test infrastructure and fix all compiler warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit modernizes the test infrastructure and eliminates all compilation warnings to prepare for comprehensive test coverage. Test Infrastructure Improvements: - Reorganize tests from test/ to tests/ directory (standard convention) - Modernize Makefile with patterns from chime.el - Add convenient test targets (test-file, test-name) - Support unit and integration test separation - Better help documentation with examples - Auto-detect Cask installation location - Add comprehensive test-strategy.org document - 6-week implementation plan - Critical function prioritization - Integration test scenarios - Coverage goals (80% target) Compiler Warning Fixes (org-drill.el): - Replace obsolete org-mode functions: - org-show-subtree → org-fold-show-subtree - org-show-entry → org-fold-show-entry - org-get-tags-at → org-get-tags - org-remove-latex-fragment-image-overlays → org-clear-latex-preview - org-toggle-latex-fragment → org-latex-preview - org-bracket-link-regexp → org-link-bracket-re - Fix ~31 unescaped single quotes in docstrings (use \=') - Remove unused lexical variables (cb, drawer-name, session, orig-fun) - Remove obsolete outline-view-change-hook binding - Wrap org 8.x compatibility shim in with-no-warnings - Fix long docstring at line 1085 Test Status: - All 3 existing tests passing - Zero compilation warnings (was ~40 warnings) - Ready for Phase 1 implementation (foundation tests) --- tests/org-drill-test.el | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tests/org-drill-test.el (limited to 'tests/org-drill-test.el') diff --git a/tests/org-drill-test.el b/tests/org-drill-test.el new file mode 100644 index 0000000..4765a99 --- /dev/null +++ b/tests/org-drill-test.el @@ -0,0 +1,53 @@ +;;; org-drill-test.el + +;;; Header: + +;; This file is not part of Emacs + +;; Author: Phillip Lord +;; Maintainer: Phillip Lord + +;; The contents of this file are subject to the GPL License, Version 3.0. + +;; Copyright (C) 2019, Phillip Lord + +;; This program 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. + +;; This program 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 this program. If not, see . + +;;; Code: + +(require 'assess) +(require 'org-drill) + +(defvar this-directory + (file-name-directory + (or load-file-name (buffer-file-name)))) + +(ert-deftest load-test () + (should t)) + +(ert-deftest find-entries () + (should + (equal '(2 38 66) + (assess-with-find-file + (assess-make-related-file + (concat this-directory "one-two-three.org")) + (org-drill-map-entries (lambda () (point)) 'file nil))))) + +(ert-deftest find-tagged-entries () + (should + (equal '(2) + (assess-with-find-file + (assess-make-related-file + (concat this-directory "one-two-three.org")) + (org-drill-map-entries (lambda () (point)) 'file "tagtest"))))) -- cgit v1.2.3