| 935 | } |
| 936 | |
| 937 | void validate() { |
| 938 | // C++ code in C file |
| 939 | ASSERT_THROW_INTERNAL(tokenizeAndStringify(";using namespace std;",dinit(TokenizeOptions, $.expand = false, $.cpp = false)), SYNTAX); |
| 940 | ASSERT_THROW_INTERNAL(tokenizeAndStringify(";std::map<int,int> m;",dinit(TokenizeOptions, $.expand = false, $.cpp = false)), SYNTAX); |
| 941 | ASSERT_THROW_INTERNAL(tokenizeAndStringify(";template<class T> class X { };",dinit(TokenizeOptions, $.expand = false, $.cpp = false)), SYNTAX); |
| 942 | ASSERT_THROW_INTERNAL(tokenizeAndStringify("int X<Y>() {};",dinit(TokenizeOptions, $.expand = false, $.cpp = false)), SYNTAX); |
| 943 | { |
| 944 | TokenList tokenlist{settings1, Standards::Language::C}; // headers are treated as C files |
| 945 | const char code[] = "void foo(int i) { reinterpret_cast<char>(i) };"; |
| 946 | tokenlist.appendFileIfNew("test.h"); |
| 947 | ASSERT(tokenlist.createTokensFromString(code)); |
| 948 | Tokenizer tokenizer(std::move(tokenlist), *this); |
| 949 | ASSERT_THROW_INTERNAL(tokenizer.simplifyTokens1(""), SYNTAX); |
| 950 | } |
| 951 | } |
| 952 | |
| 953 | void objectiveC() { |
| 954 | ASSERT_THROW_INTERNAL(tokenizeAndStringify("void f() { [foo bar]; }"), SYNTAX); |
no test coverage detected