summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am8
-rwxr-xr-xtest/bug-002.sh16
-rw-r--r--test/data/apts141
-rw-r--r--test/data/apts-bug-0022
-rw-r--r--test/data/apts-recur12
-rwxr-xr-xtest/recur-001.sh50
-rwxr-xr-xtest/recur-002.sh14
-rwxr-xr-xtest/recur-003.sh17
-rwxr-xr-xtest/recur-004.sh18
-rwxr-xr-xtest/recur-005.sh18
-rw-r--r--test/run-test.c3
11 files changed, 298 insertions, 1 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index 85c8a1d..76a40fb 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -15,7 +15,13 @@ TESTS = \
range-003.sh \
appointment-001.sh \
next-001.sh \
- search-001.sh
+ search-001.sh \
+ bug-002.sh \
+ recur-001.sh \
+ recur-002.sh \
+ recur-003.sh \
+ recur-004.sh \
+ recur-005.sh
TESTS_ENVIRONMENT = \
CALCURSE='$(top_builddir)/src/calcurse' \
diff --git a/test/bug-002.sh b/test/bug-002.sh
new file mode 100755
index 0000000..4784b59
--- /dev/null
+++ b/test/bug-002.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+if [ "$1" = 'actual' ]; then
+ "$CALCURSE" --read-only -D "$DATA_DIR"/ -c "$DATA_DIR/apts-bug-002" \
+ -d05/03/2012
+elif [ "$1" = 'expected' ]; then
+ cat <<EOD
+05/03/12:
+ - 10:45 -> 12:45
+ Quantum Mechanics
+ - 18:30 -> 21:30
+ German Class
+EOD
+else
+ ./run-test "$0"
+fi
diff --git a/test/data/apts b/test/data/apts
index 33de89b..c21bf24 100644
--- a/test/data/apts
+++ b/test/data/apts
@@ -658,3 +658,144 @@
04/27/2032 [1] Cringing Osborne
05/26/2032 [1] Confine lames
08/03/2032 [1] Ceremonial straw's antelope's Mercer Kathiawar's
+01/01/1902 [1] Swastikas seeking
+01/01/1902 [1] Elongate wallpaper's midterms classify
+01/01/1902 [1] Seedy locoweed persecutor
+01/01/1902 [1] Acidifies flack's evaporating
+01/01/1902 [1] Aniakchak Pantagruel
+01/01/1902 [1] Imperishables
+01/01/1902 [1] Stuff hysteresis
+01/01/1902 [1] Area
+01/01/1902 [1] Brandished eyrie cloying emcees
+01/01/1902 [1] Exceptionable
+01/01/1902 [1] Acanthi kinked hardtack's mumps
+01/01/1902 [1] Cesspool's murdered cod's Washingtonians
+01/01/1902 [1] Snow
+01/01/1902 [1] Kibitz subcontinent hogwash's displaying quarto
+01/01/1902 [1] Mischievousness's species adultery's petrochemicals Remus
+01/01/1902 [1] Insecure Taiyuan Chungking's Tm's
+01/01/1902 [1] Minuscules pompadours fourfold incognito
+01/01/1902 [1] Geography's Delaney's
+01/01/1902 [1] Skilled bastardized dormers Buckingham munitions
+01/01/1902 [1] Also
+01/01/1902 [1] Marquis's
+01/01/1902 [1] Malamud's
+01/01/1902 [1] Gilda
+01/01/1902 [1] Roe's apace disinfectants metered spinals
+01/01/1902 [1] Locals goutiest Gomulka's
+01/01/1902 [1] Surgery's apple covertly
+01/01/1902 [1] Shantung Earlene pillage leer complainant's
+01/01/1902 [1] Bach's
+01/01/1902 [1] Luisa's Chimborazo's shuffleboard's
+01/01/1902 [1] Tiffed Garcia Elton's
+01/01/1902 [1] Peculiarities Jewishnesses attenuate
+01/01/1902 [1] Wallpapered tampers Dhaka transgression's alohas
+01/01/1902 [1] Roam psycho's
+01/01/1902 [1] Automobiles beguiles
+01/01/1902 [1] Dumfounds medial lark's
+01/01/1902 [1] Haggler's ablative safeguard
+01/01/1902 [1] Broomsticks
+01/01/1902 [1] Therapist cooker's flutes He's
+01/01/1902 [1] Bonny strode Pasteur's inconsequentially Gamble's
+01/01/1902 [1] Corporate
+01/01/1902 [1] Lina's
+01/01/1902 [1] Kodachrome wicks callus's Genaro's
+01/01/1902 [1] Brokers horsefly repudiating knob
+01/01/1902 [1] Reflecting championing stringent Talmudic
+01/01/1902 [1] Noncommercial employes
+01/01/1902 [1] Competitively
+01/01/1902 [1] Garish duplicator edible battery's mock
+01/01/1902 [1] Flocks subornation's trawlers naming's
+01/01/1902 [1] Gruffness Gethsemane
+01/01/1902 [1] Absalom humankind editorship
+01/01/1902 [1] Ampule's Orinoco's nontransferable misspends
+01/01/1902 [1] Each Moselle's discussants flashlight's
+01/01/1902 [1] Electron's reproaches picker grayer
+01/01/1902 [1] Armrests Jamestown's nuke's motif undertaker
+01/01/1902 [1] Navigation's
+01/01/1902 [1] Pearl's Morin telescopes Emanuel's
+01/01/1902 [1] Mutating postnatal Tate familiarize discomfort
+01/01/1902 [1] Offsets debits
+01/01/1902 [1] Institutes's Canton susceptibility's hankie's
+01/01/1902 [1] Haleakala's Goldie's Set
+01/01/1902 [1] Hypocrite's bridal populars
+01/01/1902 [1] Lankiness
+01/01/1902 [1] Rinds weekdays
+01/01/1902 [1] Win hydrangea's display pelvic yukking
+01/01/1902 [1] Homer's strafes
+01/01/1902 [1] Rigor's sociopaths bashing outwore catalepsy
+01/01/1902 [1] Montaigne loophole
+01/01/1902 @ 00:01 -> 01/02/1902 @ 09:18 |Calibrator's
+01/01/1902 @ 05:03 -> 01/06/1902 @ 02:46 |Refresh prepackaged wieners
+01/01/1902 @ 01:58 -> 01/06/1902 @ 07:39 |Strontium's
+01/01/1902 @ 06:11 -> 01/01/1902 @ 10:15 |Abets reject pullbacks finaglers unroll
+01/01/1902 @ 02:55 -> 01/01/1902 @ 17:43 |Monterrey apprehensive Lonnie's
+01/01/1902 @ 03:19 -> 01/03/1902 @ 16:25 |Gill machination geranium's fathomless extraordinary
+01/01/1902 @ 06:15 -> 01/02/1902 @ 06:07 |Protruded vanguard
+01/01/1902 @ 02:31 -> 01/01/1902 @ 13:18 |Expo
+01/01/1902 @ 06:11 -> 01/05/1902 @ 10:50 |Placebos hugeness flailing ironing's
+01/01/1902 @ 07:40 -> 01/02/1902 @ 23:52 |Septembers astuter Jarvis caliper
+01/01/1902 @ 06:51 -> 01/05/1902 @ 07:33 |Asthma
+01/01/1902 @ 09:01 -> 01/04/1902 @ 14:26 |Monograph's
+01/01/1902 @ 00:37 -> 01/01/1902 @ 00:53 |Portal's Leach's Sara Asiatic Holly
+01/01/1902 @ 02:05 -> 01/02/1902 @ 00:41 |Yesteryear's
+01/01/1902 @ 06:52 -> 01/05/1902 @ 13:44 |Colluding steamrolled
+01/01/1902 @ 06:28 -> 01/06/1902 @ 07:57 |Incubuses flat prison Ryukyu's
+01/01/1902 @ 06:04 -> 01/02/1902 @ 09:50 |Synods
+01/01/1902 @ 05:17 -> 01/01/1902 @ 20:13 |Eucalyptus's Araby
+01/01/1902 @ 04:12 -> 01/02/1902 @ 11:28 |Superstitious
+01/01/1902 @ 03:07 -> 01/02/1902 @ 14:53 |Chanted pumice's scalding prier
+01/01/1902 @ 01:26 -> 01/05/1902 @ 11:35 |Beethoven materialism signposting bucktoothed
+01/01/1902 @ 05:31 -> 01/02/1902 @ 11:34 |Isolated affair ritual's Hanukkahs Riel
+01/01/1902 @ 03:26 -> 01/02/1902 @ 15:16 |Supernumeraries incontrovertibly embolden iterate
+01/01/1902 @ 07:17 -> 01/05/1902 @ 00:07 |Federals spanner
+01/01/1902 @ 07:02 -> 01/03/1902 @ 22:41 |Unzipped earthing alleyways bankers
+01/01/1902 @ 08:24 -> 01/03/1902 @ 20:18 |Diesel ferrules Valkyrie's
+01/01/1902 @ 03:32 -> 01/01/1902 @ 04:06 |Winch
+01/01/1902 @ 09:01 -> 01/04/1902 @ 09:21 |Smartens promulgates uncharted McIntosh's
+01/01/1902 @ 00:59 -> 01/05/1902 @ 04:39 |Ho Nikolayev succumbing observances
+01/01/1902 @ 07:03 -> 01/02/1902 @ 11:52 |Kiwanis's Iceland
+01/01/1902 @ 08:13 -> 01/03/1902 @ 07:30 |Bawdily anviled crayfishes neuters
+01/01/1902 @ 01:46 -> 01/01/1902 @ 18:09 |Blenheim
+01/01/1902 @ 01:02 -> 01/04/1902 @ 12:06 |Posse overspreads psalm lamebrain's primps
+01/01/1902 @ 02:16 -> 01/04/1902 @ 13:18 |Sass organism's horses Melanesian
+01/01/1902 @ 09:01 -> 01/03/1902 @ 04:00 |Commons's
+01/01/1902 @ 06:16 -> 01/05/1902 @ 05:33 |Bungle head radiation's
+01/01/1902 @ 03:31 -> 01/03/1902 @ 05:20 |Psycho's
+01/01/1902 @ 06:58 -> 01/03/1902 @ 02:04 |Nomadic Gewürztraminer overrules
+01/01/1902 @ 07:25 -> 01/02/1902 @ 11:22 |Crematory amorphousness
+01/01/1902 @ 08:18 -> 01/04/1902 @ 11:42 |Charity's
+01/01/1902 @ 05:19 -> 01/04/1902 @ 22:02 |Fronde petrochemical's capitalistic
+01/01/1902 @ 02:09 -> 01/02/1902 @ 14:02 |Concurs windowed
+01/01/1902 @ 03:20 -> 01/03/1902 @ 10:01 |Condillac
+01/01/1902 @ 04:28 -> 01/02/1902 @ 09:33 |Carrie cued melodramatics
+01/01/1902 @ 06:55 -> 01/02/1902 @ 03:06 |Ferocity
+01/01/1902 @ 08:42 -> 01/01/1902 @ 20:57 |Simenon Kojak amening plagiarist
+01/01/1902 @ 08:30 -> 01/05/1902 @ 02:27 |Marshall
+01/01/1902 @ 05:38 -> 01/03/1902 @ 22:47 |Hokkaido's diseases
+01/01/1902 @ 07:21 -> 01/02/1902 @ 04:40 |Senility's
+01/01/1902 @ 03:29 -> 01/03/1902 @ 23:54 |Albumin altimeters Senghor's
+01/01/1902 @ 04:46 -> 01/03/1902 @ 12:02 |Lynnette Zane kimono's backlash
+01/01/1902 @ 05:32 -> 01/04/1902 @ 23:07 |Interfaced Hepplewhite slipped
+01/01/1902 @ 07:28 -> 01/02/1902 @ 19:34 |Discretion bauble varsity's
+01/01/1902 @ 06:18 -> 01/05/1902 @ 02:47 |Damned
+01/01/1902 @ 01:43 -> 01/04/1902 @ 22:12 |Doting
+01/01/1902 @ 03:23 -> 01/03/1902 @ 12:31 |Access Yang bethinks vectored broad
+01/01/1902 @ 02:50 -> 01/03/1902 @ 20:32 |Tasseled
+01/01/1902 @ 06:52 -> 01/03/1902 @ 10:06 |Ventriloquist's indisputable squats Fenian's slowdown's
+01/01/1902 @ 06:31 -> 01/04/1902 @ 21:25 |Learning
+01/01/1902 @ 00:44 -> 01/01/1902 @ 14:29 |Blondes Sasquatch cablecasted
+01/01/1902 @ 06:16 -> 01/04/1902 @ 20:13 |Papillae hairpin ailerons
+01/01/1902 @ 00:22 -> 01/02/1902 @ 11:54 |Menses enrichment afloat failed incorruptible
+01/01/1902 @ 08:13 -> 01/01/1902 @ 17:50 |Motown's factors disappearing
+01/01/1902 @ 08:40 -> 01/06/1902 @ 04:00 |Observable parleys industrialization Cambrian boxwood's
+01/01/1902 @ 04:56 -> 01/03/1902 @ 00:14 |Summer Mujib humbles fatherless foretelling
+01/01/1902 @ 00:08 -> 01/02/1902 @ 20:46 |Binnacles
+01/01/1902 @ 04:38 -> 01/03/1902 @ 00:50 |Packard's
+01/01/1902 @ 08:49 -> 01/03/1902 @ 12:10 |Hypnotist reappraisal rehiring Castaneda
+01/01/1902 @ 02:26 -> 01/06/1902 @ 03:30 |Jataka backwards
+01/01/1902 @ 00:07 -> 01/05/1902 @ 01:15 |Zeno Goldberg's Iberia's truants coiffured
+01/01/1902 @ 00:59 -> 01/04/1902 @ 19:16 |Lounges
+01/01/1902 @ 00:05 -> 01/03/1902 @ 13:11 |Heisenberg Jewries hookier misfortunes auspiciousness
+01/01/1902 @ 08:02 -> 01/01/1902 @ 11:59 |District
+01/01/1902 @ 02:54 -> 01/05/1902 @ 06:18 |Grin menstruation's
diff --git a/test/data/apts-bug-002 b/test/data/apts-bug-002
new file mode 100644
index 0000000..6ced520
--- /dev/null
+++ b/test/data/apts-bug-002
@@ -0,0 +1,2 @@
+03/22/2012 @ 18:30 -> 03/22/2012 @ 21:30 {1W -> 06/21/2012} |German Class
+04/19/2012 @ 10:45 -> 04/19/2012 @ 12:45 {1W -> 05/06/2012} |Quantum Mechanics
diff --git a/test/data/apts-recur b/test/data/apts-recur
new file mode 100644
index 0000000..0fdfe3e
--- /dev/null
+++ b/test/data/apts-recur
@@ -0,0 +1,12 @@
+01/01/2000 [1] {1D} Each day since 2000-01-01
+01/01/2000 [1] {1W} Each Saturday since 2000-01-01
+01/01/2000 [1] {1M} Each first day of the month since 2000-01-01
+01/01/2000 [1] {1Y} Every year on January, 1st since year 2000
+01/01/2000 [1] {2D} Every second day since 2000-01-01
+01/01/2000 [1] {4W} Every 28 days since 2000-01-01
+01/01/2000 [1] {7D} Same as "01/01/2000 [1] {1W}"
+01/01/2000 [1] {3D -> 12/31/2000} Every three days in year 2000
+01/01/2000 [1] {3D !01/04/2000} Every three days, but not on 2000-01-04
+01/01/2000 @ 16:00 -> 01/02/2000 @ 02:00 {2D} |Recurrent appointment
+01/01/2000 @ 00:00 -> 01/07/2000 @ 00:00 {1W} |Another recurrent appointment
+01/01/2000 @ 00:00 -> 01/07/2000 @ 00:00 {1D} |Third recurrent appointment
diff --git a/test/recur-001.sh b/test/recur-001.sh
new file mode 100755
index 0000000..307c174
--- /dev/null
+++ b/test/recur-001.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+if [ "$1" = 'actual' ]; then
+ "$CALCURSE" --read-only -D "$DATA_DIR"/ -c "$DATA_DIR/apts-recur" \
+ -s01/01/2000 -r8 --format-recur-apt=''
+elif [ "$1" = 'expected' ]; then
+ cat <<EOD
+01/01/00:
+ * Each day since 2000-01-01
+ * Each Saturday since 2000-01-01
+ * Each first day of the month since 2000-01-01
+ * Every year on January, 1st since year 2000
+ * Every second day since 2000-01-01
+ * Every 28 days since 2000-01-01
+ * Same as "01/01/2000 [1] {1W}"
+ * Every three days in year 2000
+ * Every three days, but not on 2000-01-04
+
+01/02/00:
+ * Each day since 2000-01-01
+
+01/03/00:
+ * Each day since 2000-01-01
+ * Every second day since 2000-01-01
+
+01/04/00:
+ * Each day since 2000-01-01
+ * Every three days in year 2000
+
+01/05/00:
+ * Each day since 2000-01-01
+ * Every second day since 2000-01-01
+
+01/06/00:
+ * Each day since 2000-01-01
+
+01/07/00:
+ * Each day since 2000-01-01
+ * Every second day since 2000-01-01
+ * Every three days in year 2000
+ * Every three days, but not on 2000-01-04
+
+01/08/00:
+ * Each day since 2000-01-01
+ * Each Saturday since 2000-01-01
+ * Same as "01/01/2000 [1] {1W}"
+EOD
+else
+ ./run-test "$0"
+fi
diff --git a/test/recur-002.sh b/test/recur-002.sh
new file mode 100755
index 0000000..d302971
--- /dev/null
+++ b/test/recur-002.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+if [ "$1" = 'actual' ]; then
+ "$CALCURSE" --read-only -D "$DATA_DIR"/ -c "$DATA_DIR/apts-recur" \
+ -d02/01/2000 --format-recur-apt=''
+elif [ "$1" = 'expected' ]; then
+ cat <<EOD
+02/01/00:
+ * Each day since 2000-01-01
+ * Each first day of the month since 2000-01-01
+EOD
+else
+ ./run-test "$0"
+fi
diff --git a/test/recur-003.sh b/test/recur-003.sh
new file mode 100755
index 0000000..fadaea0
--- /dev/null
+++ b/test/recur-003.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+if [ "$1" = 'actual' ]; then
+ "$CALCURSE" --read-only -D "$DATA_DIR"/ -c "$DATA_DIR/apts-recur" \
+ -d01/01/2001 --format-recur-apt=''
+elif [ "$1" = 'expected' ]; then
+ cat <<EOD
+01/01/01:
+ * Each day since 2000-01-01
+ * Each first day of the month since 2000-01-01
+ * Every year on January, 1st since year 2000
+ * Every second day since 2000-01-01
+ * Every three days, but not on 2000-01-04
+EOD
+else
+ ./run-test "$0"
+fi
diff --git a/test/recur-004.sh b/test/recur-004.sh
new file mode 100755
index 0000000..39ea193
--- /dev/null
+++ b/test/recur-004.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if [ "$1" = 'actual' ]; then
+ "$CALCURSE" --read-only -D "$DATA_DIR"/ -c "$DATA_DIR/apts-recur" \
+ -d01/01/2000 --format-recur-event=''
+elif [ "$1" = 'expected' ]; then
+ cat <<EOD
+01/01/00:
+ - 00:00 -> ..:..
+ Another recurrent appointment
+ - 00:00 -> ..:..
+ Third recurrent appointment
+ - 16:00 -> ..:..
+ Recurrent appointment
+EOD
+else
+ ./run-test "$0"
+fi
diff --git a/test/recur-005.sh b/test/recur-005.sh
new file mode 100755
index 0000000..6f9d4c3
--- /dev/null
+++ b/test/recur-005.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if [ "$1" = 'actual' ]; then
+ "$CALCURSE" --read-only -D "$DATA_DIR"/ -c "$DATA_DIR/apts-recur" \
+ -d01/10/2000 --format-recur-event=''
+elif [ "$1" = 'expected' ]; then
+ cat <<EOD
+01/10/00:
+ - ..:.. -> ..:..
+ Another recurrent appointment
+ - ..:.. -> 02:00
+ Recurrent appointment
+ - 00:00 -> ..:..
+ Third recurrent appointment
+EOD
+else
+ ./run-test "$0"
+fi
diff --git a/test/run-test.c b/test/run-test.c
index c779be7..fb5bcb4 100644
--- a/test/run-test.c
+++ b/test/run-test.c
@@ -183,6 +183,9 @@ static int run_test(const char *name, int expect_failure)
}
}
+ if (fgets(buf2, BUFSIZ, fpin2))
+ ret = 0;
+
if (fpin1)
fclose(fpin1);
if (fpin2)