unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Mattias Engdegård" <mattiase@acm.org>
To: Jean Forget <J2N-FORGET@orange.fr>
Cc: Glenn Morris <rgm@gnu.org>, Lars Ingebrigtsen <larsi@gnus.org>,
	19174@debbugs.gnu.org
Subject: bug#19174: Wishlist/suggestion for emacs/lisp/calendar/cal-french.el
Date: Tue, 15 Jun 2021 12:29:22 +0200	[thread overview]
Message-ID: <68C6E4A8-A4BC-4663-B595-4D02C383C22A@acm.org> (raw)
In-Reply-To: <eb4914ba-780b-bb50-1bea-cf538a89438b@orange.fr>

[-- Attachment #1: Type: text/plain, Size: 714 bytes --]

15 juni 2021 kl. 07.55 skrev Jean Forget <J2N-FORGET@orange.fr>:

> About tests: I am much more used to Perl usages and habits than Lisp.
> So the attached Emacs-Lisp file behaves like a Perl module test file.
> I have not yet looked at what a real E-Lisp test file looks like.

That's fine, nobody expects you to know that! Attached is your test translated into the standard style; it would go in `lisp/test/calendar/cal-french-tests.el`.

> It is easy to convert a capitalized string to
> lowercase, it is more difficult to convert a lowercase string to
> capitalised, especially with composite words such as "jour de la
> Pomme de terre" or "jour du Laurier-thym".

That's perfectly reasonable.


[-- Attachment #2: cal-french-tests.el --]
[-- Type: application/octet-stream, Size: 7842 bytes --]

;;; cal-french-tests.el --- tests for cal-french.el  -*- lexical-binding: t -*-

;; Copyright (C) 2021 Free Software Foundation, Inc.

;; This file is part of GNU Emacs.

;; GNU Emacs 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.

;; GNU Emacs 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 GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.

;;; Code:

(require 'ert)
(require 'cal-french)

(defconst cal-french-test-cases
  '(
 (1792  9 22 "Primidi 1 Vendémiaire an 1 de la Révolution, jour du Raisin")
 (1793 10 23 "Duodi 2 Brumaire an 2 de la Révolution, jour du Céleri")
 (1794  7 27 "Nonidi 9 Thermidor an 2 de la Révolution, jour de la Mûre")
 (1794 11 23 "Tridi 3 Frimaire an 3 de la Révolution, jour de la Chicorée")
 (1795 10  5 "Tridi 13 Vendémiaire an 4 de la Révolution, jour du Potiron")
 (1795 12 25 "Quartidi 4 Nivôse an 4 de la Révolution, jour du Soufre")
 (1797  1 24 "Quintidi 5 Pluviôse an 5 de la Révolution, jour du Taureau")
 (1798  2 24 "Sextidi 6 Ventôse an 6 de la Révolution, jour de l'Asaret")
 (1799 11  9 "Octidi 18 Brumaire an 8 de la Révolution, jour de la Dentelaire")
 (1801  3 29 "Octidi 8 Germinal an 9 de la Révolution, jour de la Jonquille")
 (1804  4 30 "Décadi 10 Floréal an 12 de la Révolution, jour du Rateau")
 (1807  6  1 "Duodi 12 Prairial an 15 de la Révolution, jour de la Bétoine")
 (1810  7  3 "Quartidi 14 Messidor an 18 de la Révolution, jour de la Lavande")
 (1813  8  4 "Sextidi 16 Thermidor an 21 de la Révolution, jour de la Guimauve")
 (1816  9  4 "Octidi 18 Fructidor an 24 de la Révolution, jour du Nerprun")
 (2000  1  1 "Duodi 12 Nivôse an 208 de la Révolution, jour de l'Argile")
 (2021  7 11 "Tridi 23 Messidor an 229 de la Révolution, jour des Haricots")
 (2001  5 11 "Duodi 22 Floréal an 209 de la Révolution, jour de la Fritillaire")
 (1792  9 22 "Primidi 1 Vendémiaire an 1 de la Révolution, jour du Raisin")
 (1793  9 21 "Quintidi 5 jour complémentaire an 1 de la Révolution, jour des Récompenses")
 (1793  9 22 "Primidi 1 Vendémiaire an 2 de la Révolution, jour du Raisin")
 (1794  9 21 "Quintidi 5 jour complémentaire an 2 de la Révolution, jour des Récompenses")
 (1794  9 22 "Primidi 1 Vendémiaire an 3 de la Révolution, jour du Raisin")
 (1795  9 22 "Sextidi 6 jour complémentaire an 3 de la Révolution, jour de la Révolution")
 (1795  9 23 "Primidi 1 Vendémiaire an 4 de la Révolution, jour du Raisin")
 (1796  9 21 "Quintidi 5 jour complémentaire an 4 de la Révolution, jour des Récompenses")
 (1796  9 22 "Primidi 1 Vendémiaire an 5 de la Révolution, jour du Raisin")
 (1797  9 21 "Quintidi 5 jour complémentaire an 5 de la Révolution, jour des Récompenses")
 (1797  9 22 "Primidi 1 Vendémiaire an 6 de la Révolution, jour du Raisin")
 (1799  9 22 "Sextidi 6 jour complémentaire an 7 de la Révolution, jour de la Révolution")
 (1799  9 23 "Primidi 1 Vendémiaire an 8 de la Révolution, jour du Raisin")
 (1800  9 22 "Quintidi 5 jour complémentaire an 8 de la Révolution, jour des Récompenses")
 (1800  9 23 "Primidi 1 Vendémiaire an 9 de la Révolution, jour du Raisin")
 (1801  9 22 "Quintidi 5 jour complémentaire an 9 de la Révolution, jour des Récompenses")
 (1801  9 23 "Primidi 1 Vendémiaire an 10 de la Révolution, jour du Raisin")
 (1823  9 22 "Quintidi 5 jour complémentaire an 31 de la Révolution, jour des Récompenses")
 (1823  9 23 "Primidi 1 Vendémiaire an 32 de la Révolution, jour du Raisin")
 (1824  9 22 "Sextidi 6 jour complémentaire an 32 de la Révolution, jour de la Révolution")
 (1824  9 23 "Primidi 1 Vendémiaire an 33 de la Révolution, jour du Raisin")
 (1825  9 22 "Quintidi 5 jour complémentaire an 33 de la Révolution, jour des Récompenses")
 (1825  9 23 "Primidi 1 Vendémiaire an 34 de la Révolution, jour du Raisin")
 (1892  9 21 "Quintidi 5 jour complémentaire an 100 de la Révolution, jour des Récompenses")
 (1892  9 22 "Primidi 1 Vendémiaire an 101 de la Révolution, jour du Raisin")
 (1900  9 22 "Sextidi 6 jour complémentaire an 108 de la Révolution, jour de la Révolution")
 (1900  9 23 "Primidi 1 Vendémiaire an 109 de la Révolution, jour du Raisin")
 (1992  9 21 "Quintidi 5 jour complémentaire an 200 de la Révolution, jour des Récompenses")
 (1992  9 22 "Primidi 1 Vendémiaire an 201 de la Révolution, jour du Raisin")
 (2000  9 21 "Sextidi 6 jour complémentaire an 208 de la Révolution, jour de la Révolution")
 (2000  9 22 "Primidi 1 Vendémiaire an 209 de la Révolution, jour du Raisin")
 (2092  9 20 "Quintidi 5 jour complémentaire an 300 de la Révolution, jour des Récompenses")
 (2092  9 21 "Primidi 1 Vendémiaire an 301 de la Révolution, jour du Raisin")
 (2100  9 21 "Sextidi 6 jour complémentaire an 308 de la Révolution, jour de la Révolution")
 (2100  9 22 "Primidi 1 Vendémiaire an 309 de la Révolution, jour du Raisin")
 (2192  9 21 "Sextidi 6 jour complémentaire an 400 de la Révolution, jour de la Révolution")
 (2192  9 22 "Primidi 1 Vendémiaire an 401 de la Révolution, jour du Raisin")
 (2193  9 21 "Quintidi 5 jour complémentaire an 401 de la Révolution, jour des Récompenses")
 (2199  9 22 "Primidi 1 Vendémiaire an 408 de la Révolution, jour du Raisin")
 (2200  9 22 "Sextidi 6 jour complémentaire an 408 de la Révolution, jour de la Révolution")
 (2791  9 23 "Primidi 1 Vendémiaire an 1000 de la Révolution, jour du Raisin")
 (2792  9 22 "Primidi 1 Vendémiaire an 1001 de la Révolution, jour du Raisin")
 (3000  1  1 "Duodi 12 Nivôse an 1208 de la Révolution, jour de l'Argile")
 (3001  1  1 "Primidi 11 Nivôse an 1209 de la Révolution, jour du Granit")
 (3791  9 22 "Primidi 1 Vendémiaire an 2000 de la Révolution, jour du Raisin")
 (3792  9 22 "Primidi 1 Vendémiaire an 2001 de la Révolution, jour du Raisin")
 (4000  1  1 "Duodi 12 Nivôse an 2208 de la Révolution, jour de l'Argile")
 (4001  1  1 "Duodi 12 Nivôse an 2209 de la Révolution, jour de l'Argile")
 (4320  9 10 "Quartidi 24 Fructidor an 2528 de la Révolution, jour du Sorgho")
 (4320  9 11 "Quintidi 25 Fructidor an 2528 de la Révolution, jour de l'Écrevisse")
 (4791  9 23 "Primidi 1 Vendémiaire an 3000 de la Révolution, jour du Raisin")
 (4792  9 22 "Primidi 1 Vendémiaire an 3001 de la Révolution, jour du Raisin")
 (5000  1  1 "Duodi 12 Nivôse an 3208 de la Révolution, jour de l'Argile")
 (5001  1  1 "Primidi 11 Nivôse an 3209 de la Révolution, jour du Granit")
 (5791  9 22 "Primidi 1 Vendémiaire an 4000 de la Révolution, jour du Raisin")
 (5792  9 21 "Primidi 1 Vendémiaire an 4001 de la Révolution, jour du Raisin")
 (6000  1  1 "Tridi 13 Nivôse an 4208 de la Révolution, jour de l'Ardoise")
 (6001  1  1 "Tridi 13 Nivôse an 4209 de la Révolution, jour de l'Ardoise")
 (6791  9 22 "Primidi 1 Vendémiaire an 5000 de la Révolution, jour du Raisin")
 (6792  9 21 "Primidi 1 Vendémiaire an 5001 de la Révolution, jour du Raisin")
 (7791  9 21 "Primidi 1 Vendémiaire an 6000 de la Révolution, jour du Raisin")
 (7792  9 21 "Primidi 1 Vendémiaire an 6001 de la Révolution, jour du Raisin")
    )) 

(ert-deftest cal-french-tests ()
  (pcase-dolist (`(,y ,m ,d ,str) cal-french-test-cases)
    (should (equal (calendar-french-date-string (list m d y)) str))))

(provide 'cal-french-tests)

  reply	other threads:[~2021-06-15 10:29 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-24 21:01 bug#19174: Wishlist/suggestion for emacs/lisp/calendar/cal-french.el Jean Forget
2014-11-26 19:14 ` Glenn Morris
2021-05-28  2:00 ` Lars Ingebrigtsen
2021-06-07 19:32   ` Jean Forget
2021-06-08  9:34     ` Lars Ingebrigtsen
2021-06-08 17:47       ` Jean Forget
2021-06-09 10:07         ` Lars Ingebrigtsen
2021-06-10  5:56           ` bug#19174: JEAN FORGET Jean Forget
2021-06-09 14:11 ` bug#19174: Wishlist/suggestion for emacs/lisp/calendar/cal-french.el Mattias Engdegård
2021-06-10  5:40   ` Jean Forget
2021-06-10  9:09     ` Mattias Engdegård
2021-06-15  5:55       ` Jean Forget
2021-06-15 10:29         ` Mattias Engdegård [this message]
2021-06-15 13:58           ` Lars Ingebrigtsen
2021-07-23 13:27             ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=68C6E4A8-A4BC-4663-B595-4D02C383C22A@acm.org \
    --to=mattiase@acm.org \
    --cc=19174@debbugs.gnu.org \
    --cc=J2N-FORGET@orange.fr \
    --cc=larsi@gnus.org \
    --cc=rgm@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).