Quelle helptools.tst
Sprache: unbekannt
|
|
# This test checks various auxiliary functions used by the help system.
#
# For the test that systematically checks each manual section, see
# tst/testextra/helpsys.tst
#
gap> START_TEST("helptools.tst");
gap> ForAll(FindMultiSpelledHelpEntries(), i ->
> Length( Set( HELP_SEARCH_ALTERNATIVES( i[3] ),
> j -> HELP_SEARCH_ALTERNATIVES(j) ) ) = 1 );
true
gap> Length(HELP_SEARCH_ALTERNATIVES("AnalyseMetacatalogOfCataloguesOfColourizationLabelingsOfCentreBySolvableNormalisersInNormalizerCentralizersInCentre"));
4096
gap> HELP_SEARCH_ALTERNATIVES("hasismapping");
[ "hasismapping", "ismapping", "setismapping" ]
gap> HELP_SEARCH_ALTERNATIVES("setismapping");
[ "hasismapping", "ismapping", "setismapping" ]
gap> HELP_SEARCH_ALTERNATIVES("ismapping");
[ "ismapping" ]
gap> HELP_SEARCH_ALTERNATIVES( "Centralize" ); # pattern at the end
[ "Centralise", "Centralize" ]
gap> HELP_SEARCH_ALTERNATIVES( "Centralizer" ); # one character behind pattern
[ "Centraliser", "Centralizer" ]
gap> HELP_SEARCH_ALTERNATIVES( "Centralizers" ); # two characters
[ "Centralisers", "Centralizers" ]
# Testing the code from `lib/helpt2t.g{d,i}` which converts TeX source code
# in `gapmacro.tex` format into text for the "screen" online help viewer.
#
# We add comment signs to the output since otherwise `Test` interprets GAP
# full and partial prompts as a GAP input.
#
# This is a helper function to display rendered text. It has an optional
# argument `key` to specify the search key and number of lines to print
# in this case (if we want a specific location in the documentation, we
# do not want to print all lines below).
#
gap> PrintRenderedText:=function( chapter, section, key... )
> local t2t, startline, lastline, i;
> atomic readwrite HELP_REGION do
> if Length(key)=0 then
> t2t:=HELP_PRINT_SECTION_TEXT(HELP_BOOK_INFO("mockpkg"),chapter,section);;
> startline := 1;
> lastline := Length(t2t.lines);
> else
> t2t:=HELP_PRINT_SECTION_TEXT(HELP_BOOK_INFO("mockpkg"),chapter,section,key[1]);;
> if t2t.start+key[2] > Length(t2t.lines) then
> startline := Length(t2t.lines)-key[2]+1;
> else
> startline := t2t.start;
> fi;
> lastline := Minimum(t2t.start+key[2]-1,Length(t2t.lines));
> fi;
> for i in [startline..lastline] do
> Print("% ",t2t.lines[i],"\n");
> od;
> od;
> end;;
# Load the help book for the mockpkg package
#
gap> HELP_ADD_BOOK("mockpkg","mockpkg",DirectoriesLibrary("tst/mockpkg/doc")[1]);
# First we test calling HELP_PRINT_SECTION_TEXT with three arguments
#
gap> PrintRenderedText(1,1 );
% Testing general text __________________________________ About this package
%
% This is a mock package to be used to test GAP library code related to GAP
% packages, for example to validate `PackageInfo.g` files. Clearly, it's
% not available anywhere, and it has its `ArchiveURL' set to
% `Concatenation( ~.PackageWWWHome, "/", ~.PackageName, "-", ~.Version )'
% only for testing purposes.
%
%
% This manual is used to construct a test for the code from
% `lib/helpt2t.g{d,i}' which converts TeX documentation written in
% `gapmacro.tex' format into text for the ``screen'' online help viewer.
%
% --------------------------------------------------------------------------
%
% Note that `gapmacro.tex' format is obsolete. If you are planning to write
% new documentation for a GAP package, don't use it. Instead, we recommend
% to use the GAPDoc package by Frank L"ubeck and Max Neunh"offer, see
% URL{http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc/}.
%
% If you have any questions, please contact *GAP Support* by email:
% Mailto{support@gap-system.org}.
%
% *Examples:* The following text demonstrates various features of
% `gapmacro.tex' format.
%
% This is an example of a GAP session:
%
% -------------------------------- Example ---------------------------------
% gap> a:=42;
% 42
% --------------------------------------------------------------------------
%
% This assigns $42$ to the variable `a' (see Section "ref:Variables" in the
% GAP Reference Manual).
%
% This is another example which is excluded from automated testing:
%
% testexamplefalse
%
% -------------------------------- Example ---------------------------------
% gap> Exec("date");
% Sun Oct 7 16:23:45 CEST 2001
% --------------------------------------------------------------------------
%
% This is an example of using the matrix environment:
%
% b_N = {
% 1/2 (-1+sqrt{N}) if N equiv 1 (mod 4)
% 1/2 (-1+i sqrt{N}) if N equiv -1 (mod 4)
%
%
% This is an example of using the begintt environment:
%
% A. X | B. Y | C. Z
% --------------------
% 1 | 2 | 3
% X | Y | Z
% --------------------
%
% These common domains are defined by special macros:
%
% natural numbers
% N
%
% integers
% Z
%
% Similarly, there are macros for Q, R, C, F, R.
%
% This is a collection of symbols to exercise various special cases in the
% core to render them as a text:
%
% (a) a ss a `a 'a ` a ' `a 'a \v\copyright
%
% (b) \ua -a ^a .a "a a
%
% (c) "a \ua \va
%
% (d) more mathematical symbols:
%
% -- $ 1 / 2 $ $=$ $ . a . a ... a ' $
%
% -- $ < > <> 1 mod 2 <= >= \ . o |-> $
%
% -- $ |--> -> => tilde a |- <=> x in y $
%
% -- $ for all there exists | : * [ ] ' U $
%
% Furthermore, $Sigma_{k}$ is given by
%
% Sigma_{k} = sum_{i in N}(A_{i,k})
%
% Finally,
%
% > ...
%
% produces no label and index entry, and
%
% ...
%
% is useful for producing a line in typewriter type.
%
gap> PrintRenderedText(1,2);
% Testing various mansection formats ____________________ About this package
%
% The following examples are taken from the gapmacro documentation.
%
% > Size(<obj>) A
%
% is an attribute of an object.
%
% > Size(<obj>)!{for permutation groups} A
%
% is special form of the previous command for permutation groups.
%
% > `<a> + <b>'{addition}
%
% is used to display command as a header.
%
% > `Size( <set> )'{size of a set} A
%
% is another example of the previous command.
%
% > `Size( <list> )'{size!of a list} A
%
% is an example with a sub-entry.
%
% > `Size( <obj> )'{size} A
%
% is an example equivalent to the first one in this section.
%
% > `Size( GL( <n>, <q> ) )'{Size!GL( n, q )} A
%
% is a more complex example.
%
% > `SomeGlobalVariable' V
%
% is an example of a global variable.
%
# Next, tests of calling HELP_PRINT_SECTION_TEXT with four arguments
gap> PrintRenderedText(1,2,"Size",4);
%
% > Size(<obj>) A
%
% is an attribute of an object.
gap> PrintRenderedText(1,2,"Size!for permutation groups",4);
%
% > Size(<obj>)!{for permutation groups} A
%
% is special form of the previous command for permutation groups.
gap> STOP_TEST( "helptools.tst" );
[ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet)
]
|
2026-03-28
|