%%
%% This is file `pdftexcmds-test-escape.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% pdftexcmds.dtx  (with options: `test-escape')
%% 
%% This is a generated file.
%% 
%% Project: pdftexcmds
%% Version: 2011/11/29 v0.20
%% 
%% Copyright (C) 2007, 2009-2011 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 pdftexcmds.dtx
%% and the derived files
%%    pdftexcmds.sty, pdftexcmds.pdf, pdftexcmds.ins, pdftexcmds.drv,
%%    pdftexcmds.bib, pdftexcmds-test1.tex, pdftexcmds-test2.tex,
%%    pdftexcmds-test-shell.tex, pdftexcmds-test-escape.tex,
%%    oberdiek.pdftexcmds.lua, pdftexcmds.lua.
%% 
\catcode`\{=1 %
\catcode`\}=2 %
\catcode`\#=6 %
\catcode`\^=7 %
\catcode`\@=11 %
\errorcontextlines=1000 %
\input pdftexcmds.sty\relax
\def\msg#1{%
  \begingroup
    \escapechar=92 %
    \immediate\write16{#1}%
  \endgroup
}
\begingroup
  \catcode`\@=11 %
  \countdef\count@=255 %
  \def\space{ }%
  \long\def\@whilenum#1\do #2{%
    \ifnum #1\relax
      #2\relax
      \@iwhilenum{#1\relax#2\relax}%
    \fi
  }%
  \long\def\@iwhilenum#1{%
    \ifnum #1%
      \expandafter\@iwhilenum
    \else
      \expandafter\ltx@gobble
    \fi
    {#1}%
  }%
  \gdef\AllBytes{}%
  \count@=0 %
  \catcode0=12 %
  \@whilenum\count@<256 \do{%
    \lccode0=\count@
    \ifnum\count@=32 %
      \xdef\AllBytes{\AllBytes\space}%
    \else
      \lowercase{%
        \xdef\AllBytes{\AllBytes^^@}%
      }%
    \fi
    \advance\count@ by 1 %
  }%
\endgroup
\def\AllBytesHex{%
  000102030405060708090A0B0C0D0E0F%
  101112131415161718191A1B1C1D1E1F%
  202122232425262728292A2B2C2D2E2F%
  303132333435363738393A3B3C3D3E3F%
  404142434445464748494A4B4C4D4E4F%
  505152535455565758595A5B5C5D5E5F%
  606162636465666768696A6B6C6D6E6F%
  707172737475767778797A7B7C7D7E7F%
  808182838485868788898A8B8C8D8E8F%
  909192939495969798999A9B9C9D9E9F%
  A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
  B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
  C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
  D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
  E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
  F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
}
\ltx@onelevel@sanitize\AllBytesHex
\expandafter\lowercase\expandafter{%
  \expandafter\def\expandafter\AllBytesHexLC
      \expandafter{\AllBytesHex}%
}
\begingroup
  \catcode`\#=12 %
  \xdef\AllBytesName{%
    #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
    #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
    #20!"#23$#25&'#28#29*+,-.#2F%
    0123456789:;#3C=#3E?%
    @ABCDEFGHIJKLMNO%
    PQRSTUVWXYZ#5B\ltx@backslashchar#5D^_%
    `abcdefghijklmno%
    pqrstuvwxyz#7B|#7D\string~#7F%
    #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
    #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
    #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
    #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
    #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
    #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
    #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
    #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
  }%
\endgroup
\ltx@onelevel@sanitize\AllBytesName
\edef\AllBytesFromName{\expandafter\ltx@gobble\AllBytes}
\begingroup
  \def\|{|}%
  \edef\%{\ltx@percentchar}%
  \catcode`\|=0 %
  \catcode`\#=12 %
  \catcode`\~=12 %
  \catcode`\\=12 %
  |xdef|AllBytesString{%
    \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
    \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
    \040!"#$|%&'\(\)*+,-./%
    0123456789:;<=>?%
    @ABCDEFGHIJKLMNO%
    PQRSTUVWXYZ[\\]^_%
    `abcdefghijklmno%
    pqrstuvwxyz{||}~\177%
    \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
    \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
    \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
    \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
    \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
    \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
    \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
    \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
  }%
|endgroup
\ltx@onelevel@sanitize\AllBytesString
\def\Test#1#2#3{%
  \begingroup
    \expandafter\expandafter\expandafter\def
    \expandafter\expandafter\expandafter\TestResult
    \expandafter\expandafter\expandafter{%
      #1{#2}%
    }%
    \ifx\TestResult#3%
    \else
      \newlinechar=10 %
      \msg{Expect:^^J#3}%
      \msg{Result:^^J\TestResult}%
      \errmessage{\string#2 -\string#1-> \string#3}%
    \fi
  \endgroup
}
\def\test#1#2#3{%
  \edef\TestFrom{#2}%
  \edef\TestExpect{#3}%
  \ltx@onelevel@sanitize\TestExpect
  \Test#1\TestFrom\TestExpect
}
\test\pdf@unescapehex{74657374}{test}
\begingroup
  \catcode0=12 %
  \catcode1=12 %
  \test\pdf@unescapehex{740074017400740174}{t^^@t^^At^^@t^^At}%
\endgroup
\Test\pdf@escapehex\AllBytes\AllBytesHex
\Test\pdf@unescapehex\AllBytesHex\AllBytes
\Test\pdf@escapename\AllBytes\AllBytesName
\Test\pdf@escapestring\AllBytes\AllBytesString
\csname @@end\endcsname\end
\endinput
%%
%% End of file `pdftexcmds-test-escape.tex'.
