| from cpp11_raw_string_literals import * |
| import inspect |
| |
| if cvar.L != 100: |
| raise RuntimeError |
| |
| if cvar.u8 != 100: |
| raise RuntimeError |
| |
| if cvar.u != 100: |
| raise RuntimeError |
| |
| if UStruct.U != 100: |
| raise RuntimeError |
| |
| |
| if cvar.R != 100: |
| raise RuntimeError |
| |
| if cvar.LR != 100: |
| raise RuntimeError |
| |
| if cvar.u8R != 100: |
| raise RuntimeError |
| |
| if cvar.uR != 100: |
| raise RuntimeError |
| |
| if URStruct.UR != 100: |
| raise RuntimeError |
| |
| |
| if cvar.aa != "Wide string": |
| raise RuntimeError |
| |
| if cvar.bb != "UTF-8 string": |
| raise RuntimeError(cvar.wide) |
| |
| if cvar.xx != ")I'm an \"ascii\" \\ string.": |
| raise RuntimeError(cvar.xx) |
| |
| if cvar.ee != ")I'm an \"ascii\" \\ string.": |
| raise RuntimeError(cvar.ee) |
| |
| if cvar.ff != "I'm a \"raw wide\" \\ string.": |
| raise RuntimeError(cvar.ff) |
| |
| if cvar.gg != "I'm a \"raw UTF-8\" \\ string.": |
| raise RuntimeError(cvar.gg) |
| |
| |
| def check(got, expected): |
| expected_list = expected.split("\n") |
| got_list = got.split("\n") |
| |
| if expected_list != got_list: |
| raise RuntimeError("\n" + "Expected: " + str(expected_list) + "\n" + "Got : " + str(got_list)) |
| |
| # When getting docstrings, use inspect.getdoc(x) instead of x.__doc__ otherwise the different options |
| # such as -O and -builtin may produce different initial indentation. |
| check(inspect.getdoc(RawStringDoc.WW), "Single line documentation comment") |
| check(inspect.getdoc(RawStringDoc.XX), |
| """Multi-line |
| documentation |
| comment""") |
| check(inspect.getdoc(RawStringDoc.YY), """Single line "raw string" documentation comment""") |
| check(inspect.getdoc(RawStringDoc.ZZ), |
| """Documentation comment |
| |
| as a "raw string" |
| on multiple lines including a \ backslash""") |
| |
| check(mm, """)I'm an "ascii" \ string constant with multiple |
| |
| lines.""") |