%%
%% This is file `rotchiffre-test2.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% rotchiffre.dtx  (with options: `test2')
%% 
%% This is a generated file.
%% 
%% Project: rotchiffre
%% Version: 2010/11/12 v1.0
%% 
%% Copyright (C) 2010 by
%%    Heiko Oberdiek <heiko.oberdiek at googlemail.com>
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%%    http://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status "maintained".
%% 
%% This Current Maintainer of this work is Heiko Oberdiek.
%% 
%% The Base Interpreter refers to any `TeX-Format',
%% because some files are installed in TDS:tex/generic//.
%% 
%% This work consists of the main source file rotchiffre.dtx
%% and the derived files
%%    rotchiffre.sty, rotchiffre.pdf, rotchiffre.ins, rotchiffre.drv,
%%    rotchiffre-test1.tex, rotchiffre-test2.tex.
%% 
\catcode`\{=1 %
\catcode`\}=2 %
\catcode`\#=6 %
\catcode`\^=7 %
\font\rmfont=ec-lmtt10\relax
\rmfont
\showboxbreadth=10000 %
\showboxdepth=10000 %
\errorcontextlines=10000
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
  \input rotchiffre.sty\relax
\else
  \RequirePackage{rotchiffre}[2010/11/12]%
  \RequirePackage{ifluatex}[2010/03/01]%
  \RequirePackage{ifxetex}[2010/09/12]%
\fi
\catcode`\@=11 %
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname @onelevel@sanitize\endcsname\relax
  \begingroup\expandafter\expandafter\expandafter\endgroup
  \expandafter\ifx\csname detokenize\endcsname\relax
    \def\strip@prefix#1->{}%
    \def\@onelevel@sanitize#1{%
      \edef#1{%
        \expandafter\strip@prefix\meaning#1%
      }%
    }%
  \else
    \def\@onelevel@sanitize#1{%
      \edef#1{%
        \detokenize\expandafter{#1}%
      }%
    }%
  \fi
