Spaces:
Sleeping
Sleeping
| # book_base_test.py | |
| # | |
| # This file is part of LilyPond, the GNU music typesetter. | |
| # | |
| # Copyright (C) 2020--2020 Han-Wen Nienhuys <hanwen@xs4all.nl> | |
| # | |
| # LilyPond 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. | |
| # | |
| # LilyPond 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 LilyPond. If not, see <http://www.gnu.org/licenses/>. | |
| import unittest | |
| import book_base | |
| import book_snippets | |
| import book_texinfo | |
| class Dummy: | |
| pass | |
| class TestFindSnippets(unittest.TestCase): | |
| def test_basic_texi(self): | |
| formatter = book_texinfo.BookTexinfoOutputFormat() | |
| global_options = Dummy() | |
| global_options.information = {"program_version": "1.2.3"} | |
| chunks = book_base.find_toplevel_snippets(r"""\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- 1 | |
| @setfilename texinfo-include-file.info 2 | |
| @settitle Include lilypond files in texinfo 3 | |
| 4 | |
| @node Top 5 | |
| @top Include lilypond files in texinfo 6 | |
| Lilypond files included in texinfo without any options: 8 | |
| @lilypondfile{input/regression/les-nereides.ly} | |
| From a subdirectory: 12 | |
| @lilypondfile{input/regression/morgenlied.ly} | |
| Within a lilypond block: 16 | |
| @lilypond | |
| % \include "include/myvar.ily" | |
| \relative c'' { c e g } | |
| @end lilypond | |
| Include a file that includes a file: | |
| """, formatter, global_options) | |
| # comment | |
| types = [book_snippets.Substring, | |
| book_snippets.Snippet, # @c | |
| book_snippets.Substring, | |
| book_snippets.LilypondFileSnippet, | |
| book_snippets.Substring, | |
| book_snippets.LilypondFileSnippet, | |
| book_snippets.Substring, | |
| book_snippets.LilypondSnippet, | |
| book_snippets.Substring] | |
| for i in range(0, len(types)): | |
| self.assertIsInstance(chunks[i], types[i]) | |
| self.assertEqual(chunks[7].line_number, 18) | |
| if __name__ == '__main__': | |
| unittest.main() | |