It is invoked by 'make check' (automake only, it would be nice if someone
could add it to cmake as well), or by calling
python src/tex2lyx/test/runtests.py <path to tex2lyx binary>
by hand. Currently, it does not compare the output (this comes later).
The added .lyx files are from tex2lyx around mid of april, so that you
can see the regressions of the current version if you run the test
yourself (simply run git diff afterwards).
The home made test runner is quite stupid, but better than nothing.
Feel free to improve it or replace it with something better, as long
as running it stays as simple as now.
- tex2lyx/text.cpp:
- fix bug that swallowed valid braces
- the encoding is "Bg5" not "BIG5"
- add and update comments
- CJK.tex: add an example for the Bg5 encoding
- Preamble.cpp/:
- move list definition out of anon namespace
- declare lists and a function in the class
- text.cpp: remove the now already defined list
- Parser.cpp: \verb can have any character as delimiter (except of ASCII letters) not only '+', therefore partly revert [3943b887/lyxgit] and fix it for all cases
Preamble.cpp:
- support the font scaling
- improve coding style
text.cpp: - improve logic/coding style
XeTeX-polyglossia.tex:
- add scaling
- change document so that it is compilable using the Libertine font
Instead of adding the extra '\n' to tex2lyx, we should remove it from
BufferParams.cpp because it was introduced there unintendedly in d7eaaba9
(Juergen Spitzmueller; "support for CJK font argument"; Jun 5 2008).
This partly reverts commit c2810f922665c591a7c32d4c679e58e55132505a.
Fix commit [aa9fed93/lyxgit]: it is never a good idea to call substr(4) on a string without checking its length. Moreover, it is even better in this case to check that the first letters are "text" as the reminder of the code assumes...
- tex2lyx/Preamble.cpp/h: not all new header definitions since fileformat 413 have yet been added to texl2yx, so do it now; also change some new default values
- bugfix for the parsing of polyglossia's paragraph environments
- new support for polyglossia's language change commands \textxxx
- XeTeX-polyglossia.tex: add more testcases and add a missing \end
objects. The problem that led to the leak is that these objects can be held in
memory long after the Buffer that created them is gone, mostly due to their
use in the CutStack. So they were previously held in a storage facility, the
DocumentClassBundle. Unfortunately, they were now being created too often,
especially by cloning. It's not really a leak, because they're accessible, but
we weren't ever destroying them.
This new approach uses a shared_ptr instead.
Thanks to Vincent for pointing out const_pointer_cast.
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
* do not use it++ for iterators, ++it is better
* do not use size() to test for emptyness, empty() is here
* do not use "const T" as a function parameter, "const & T" is better
I doubt that any of these is a real performance problem, but the code is cleaner anyway.