152 lines
4.6 KiB
XML
152 lines
4.6 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
Tests semantic analysis for symbol generation
|
|
|
|
Copyright (C) 2014-2023 Ryan Specialty, LLC.
|
|
|
|
This file is part of TAME.
|
|
|
|
TAME is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see
|
|
<http://www.gnu.org/licenses/>.
|
|
-->
|
|
<description xmlns="http://www.jenitennison.com/xslt/xspec"
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:x="http://www.jenitennison.com/xslt/xspec"
|
|
xmlns:lv="http://www.lovullo.com/rater"
|
|
xmlns:preproc="http://www.lovullo.com/rater/preproc"
|
|
xmlns:foo="http://www.lovullo.com/_junk"
|
|
stylesheet="../../src/symtable/symbols.xsl">
|
|
|
|
|
|
<scenario label="lv:param">
|
|
<context mode="preproc:symtable">
|
|
<lv:param name="foo_bar"
|
|
type="footype"
|
|
desc="Vector param"
|
|
set="vector" />
|
|
|
|
<lv:param name="tex_param"
|
|
type="tex"
|
|
desc="Matrix param with TeX"
|
|
set="matrix"
|
|
sym="\tex" />
|
|
|
|
<lv:param name="scalar_param"
|
|
type="bar"
|
|
desc="Scalar param (implicit)" />
|
|
|
|
<lv:param name="scalar_param_explicit"
|
|
type="bar"
|
|
set="scalar"
|
|
desc="Scalar param (explicit)" />
|
|
|
|
<lv:param name="unknown_dim"
|
|
type="wtf"
|
|
set="calabi-yau"
|
|
desc="Unknown dimension" />
|
|
</context>
|
|
|
|
<expect label="derives symbol data from param">
|
|
<preproc:sym type="param"
|
|
name="foo_bar"
|
|
dim="1"
|
|
desc="Vector param"
|
|
dtype="footype"
|
|
need-resolve-dtype="true"
|
|
default=""
|
|
tex="" />
|
|
|
|
<preproc:sym type="param"
|
|
name="tex_param"
|
|
dim="2"
|
|
desc="Matrix param with TeX"
|
|
dtype="tex"
|
|
need-resolve-dtype="true"
|
|
default=""
|
|
tex="\tex" />
|
|
|
|
<preproc:sym type="param"
|
|
name="scalar_param"
|
|
dim="0"
|
|
desc="Scalar param (implicit)"
|
|
dtype="bar"
|
|
need-resolve-dtype="true"
|
|
default=""
|
|
tex="" />
|
|
|
|
<preproc:sym type="param"
|
|
name="scalar_param_explicit"
|
|
dim="0"
|
|
desc="Scalar param (explicit)"
|
|
dtype="bar"
|
|
need-resolve-dtype="true"
|
|
default=""
|
|
tex="" />
|
|
|
|
<preproc:sym type="param"
|
|
name="unknown_dim"
|
|
dim="-1"
|
|
desc="Unknown dimension"
|
|
dtype="wtf"
|
|
need-resolve-dtype="true"
|
|
default=""
|
|
tex="" />
|
|
</expect>
|
|
</scenario>
|
|
|
|
<scenario label="lv:template">
|
|
<context mode="preproc:symtable">
|
|
<lv:template name="_foo_"
|
|
desc="Test template">
|
|
<foo:ignored-content />
|
|
</lv:template>
|
|
</context>
|
|
|
|
<expect label="derives symbol data from template">
|
|
<preproc:sym type="tpl"
|
|
name="_foo_"
|
|
dim="0"
|
|
desc="Test template" />
|
|
</expect>
|
|
</scenario>
|
|
|
|
|
|
<scenario label="lv:meta">
|
|
<context mode="preproc:symtable">
|
|
<lv:meta>
|
|
<lv:prop name="prop1">
|
|
<lv:const value="ignore" />
|
|
</lv:prop>
|
|
|
|
<lv:prop name="prop2">
|
|
<lv:const value="ignore" />
|
|
</lv:prop>
|
|
</lv:meta>
|
|
</context>
|
|
|
|
<expect label="derives symbols from properties">
|
|
<preproc:sym type="meta"
|
|
name=":meta:prop1"
|
|
desc="Metavalue prop1"
|
|
pollute="true"
|
|
no-deps="true" />
|
|
<preproc:sym type="meta"
|
|
name=":meta:prop2"
|
|
desc="Metavalue prop2"
|
|
pollute="true"
|
|
no-deps="true" />
|
|
</expect>
|
|
</scenario>
|
|
</description>
|