\fi
\def\msg#{\immediate\write16}
\def\empty{}
\begingroup
  \def\x#1{%
    \def\space{#1}%
    \def\spacesII{#1#1}%
    \def\spacesIII{#1#1#1}%
    \def\spacesIV{#1#1#1#1}%
  }%
\expandafter\endgroup\x{ }
\def\PrintStr#1#2{%
  \begingroup
    \@onelevel@sanitize#2%
    \msg{#1: [#2]}% hash-ok
  \endgroup
}
\def\CheckResult{%
  \PrintStr{Result}\StrResult
  \ifx\StrExpect\StrResult
    \msg{==> Ok}%
  \else
    \begingroup
    \edef\x{\endgroup
      \errmessage{Test failed (\chiffre)!}%
    }\x
  \fi
}
\long\def\test#1#2{%
  \msg{}%
  \begingroup
    \setbox0=\hbox{%
      \edef\StrInput{#1}%
      \@onelevel@sanitize\StrInput
      \PrintStr{ Input}\StrInput
      \edef\StrExpect{#2}%
      \@onelevel@sanitize\StrExpect
      \PrintStr{Expect}\StrExpect
      \action{#1}%
      \CheckResult
    }%
    \ifdim\wd0=0pt %
    \else
      \showbox0 %
    \fi
  \endgroup
}
\def\cmd#1{%
  \msg{* CMD: ROT#1}%
  \def\chiffre{ROT#1}%
  \def\action{\EdefRot{#1}\StrResult}%
}
\def\TestIgnore#1{%
  \test{#1}{#1}%
}
\begingroup
  \lccode`\P=`\%%
  \lccode`\B=`\\%
  \lccode`\H=`\#%
\lowercase{\endgroup
  \def\PercentChar{P}%
  \def\BackslashChar{B}%
  \def\HashChar{H}%
}
\def\TestI{%
  \TestIgnore{%
    \space!"\HashChar$\PercentChar&'()*+,-./%
    :;<=>?@%
    [\BackslashChar]^_`%
    \string{|\string}\string~%
  }%
}
\begingroup
  \catcode0=12 %
  \lccode`A=1 %
  \lccode`B=2 %
  \lccode`C=3 %
  \lccode`D=4 %
  \lccode`E=5 %
  \lccode`F=6 %
  \lccode`G=7 %
  \lccode`H=8 %
  \lccode`I=9 %
  \lccode`J=10 %
  \lccode`K=11 %
  \lccode`L=12 %
  \lccode`M=13 %
  \lccode`N=14 %
  \lccode`O=15 %
  \lccode`P=16 %
  \lccode`Q=17 %
  \lccode`R=18 %
  \lccode`S=19 %
  \lccode`T=20 %
  \lccode`U=21 %
  \lccode`V=22 %
  \lccode`W=23 %
  \lccode`X=24 %
  \lccode`Y=25 %
  \lccode`Z=26 %
  \lccode`a=27 %
  \lccode`b=28 %
  \lccode`c=29 %
  \lccode`d=30 %
  \lccode`e=31 %
  \lccode`f=127 %
  \lccode`g=128 %
  \lccode`h=129 %
  \lccode`y=254 %
  \lccode`z=255 %
\lowercase{\endgroup
  \def\TestC{%
    \TestIgnore{%
      ^^@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhyz%
    }%
  }%
  \def\TestZ{%
    \TestIgnore{^^@}%
  }%
}
\cmd{13}
\test{%
  0123456789%
  ABCDEFGHIJKLMNOPQRSTUVWXYZ%
  abcdefghijklmnopqrstuvwxyz%
}{%
  0123456789%
  NOPQRSTUVWXYZABCDEFGHIJKLM%
  nopqrstuvwxyzabcdefghijklm%
}
\TestI
\TestC
\test{}{}
\test{A}{N}
\test{N}{A}
\test{ }{ }
\test{0a}{0n}
\test{\spacesIV}{\spacesIV}
\test{{}}{{}}
\test{\par}{\noexpand\cne}
\cmd{5}
\test{%
  0123456789%
  ABCDEFGHIJKLMNOPQRSTUVWXYZ%
  abcdefghijklmnopqrstuvwxyz%
}{%
  5678901234%
  ABCDEFGHIJKLMNOPQRSTUVWXYZ%
  abcdefghijklmnopqrstuvwxyz%
}
\TestI
\TestC
\cmd{18}
\test{%
  ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%
  abcdefghijklmnopqrstuvwxyz%
}{%
  STUVWXYZ0123456789ABCDEFGHIJKLMNOPQR%
  nopqrstuvwxyzabcdefghijklm%
}
\TestI
\TestC
\cmd{47}
\test{%
  !"\HashChar$\PercentChar&'()*+,-./%
  0123456789%
  :;<=>?@%
  ABCDEFGHIJKLMNOPQRSTUVWXYZ%
  [\BackslashChar]^_`%
  abcdefghijklmnopqrstuvwxyz%
  \string{|\string}\string~%
}{%
  PQRSTUVWXYZ%
  [\BackslashChar]^_`%
  abcdefghijklmnopqrstuvwxyz%
  \string{|\string}\string~%
  !"\HashChar$\PercentChar&'()*+,-./%
  0123456789%
  :;<=>?@%
  ABCDEFGHIJKLMNO%
}
\TestZ
\TestC
\chardef\temp=0 %
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname XeTeXrevision\endcsname\relax
  \begingroup\expandafter\expandafter\expandafter\endgroup
  \expandafter\ifx\csname RequirePackage\endcsname\relax
    \input ifluatex.sty\relax
  \else
    \RequirePackage{ifluatex}[2010/03/01]%
  \fi
  \begingroup\expandafter\expandafter\expandafter\endgroup
  \expandafter\ifx\csname luatexversion\endcsname\relax
  \else
    \chardef\temp=1 %
  \fi
\else
  \chardef\temp=1 %
\fi
\ifcase\temp
  \csname @@end\expandafter\endcsname\expandafter\end
\fi
\msg{* Big chars}
\cmd{5}
\test{}{}
\test{ }{ }
\test{ 0 1 }{ 5 6 }
\begingroup
  \lccode`A=300 %
  \lccode`B=1000 %
  \lccode`C=10000 %
\lowercase{\endgroup
  \TestIgnore{ABC}%
  \TestIgnore{x A By zC xAy AxB}%
}%
\csname @@end\endcsname\end
\endinput
%%
%% End of file `rotchiffre-test2.tex'.
