| from lldbsuite.test.lldbinline import CommandParser | |
| from lldbsuite.test.lldbtest import Base | |
| import textwrap | |
| class TestCommandParser(Base): | |
| def test_indentation(self): | |
| """Test indentation handling""" | |
| filename = self.getBuildArtifact("test_file.cpp") | |
| with open(filename, "w") as f: | |
| f.write( | |
| textwrap.dedent( | |
| """\ | |
| int q; | |
| int w; //% first break | |
| int e; | |
| int r; //% second break | |
| //% continue second | |
| //% continuing indented | |
| //% not indented | |
| int t; //% third break | |
| """ | |
| ) | |
| ) | |
| p = CommandParser() | |
| p.parse_source_files([filename]) | |
| def bkpt(line, cmd): | |
| return {"file_name": filename, "line_number": line, "command": cmd} | |
| self.assertEqual( | |
| p.breakpoints, | |
| [ | |
| bkpt(2, "first break"), | |
| bkpt( | |
| 4, | |
| "second break\ncontinue second\n continuing indented\nnot indented", | |
| ), | |
| bkpt(8, "third break"), | |
| ], | |
| ) |