Changeset View
Changeset View
Standalone View
Standalone View
plugins/custom-definesandincludes/tests/test_definesandincludes.cpp
Show First 20 Lines • Show All 57 Lines • ▼ Show 20 Line(s) | 55 | { | |||
---|---|---|---|---|---|
58 | 58 | | |||
59 | auto manager = IDefinesAndIncludesManager::manager(); | 59 | auto manager = IDefinesAndIncludesManager::manager(); | ||
60 | QVERIFY( manager ); | 60 | QVERIFY( manager ); | ||
61 | const auto actualIncludes = manager->includes( s_currentProject->projectItem(), IDefinesAndIncludesManager::UserDefined ); | 61 | const auto actualIncludes = manager->includes( s_currentProject->projectItem(), IDefinesAndIncludesManager::UserDefined ); | ||
62 | const auto actualDefines = manager->defines( s_currentProject->projectItem(), IDefinesAndIncludesManager::UserDefined ); | 62 | const auto actualDefines = manager->defines( s_currentProject->projectItem(), IDefinesAndIncludesManager::UserDefined ); | ||
63 | 63 | | |||
64 | qDebug() << actualDefines << actualIncludes; | 64 | qDebug() << actualDefines << actualIncludes; | ||
65 | 65 | | |||
66 | QCOMPARE( actualIncludes, Path::List() << Path( "/usr/include/mydir") ); | 66 | QCOMPARE( actualIncludes, Path::List() << Path( QDir::rootPath() + QStringLiteral("usr/include/mydir") ) ); | ||
67 | 67 | | |||
68 | Defines defines; | 68 | Defines defines; | ||
69 | defines.insert( QStringLiteral("_DEBUG"), QString() ); | 69 | defines.insert( QStringLiteral("_DEBUG"), QString() ); | ||
70 | defines.insert( QStringLiteral("VARIABLE"), QStringLiteral("VALUE") ); | 70 | defines.insert( QStringLiteral("VARIABLE"), QStringLiteral("VALUE") ); | ||
71 | QCOMPARE( actualDefines, defines ); | 71 | QCOMPARE( actualDefines, defines ); | ||
72 | 72 | | |||
73 | QVERIFY(!manager->parserArguments(s_currentProject->path().path() + "/src/main.cpp").isEmpty()); | 73 | QVERIFY(!manager->parserArguments(s_currentProject->path().path() + "/src/main.cpp").isEmpty()); | ||
74 | } | 74 | } | ||
75 | 75 | | |||
76 | void TestDefinesAndIncludes::loadMultiPathProject() | 76 | void TestDefinesAndIncludes::loadMultiPathProject() | ||
77 | { | 77 | { | ||
78 | s_currentProject = ProjectsGenerator::GenerateMultiPathProject(); | 78 | s_currentProject = ProjectsGenerator::GenerateMultiPathProject(); | ||
79 | QVERIFY( s_currentProject ); | 79 | QVERIFY( s_currentProject ); | ||
80 | 80 | | |||
81 | auto manager = IDefinesAndIncludesManager::manager(); | 81 | auto manager = IDefinesAndIncludesManager::manager(); | ||
82 | QVERIFY( manager ); | 82 | QVERIFY( manager ); | ||
83 | Path::List includes = Path::List() << Path(QStringLiteral("/usr/include/otherdir")); | 83 | Path::List includes = Path::List() << Path( QDir::rootPath() + QStringLiteral("usr/include/otherdir") ); | ||
84 | 84 | | |||
85 | QHash<QString,QString> defines; | 85 | QHash<QString,QString> defines; | ||
86 | defines.insert(QStringLiteral("SOURCE"), QStringLiteral("CONTENT")); | 86 | defines.insert(QStringLiteral("SOURCE"), QStringLiteral("CONTENT")); | ||
87 | defines.insert(QStringLiteral("_COPY"), QString()); | 87 | defines.insert(QStringLiteral("_COPY"), QString()); | ||
88 | 88 | | |||
89 | QCOMPARE( manager->includes( s_currentProject->projectItem(), IDefinesAndIncludesManager::UserDefined ), includes ); | 89 | QCOMPARE( manager->includes( s_currentProject->projectItem(), IDefinesAndIncludesManager::UserDefined ), includes ); | ||
90 | QCOMPARE( manager->defines( s_currentProject->projectItem(), IDefinesAndIncludesManager::UserDefined ), defines ); | 90 | QCOMPARE( manager->defines( s_currentProject->projectItem(), IDefinesAndIncludesManager::UserDefined ), defines ); | ||
91 | 91 | | |||
92 | ProjectBaseItem* mainfile = nullptr; | 92 | ProjectBaseItem* mainfile = nullptr; | ||
93 | const auto& fileSet = s_currentProject->fileSet(); | 93 | const auto& fileSet = s_currentProject->fileSet(); | ||
94 | for (const auto& file : fileSet) { | 94 | for (const auto& file : fileSet) { | ||
95 | const auto& files = s_currentProject->filesForPath(file); | 95 | const auto& files = s_currentProject->filesForPath(file); | ||
96 | for (auto i: files) { | 96 | for (auto i: files) { | ||
97 | if( i->text() == QLatin1String("main.cpp") ) { | 97 | if( i->text() == QLatin1String("main.cpp") ) { | ||
98 | mainfile = i; | 98 | mainfile = i; | ||
99 | break; | 99 | break; | ||
100 | } | 100 | } | ||
101 | } | 101 | } | ||
102 | } | 102 | } | ||
103 | QVERIFY(mainfile); | 103 | QVERIFY(mainfile); | ||
104 | 104 | | |||
105 | includes.prepend(Path(QStringLiteral("/usr/local/include/mydir"))); | 105 | includes.prepend(Path(QDir::rootPath() + QStringLiteral("usr/local/include/mydir"))); | ||
106 | defines.insert(QStringLiteral("BUILD"), QStringLiteral("debug")); | 106 | defines.insert(QStringLiteral("BUILD"), QStringLiteral("debug")); | ||
107 | qDebug() << includes << "VS" << manager->includes( mainfile, IDefinesAndIncludesManager::UserDefined ); | 107 | qDebug() << includes << "VS" << manager->includes( mainfile, IDefinesAndIncludesManager::UserDefined ); | ||
108 | qDebug() << mainfile << mainfile->path(); | 108 | qDebug() << mainfile << mainfile->path(); | ||
109 | QCOMPARE(manager->includes( mainfile, IDefinesAndIncludesManager::UserDefined ), includes); | 109 | QCOMPARE(manager->includes( mainfile, IDefinesAndIncludesManager::UserDefined ), includes); | ||
110 | QCOMPARE(defines, manager->defines( mainfile, IDefinesAndIncludesManager::UserDefined )); | 110 | QCOMPARE(defines, manager->defines( mainfile, IDefinesAndIncludesManager::UserDefined )); | ||
111 | QVERIFY(!manager->parserArguments(mainfile).isEmpty()); | 111 | QVERIFY(!manager->parserArguments(mainfile).isEmpty()); | ||
112 | } | 112 | } | ||
113 | 113 | | |||
Show All 39 Lines |