2014-10-26 15:02:41 +03:00
|
|
|
|
SET (BinName parse_test)
|
|
|
|
|
FILE (GLOB_RECURSE BinSources RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ParseTest.vala)
|
|
|
|
|
SET (BinPackages gee-0.8)
|
2017-12-19 07:04:13 +03:00
|
|
|
|
SET (BinPkgModules gee-0.8)
|
2014-10-26 15:02:41 +03:00
|
|
|
|
SET (BinCustomVapis ${CMAKE_BINARY_DIR}/src/latex-struct/${PROJECT_LOWERCASE_NAME}-${MAJOR}.vapi)
|
|
|
|
|
SET (BinLinkLibs ${PROJECT_LOWERCASE_NAME})
|
|
|
|
|
INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}/src/latex-struct")
|
|
|
|
|
INCLUDE (ValaBinCommonRules)
|
|
|
|
|
|
|
|
|
|
# Parse tests
|
|
|
|
|
MACRO (do_parse_test testname table_path etalon_path regexp)
|
|
|
|
|
IF ("${etalon_path}" STREQUAL "")
|
|
|
|
|
SET (extra_args "")
|
|
|
|
|
ELSE ()
|
|
|
|
|
SET (extra_args --etalon ${etalon_path})
|
|
|
|
|
ENDIF ()
|
|
|
|
|
ADD_TEST (ParseTest-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/parse_test --table ${table_path} ${extra_args})
|
|
|
|
|
SET_TESTS_PROPERTIES (ParseTest-${testname}
|
|
|
|
|
PROPERTIES PASS_REGULAR_EXPRESSION ${regexp}
|
|
|
|
|
FAIL_REGULAR_EXPRESSION "CRITICAL;WARNING")
|
|
|
|
|
ENDMACRO (do_parse_test)
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (throttleList ${PROJECT_SOURCE_DIR}/test/tex/throttle.tex ""
|
|
|
|
|
"list all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttleList PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (includegraphicsWalk ${PROJECT_SOURCE_DIR}/test/tex/includegraphics.tex ""
|
|
|
|
|
"Walk through all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewGraphics
|
|
|
|
|
width=0.000000. height=3.000000pt. path=174.
|
|
|
|
|
gen..=.includegraphics.height=3.000000pt.angle=25.scale=3.{174}
|
|
|
|
|
resized gen.. = .includegraphics.width=0.500000pt.height=6.000000dd.angle=25.scale=3.{174}
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewGraphics
|
|
|
|
|
width=12.000000cm. height=25.000000cm. path=151.
|
|
|
|
|
gen..=.includegraphics.width=12.000000cm.height=25.000000cm.{151}
|
|
|
|
|
resized gen.. = .includegraphics.width=0.500000pt.height=50.000000dd.{151}
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-includegraphicsWalk PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (throttleCmp ${PROJECT_SOURCE_DIR}/test/tex/throttle.tex ""
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttleCmp PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (throttleErr1 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err1.tex ""
|
|
|
|
|
"Error parsing TeX document: LAviewParsersGlobParser:33:15: : Unexpected end tag sequence '..end{longtable}' without begin tag pair.
|
|
|
|
|
.end{longtable}
|
|
|
|
|
.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttleErr1 PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (throttleErr2 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err2.tex ""
|
|
|
|
|
"Error parsing TeX document: LAviewParsersGlobParser:33:1: Begin tag sequence '..begin{longtable}' without end tag pair.
|
|
|
|
|
.begin{longtable}
|
|
|
|
|
.
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttleErr2 PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (throttleErr3 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err3.tex ""
|
|
|
|
|
"Error parsing TeX document: LAviewParsersGlobParser:34:1: Error parsing subdoc.
|
|
|
|
|
.begin{longtable}
|
|
|
|
|
.
|
|
|
|
|
LAviewParsersLongtableParser:55:46: Stop external tag sequence '..end{longtable}' without begin tag pair.
|
|
|
|
|
.multicolumn{2}{|l|}{ЗМГ} & & .end{longtable} & & & & .tabularnewline
|
|
|
|
|
.
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttleErr3 PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (throttleErr4 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err4.tex ""
|
|
|
|
|
"Error parsing TeX document: LAviewParsersGlobParser:33:13: : Unexpected end tag sequence '..end{tabular}' without begin tag pair.
|
|
|
|
|
.end{tabular}
|
|
|
|
|
.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttleErr4 PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (throttleErr5 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err5.tex ""
|
|
|
|
|
"Error parsing TeX document: LAviewParsersGlobParser:33:1: Begin tag sequence '..begin{tabular}' without end tag pair.
|
|
|
|
|
.begin{tabular}
|
|
|
|
|
.
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttleErr5 PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle.tex
|
|
|
|
|
do_parse_test (throttleErr6 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err6.tex ""
|
|
|
|
|
"Error parsing TeX document: LAviewParsersGlobParser:34:1: Error parsing subdoc.
|
|
|
|
|
.begin{tabular}
|
|
|
|
|
.
|
|
|
|
|
LAviewParsersTabularParser:55:46: Stop external tag sequence '..end{tabular}' without begin tag pair.
|
|
|
|
|
.multicolumn{2}{|l|}{ЗМГ} & & .end{tabular} & & & & .tabularnewline
|
|
|
|
|
.
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttleErr6 PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test formular.tex
|
|
|
|
|
do_parse_test (formularList ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ""
|
|
|
|
|
"list all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-formularList PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test formular.tex
|
|
|
|
|
do_parse_test (formularWalk ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ""
|
|
|
|
|
"Walk through all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-formularWalk PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test formular.tex
|
|
|
|
|
do_parse_test (formularCmp ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ""
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-formularCmp PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test formular.tex
|
|
|
|
|
do_parse_test (formularErr1 ${PROJECT_SOURCE_DIR}/test/tex/formular_err1.tex ""
|
|
|
|
|
"Error parsing TeX document: LAviewParsersGlobParser:192:15: : Unexpected end tag sequence '..end{longtable}' without begin tag pair.
|
|
|
|
|
.end{longtable}
|
|
|
|
|
.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-formularErr1 PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test formular.tex
|
|
|
|
|
do_parse_test (formularErr2 ${PROJECT_SOURCE_DIR}/test/tex/formular_err2.tex ""
|
|
|
|
|
"Error parsing TeX document: LAviewParsersGlobParser:44:1: Begin tag sequence '..begin{longtable}' without end tag pair.
|
|
|
|
|
.begin{longtable}
|
|
|
|
|
.
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-formularErr2 PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test for caption in all_subtables.tex
|
|
|
|
|
do_parse_test (captionTest ${PROJECT_SOURCE_DIR}/test/tex/all_subtables.tex ""
|
|
|
|
|
".begin{document}
|
|
|
|
|
.begin{longtable}{.c.c.}
|
|
|
|
|
.caption{Caption of the table}
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-captionTest PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test all_subtables.tex
|
|
|
|
|
do_parse_test (all_subtablesCmp ${PROJECT_SOURCE_DIR}/test/tex/all_subtables.tex ""
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-all_subtablesCmp PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test all_subtables.tex
|
|
|
|
|
do_parse_test (linesCmp ${PROJECT_SOURCE_DIR}/test/tex/lines.tex ${PROJECT_SOURCE_DIR}/test/tex/lines.etalon.tex
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-linesCmp PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test ltable_embedded.tex
|
|
|
|
|
do_parse_test (ltable_embedded ${PROJECT_SOURCE_DIR}/test/tex/ltable_embedded.tex ""
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-ltable_embedded PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test ltable_double_embedded.tex
|
|
|
|
|
do_parse_test (ltable_double_embedded ${PROJECT_SOURCE_DIR}/test/tex/ltable_double_embedded.tex ""
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-ltable_double_embedded PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle_VK2500.tex
|
|
|
|
|
do_parse_test (throttle_VK2500Cmp ${PROJECT_SOURCE_DIR}/test/tex/throttle_VK2500.tex ""
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttle_VK2500Cmp PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle_VK2500.tex
|
|
|
|
|
do_parse_test (throttle_VK2500PSCmp ${PROJECT_SOURCE_DIR}/test/tex/throttle_VK2500PS.tex ""
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttle_VK2500PSCmp PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test throttle_VK2500_dos_newlines_.tex
|
|
|
|
|
do_parse_test (throttle_VK2500PS_dos_newlines_ListWalk ${PROJECT_SOURCE_DIR}/test/tex/throttle_VK2500PS_dos_newlines.tex ""
|
|
|
|
|
"list all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
|
|
|
|
|
Walk through all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-throttle_VK2500PS_dos_newlines_ListWalk PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test graph_in_ltable.tex
|
|
|
|
|
do_parse_test (graph_in_ltable ${PROJECT_SOURCE_DIR}/test/tex/graph_in_ltable.tex ""
|
|
|
|
|
"
|
|
|
|
|
list all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewGraphics
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
|
|
|
|
|
Walk through all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableLongtable
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-graph_in_ltable PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test ltable_square_arg.tex
|
|
|
|
|
do_parse_test (ltable_square_arg ${PROJECT_SOURCE_DIR}/test/tex/ltable_square_arg.tex ""
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-ltable_square_arg PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test table_in_table.tex
|
|
|
|
|
do_parse_test (table_in_table ${PROJECT_SOURCE_DIR}/test/tex/table_in_table.tex ""
|
|
|
|
|
"
|
|
|
|
|
list all objects
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-table_in_table PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test unary_quotes.tex
|
|
|
|
|
do_parse_test (unary_quotes ${PROJECT_SOURCE_DIR}/test/tex/unary_quotes.tex ""
|
|
|
|
|
"
|
|
|
|
|
list all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
|
|
|
|
|
Walk through all objects
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
LAviewTableTabular
|
|
|
|
|
LAviewText
|
|
|
|
|
end of objects
|
|
|
|
|
")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-unary_quotes PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
|
|
|
|
# test back_slashes_in_a_table.tex
|
|
|
|
|
do_parse_test (back_slashes_in_a_table ${PROJECT_SOURCE_DIR}/test/tex/back_slashes_in_a_table.tex ${PROJECT_SOURCE_DIR}/test/tex/back_slashes_in_a_table.etalon.tex
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-back_slashes_in_a_table PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
2014-12-09 05:26:21 +03:00
|
|
|
|
# test multiply_defined_columns.tex
|
|
|
|
|
do_parse_test (multiply_defined_columns
|
|
|
|
|
${PROJECT_SOURCE_DIR}/test/tex/multiply_defined_columns.tex
|
|
|
|
|
${PROJECT_SOURCE_DIR}/test/tex/multiply_defined_columns.etalon.tex
|
|
|
|
|
"Original and generated text are EQUAL .-.")
|
|
|
|
|
SET_TESTS_PROPERTIES(ParseTest-multiply_defined_columns PROPERTIES ENVIRONMENT "LANG=en")
|
|
|
|
|
|
2014-10-26 15:02:41 +03:00
|
|
|
|
# enable testing
|
|
|
|
|
ENABLE_TESTING ()
|