%%
%% This is file `test-unicode.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lualatex-math.dtx  (with options: `test,test-unicode')
%% 
%% This is a generated file.
%% 
%% Copyright 2011 by Philipp Stephani
%% 
%% This file 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.  The latest version of this license is in
%% 
%%    http://www.latex-project.org/lppl.txt
%% 
%% and version 1.3c or later is part of all distributions of
%% LaTeX version 2009/09/24 or later.
%% 
\documentclass[pagesize=auto]{scrartcl}
\usepackage{xparse}[2008/08/03]
\ExplSyntaxOn
\msg_new:nnn { test } { pass } { #1 }
\cs_new_protected_nopar:Npn \test_pass:x #1 {
  \msg_info:nnx { test } { pass } { #1 }
}
\msg_new:nnn { test } { fail } { #1 }
\cs_new_protected_nopar:Npn \test_fail:x #1 {
  \msg_error:nnx { test } { fail } { #1 }
}
\cs_generate_variant:Nn \tl_const:Nn { Nx }
\tl_const:Nx \c_test_equal_tl { \c_space_tl == \c_space_tl }
\tl_const:Nx \c_test_not_equal_tl { \c_space_tl != \c_space_tl }
\cs_new_protected_nopar:Npn \test_equal_pass:nxnx #1 #2 #3 #4 {
  \test_pass:x {
    \exp_not:n { #1 }
    \c_test_equal_tl
    #2
    \c_test_equal_tl
    #4
    \c_test_equal_tl
    \exp_not:n { #3 }
  }
}
\cs_new_protected_nopar:Npn \test_equal_fail:nxnx #1 #2 #3 #4 {
  \test_fail:x {
    \exp_not:n { #1 }
    \c_test_equal_tl
    #2
    \c_test_not_equal_tl
    #4
    \c_test_equal_tl
    \exp_not:n { #3 }
  }
}
\cs_new_protected_nopar:Npn
\test_assert_equal:NNNNNnn #1 #2 #3 #4 #5 #6 #7 {
  #1 #4 { #6 }
  #1 #5 { #7 }
  #3 { #4 } = { #5 } {
    \test_equal_pass:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 }
  } {
    \test_equal_fail:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 }
  }
}
\cs_generate_variant:Nn \test_assert_equal:NNNNNnn { ccccc }
\cs_new_protected_nopar:Npn \test_assert_equal:nnn #1 #2 #3 {
  \test_assert_equal:cccccnn
    { #1 _set:Nn } { #1 _use:N } { #1 _compare:nNnTF }
    { l_test_tmpa_ #1 } { l_test_tmpb_ #1 } { #2 } { #3 }
}
\int_new:N \l_test_tmpa_int
\int_new:N \l_test_tmpb_int
\NewDocumentCommand \AssertIntEqual { m m } {
  \test_assert_equal:nnn { int } { #1 } { #2 }
}
\dim_new:N \l_test_tmpa_dim
\dim_new:N \l_test_tmpb_dim
\NewDocumentCommand \AssertDimEqual { m m } {
  \test_assert_equal:nnn { dim } { #1 } { #2 }
}
\NewDocumentCommand \AssertMathStyle { m } {
  \AssertIntEqual { \luatexmathstyle } { #1 }
}
\cs_new_protected_nopar:Npn \test_assert_cramped:Nx #1 #2 {
  \int_set:Nn \l_test_tmpa_int { \luatexmathstyle }
  \bool_if:nTF {
    \int_compare_p:nNn { \l_test_tmpa_int } > { \c_minus_one }
    &&
    #1 { \l_test_tmpa_int }
  } {
    \test_pass:x {
      \exp_not:N \luatexmathstyle
      \c_test_equal_tl
      \int_use:N \l_test_tmpa_int
      \c_space_tl
      is~ a~ #2~ style
    }
  } {
    \test_fail:x {
      \exp_not:N \luatexmathstyle
      \c_test_equal_tl
      \int_use:N \l_test_tmpa_int
      \c_space_tl
      is~ not~ a~ #2~ style
    }
  }
}
\NewDocumentCommand \AssertNoncrampedStyle { } {
  \test_assert_cramped:Nx \int_if_even_p:n { non-cramped }
}
\NewDocumentCommand \AssertCrampedStyle { } {
  \test_assert_cramped:Nx \int_if_odd_p:n { cramped }
}
\ExplSyntaxOff
\ExplSyntaxOn
\msg_redirect_class:nn { warning } { error }
\ExplSyntaxOff
\usepackage{amsmath}
\usepackage{unicode-math}[2011/05/05]
\setmathfont{XITS Math}
\usepackage{lualatex-math}
\begin{document}
\begin{equation*}
  \AssertMathStyle{0} \sqrt{\AssertMathStyle{1}}
  \frac{\AssertMathStyle{2}}{\AssertMathStyle{3}}
  a^{\frac{\AssertMathStyle{6}}{\AssertMathStyle{7}}}
  \dfrac{\AssertMathStyle{2}}{\AssertMathStyle{3}}
  \tfrac{\AssertMathStyle{4}}{\AssertMathStyle{5}}
\end{equation*}
\end{document}
\endinput
%%
%% End of file `test-unicode.tex'.
