summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2022-05-05biblio: Replace template interpreter with a macro (a "compiler").Ludovic Courtès
This allows us to catch invalid templates at macro-expansion time and is more efficient. * src/guile/skribilo/biblio/template.scm (evaluate-bib-entry-template): Remove. (define-template-engine, bibliography-template): New macros. (output-bib-entry-template): Rewrite and remove 'get-field' optional argument. (make-bib-entry-template/default, make-bib-entry-template/skribe): Use 'bibliography-template' instead of quasiquote/unquote. * src/guile/skribilo/package/jfp.scm (le): Likewise. * src/guile/skribilo/package/lncs.scm (bib-entry-template): Likewise. * src/guile/skribilo/biblio.scm (&biblio-template-error): Remove. (handle-biblio-error): Adjust accordingly. * tests/biblio.test: New file. * tests/Makefile.am (TESTS): Add it.
2022-04-13reader: Add Gemtext reader.Arun Isaac
* src/guile/skribilo/reader/gemtext.scm: New file. * configure.ac: Set BUILD_GEMTEXT_READER automake conditional to true if (srfi srfi-171) is found. Else, set it to false. * src/guile/Makefile.am (readers): Add skribilo/reader/gemtext.scm if BUILD_GEMTEXT_READER is true. (EXTRA_DIST): Add skribilo/reader/gemtext.scm if BUILD_GEMTEXT_READER is false. * doc/user/syntax.skb (The Gemtext Syntax): New section. * tests/readers/gemtext.test: New file. * tests/Makefile.am (TESTS): Add readers/gemtext.test if BUILD_GEMTEXT_READER is true. (EXTRA_DIST): Add readers/gemtext.text if BUILD_GEMTEXT_READER is false.
2021-09-29build: Use SRFI-64 test suite driver as found in Guix.Ludovic Courtès
This works around the fact that SRFI-64 in Guile 3.0.6+, 'test-runner-current' returns #f after 'test-end'. It also gives us a more featureful test runner, where one can do things like: make check TEST_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes" Reported by <soeren@soeren-tempel.net>. * build-aux/test-driver.scm: New file. * Makefile.am (EXTRA_DIST): Add it. * tests/Makefile.am (TEST_LOG_DRIVER): New variable. (TEST_LOG_COMPILER): New variable. * tests/ast.test, tests/engines/info.test, tests/location.test, tests/readers/rss-2.test, tests/resolve.test: Remove call to 'exit'.
2020-08-06Remove 'cond-expand' clauses for Guile 1.8.Ludovic Courtès
This is a followup to d183aa487d99baea3746f79759c17cf36c55dfbf. * src/guile/skribilo/debug.scm (with-debug): Remove 'cond-expand' and keep only 'guile-2' version. * src/guile/skribilo/engine/html.scm (&html-generic-document)[set-output-encoding]: Likewise. * src/guile/skribilo/engine/info.scm (document): Likewise. * src/guile/skribilo/engine/latex.scm (document): Likewise. * src/guile/skribilo/engine/lout.scm (document): Likewise. * src/guile/skribilo/evaluator.scm (%evaluate): Likewise. * src/guile/skribilo/location.scm <top level>: Likewise. * src/guile/skribilo/module.scm (maybe-set-module-name!): Likewise. * src/guile/skribilo/package/base.scm <top level>: Likewise. * src/guile/skribilo/utils/syntax.scm (unless, when): Remove. (set-correct-file-encoding!, default-to-utf-8): Keep only 'guile-2' variant. * tests/location.test <top level>: Likewise. * tests/readers/rss-2.test <top level>: Likewise.
2020-08-01Write '#:use-module', '#:export', etc. instead of ':use-module', etc.Ludovic Courtès
Changes made by running: for i in $(git ls-tree -r HEAD --name-only) ; do sed -i $i -e's/:use-module/#:use-module/g ; s/:autoload/#:autoload/g ; s/:export/#:export/g' ; done
2012-08-18build: Update test suite framework to Automake 1.12.Ludovic Courtès
* tests/Makefile.am (TESTS_ENVIRONMENT): Use semi-colons. Move $(GUILE) invocation... (TEST_LOG_COMPILER): ... here. New variable.
2012-06-01build: Don't build/test the RSS-2 reader when its requirements aren't met.Ludovic Courtès
Reported by rvclayton@verizon.net (R. Clayton). * configure.ac: Add `BUILD_RSS2_READER' Automake conditional. * src/guile/Makefile.am (readers): Make `skribilo/reader/rss-2.scm' conditional on `BUILD_RSS2_READER'. (EXTRA_DIST)[!BUILD_RSS2_READER]: Add `skribilo/reader/rss-2.scm'. * tests/Makefile.am (TESTS): Make `readers/rss-2.test' conditional on `BUILD_RSS2_READER'. (EXTRA_DIST)[!BUILD_RSS2_READER]: Add `readers/rss-2.test'.
2012-05-22tests: Avoid middle ellipsis in `syntax-case' pattern, for Guile 1.8.Ludovic Courtès
* tests/location.test (call-with-code): Expect only one string.
2012-05-22tests: Remove new log files.Ludovic Courtès
* tests/Makefile.am (CLEANFILES): Add `location.log' and `info.log'.
2012-05-17Change `define-markup' to generate a macro, to capture location syntactically.Ludovic Courtès
* src/guile/skribilo/lib.scm (dsssl->guile-formals): New procedure, formerly `fix-rest-arg' procedure in `define-markup'. (define-markup)[guile-2]: Turn into a macro-generating macro, such that markups capture their invocation location syntactically. * src/guile/skribilo/location.scm (source-properties->location): New procedure. (invocation-location): Use it. * src/guile/skribilo/package/base.scm (handle): Move above first use, since it's now a macro on Guile 2.0. * src/guile/skribilo/package/slide.scm (slide-vspace): Likewise. * src/guile/skribilo/package/eq.scm: Use (skribilo package base) instead of autoloading it. * tests/Makefile.am (TESTS): Add `location.test'. * tests/location.test: New file.
2012-05-14info: Rename `node-next+prev+top' to `node-next+prev+up'.Ludovic Courtès
* src/guile/skribilo/engine/info.scm (node-next+prev+top): Rename to... (node-next+prev+up): ... this. Update callers. * tests/engines/info.test (node-next+prev+up): Update accordingly.
2012-05-14info: Fix prev/next pointers.Ludovic Courtès
* src/guile/skribilo/ast.scm (ast-fold): Explicitly document as depth-first. * src/guile/skribilo/engine/info.scm (info-node): Support PREV and NEXT as false. (node-next+prev+top): Rewrite using `match' and `node-children'. * tests/Makefile.am (TESTS): Add `engines/info.test'. * tests/engines/info.test: New file.
2012-05-14ast: Add `node-children'.Ludovic Courtès
* src/guile/skribilo/ast.scm (node-children): New procedure. * tests/ast.test ("node-children"): New test.
2012-04-25Avoid deprecated features on Guile 2.Ludovic Courtès
* src/guile/skribilo/writer.scm (%procedure-arity): Use `procedure-minimum-arity' on Guile 2. * src/guile/srfi/srfi-64.upstream.scm: Use (ice-9 syncase) only when not on Guile 2. * tests/readers/rss-2.test (guile-2): Likewise.
2012-02-08tests: Use `syntax-rules' in `rss-2.test'.Ludovic Courtès
* tests/readers/rss-2.test (test-match): Rewrite using `syntax-rules'.
2009-11-20Define $GUILE_LOAD_COMPILED_PATH for Guile 2.x.Ludovic Courtès
* guile-vm.am (guile_warnings): New variable. (.scm.go): Set $GUILE_LOAD_COMPILED_PATH appropriately, specify Guile compilation warnings. * src/pre-inst-skribilo.in, src/skribilo.in: Set $GUILE_LOAD_COMPILED_PATH appropriately. * tests/Makefile.am (TESTS_ENVIRONMENT): Set $GUILE_AUTO_COMPILE and $GUILE_LOAD_COMPILED_PATH. * doc/user/Makefile.am (skribilo.info, .skb.html, .skb.lout, .skb.tex, .skb.ctx): Set $GUILE_LOAD_COMPILED_PATH. (load_compiled_path): New variable.
2009-05-26resolve: Add new test.Ludovic Courtès
* tests/resolve.test ("unresolved node in nested document"): New test.
2009-05-26Make sure to bind nodes that are in the body of non-markup nodes.Ludovic Courtès
* src/guile/skribilo/ast.scm (document-bind-nodes!): Traverse other nodes as well, such as processors. * src/guile/skribilo/resolve.scm (do-resolve!<unresolved>>): Likewise. * tests/resolve.test ("resolved nested document bindings"): New test.
2009-05-26Fix typo in `resolve.test'.Ludovic Courtès
* tests/resolve.test ("unresolved node in processor body"): Fix typo.
2009-05-26Fix node binding in sub-documents returned from unresolved nodes.Ludovic Courtès
* src/guile/skribilo/resolve.scm (do-resolve!<unresolved>): Bind sub-nodes of RES in the innermost document rather than in the root document. * tests/resolve.test ("resolved nested document bindings"): New test.
2009-05-26resolve: Clarify node bindings in nested documents.Ludovic Courtès
* src/guile/skribilo/ast.scm (document-bind-nodes!): Bind nodes in the innermost document, which may or may not be the root document. * tests/resolve.test ("root document has no parent", "nested document has a parent", "nested document is its own `ast-document'", "nested document bindings"): New tests.
2009-05-25Add `resolve' unit tests.Ludovic Courtès
* tests/Makefile.am (TESTS): Add `resolve.test'. (CLEANFILES): Add `resolve.log'.
2009-01-07Add AST unit tests.Ludovic Courtès
* tests/Makefile.am (TESTS): Add `ast.test'. (CLEANFILES): Add `ast.log'.
2009-01-05rss-2: Improve tests.Ludovic Courtès
* tests/readers/rss-2.test ("broken date format", "table"): New tests.
2008-12-23rss-2: Clean up tests.Ludovic Courtès
2008-12-23Add test framework and `rss-2' unit tests.Ludovic Courtès
* Makefile.am (SUBDIRS): Add `tests'. * configure.ac: Produce `tests/Makefile'. * src/guile/Makefile.am (EXTRA_DIST): Add SRFI-64 files. * tests: New directory.