%% %% This is file `qstest.drv', %% generated with the docstrip utility. %% %% The original source files were: %% %% qstest.dtx (with options: `driver,test,etex') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from qstest.drv. %% %% For distribution of the original source see the terms %% for copying and modification in the file qstest.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \errorcontextlines=\maxdimen %% %% Copyright (C) 2006, 2007 QuinScape GmbH %% http://www.quinscape.de \RequirePackage{qstest} \LogTests{lgout}{*}{*} \begin{qstest}{# in isolation}{\Expect, #, \unexpanded} \toks0{# and #} \Expect*{\the\toks0}*{\unexpanded{# and #}} \end{qstest} \begin{qstest}{# in isolation 2}{\Expect, #, \string} \toks0{# and #} \Expect*{\the\toks0}*{\string#\string# and \string#\string#} \end{qstest} \begin{qstest}{# as macro parameter}{\Expect, #} \toks0{\def\xxx#1{}} \Expect\expandafter{\the\toks0}{\def\xxx#1{}} \end{qstest} \makeatletter \begin{qstest}{Some LaTeX definitions}{\Expect} \Expect*{\meaning\@gobble}{\long macro:#1->} \Expect*{\the\maxdimen}{16383.99998pt} \end{qstest} \RequirePackage{ifthen} \begin{qstest}{\ExpectIfThen}{\ExpectIfThen} \ExpectIfThen{\lengthtest{\maxdimen=16383.99998pt}\AND \maxdimen>1000000000} \end{qstest} \begin{qstest}{\InRange success}{\InRange} \dimen@=10pt \Expect*{\the\dimen@}\InRange{5pt}{15pt} \Expect*{\the\dimen@}\InRange{10pt}{15pt} \Expect*{\the\dimen@}\InRange{5pt}{10pt} \end{qstest} \begin{qstest}{\InRange failure}{\InRange, fails} \dimen@=10pt \dimen@ii=9.99998pt \Expect*{\the\dimen@}\InRange{5pt}{\dimen@ii} \dimen@ii=10.00002pt \Expect*{\the\dimen@}*\InRange{\the\dimen@ii}{15pt} \end{qstest} \begin{qstest}{\NearTo success}{\NearTo} \dimen@=10pt \Expect*{\the\dimen@}\NearTo{10.05pt} \Expect*{\the\dimen@}\NearTo{9.95pt} \Expect*{\the\dimen@}\NearTo[2pt]{12pt} \Expect*{\the\dimen@}\NearTo[0.1pt]{9.9pt} \end{qstest} \begin{qstest}{\NearTo failure}{\NearTo, fails} \dimen@=10pt \Expect*{\the\dimen@}\NearTo{10.05002pt} \Expect*{\the\dimen@}\NearTo[1pt]{11.00001pt} \end{qstest} \begin{qstest}{\SavedValue}{\SavedValue} \SaveValueFile{\jobname.qsout} \SaveValue{\InternalSetValue}*{\meaning\InternalSetValue} \SaveValue{\IncludeTests}*{\meaning\IncludeTests} \SaveValue{whatever}*{3.1415} \SaveValue{\maxdimen}*{\the\maxdimen} \Expect{Whatever}\SavedValue{\InternalSetValue} \Expect[\IncludeTests]{Whatever else}\SavedValue{\IncludeTests} \Expect[whatever]{2.71828}\SavedValue{whatever} \Expect[undefined]{1.618034}\SavedValue{undefined} \CloseValueFile \input{\jobname.qsout} \Expect*{\meaning\InternalSetValue}\SavedValue{\InternalSetValue} \Expect[\IncludeTests]*{\meaning\IncludeTests}% \SavedValue{\IncludeTests} \Expect[whatever]{3.1415}\SavedValue{whatever} \Expect[undefined]{1.618034}\SavedValue{undefined} \end{qstest} \begin{qstest}{\SavedValue failure}{\SavedValue,fails} \Expect{Whatever}\SavedValue{\InternalSetValue} \Expect[\IncludeTests]{Whatever else}\SavedValue{\IncludeTests} \Expect{2.71828}\SavedValue{whatever} \end{qstest} \begin{qstest}{ExpectCallSequence}{ExpectCallSequence} \def\e{e} \def\f{f} \def\g{g} \def\h{h} \begin{ExpectCallSequence}{`\e#1{% \Expect\expandafter{\csname\CalledName#1\endcsname}{\e }% \Expect*{\meaning#1}{macro:->e}}+\f#1{}'} \e \e \e \e \f \end{ExpectCallSequence} \end{qstest} \LogClose{lgout} \documentclass{ltxdoc} \usepackage{qstest} \usepackage{hyperref} \OnlyDescription \AlsoImplementation \begin{document} \GetFileInfo{qstest.sty} \date{\filedate} \title{\texttt{\filename}\\\fileinfo\\version \fileversion} \author{David Kastrup\thanks{\href{mailto:dak@gnu.org} {David.Kastrup@QuinScape.de}, \href{http://quinscape.de}{QuinScape GmbH}}} \maketitle \DocInput{qstest.dtx} \end{document} \IncludeTests{*} \makeatletter \begin{qstest}{\LogClose}{} \begin{ExpectCallSequence}{% `\PackageInfo#1#2#3{\Expect[##1]{#2}{qstest}% \Expect[##2]{#3}{Logging off: \jobname.log}% #1{#2}{#3}}'} \LogClose{log} \end{ExpectCallSequence} \end{qstest} \begin{qstest}{\LogTests}{} \begin{ExpectCallSequence}{% \PackageInfo#1#2#3{\Expect[##1]{#2}{qstest}% \Expect[##2]{#3}{Logging on: \jobname.log}% #1{#2}{#3}}} \LogTests{log}{*}{*} \end{ExpectCallSequence} \end{qstest} \begin{qstest}{ExpectCallSequence state machine}% {ExpectCallSequence,internal} \def\foo#1#2#3{\relax\relax} \let\fie\relax \Expect*{\qst@csallocstate}{3} \Expect*{\qst@csalloctrans}{2} \begin{ExpectCallSequence}{\fie{}% `\foo#1#2#3{#2\bar{#3}}(\bar#1#2{#2}|.#1{})+% \foo#1{}} \Expect*{\qst@csstate}{7} \Expect*{\qst@csallocstate}{15} \foo{\Expect*{\qst@csstate}{8}}{\Expect*{\qst@csstate}{10}} \Expect*{\qst@csstate}{10} \fie \Expect*{\qst@csstate}{12} \foo \Expect*{\qst@csstate}{14} \fie \Expect*{\qst@csstate}{0} \Expect*{\meaning\fie}*{\meaning\relax} \foo\junk\junk\junk \Expect*{\qst@csstate}{0} \Expect*{\meaning\foo}{macro:#1#2#3->\relax \relax} \end{ExpectCallSequence} \end{qstest} \stop \endinput %% %% End of file `qstest.drv'.