aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/SampleTest/Test_ImportProFile.csmacro
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/SampleTest/Test_ImportProFile.csmacro')
-rw-r--r--src/tests/SampleTest/Test_ImportProFile.csmacro68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/tests/SampleTest/Test_ImportProFile.csmacro b/src/tests/SampleTest/Test_ImportProFile.csmacro
new file mode 100644
index 00000000..49e71306
--- /dev/null
+++ b/src/tests/SampleTest/Test_ImportProFile.csmacro
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt VS Tools.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//# using System.IO
+
+//# var string QtConfPath
+
+var qtConf = File.ReadAllLines(QtConfPath);
+var prefix = qtConf
+ .Where(x => x.StartsWith("Prefix=")).First()
+ .Substring("Prefix=".Length);
+
+var qtDir = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(QtConfPath), prefix));
+
+var examplesRelativePath = qtConf
+ .Where(x => x.StartsWith("Examples=")).First()
+ .Substring("Examples=".Length);
+var examplesPath = Path.GetFullPath(Path.Combine(qtDir, examplesRelativePath));
+var wigglyPath = Path.GetFullPath(Path.Combine(examplesPath, "widgets", "widgets", "wiggly"));
+
+var projectName = "QtVsTest_Import";
+var tempDir = Environment.GetEnvironmentVariable("LOCALAPPDATA");
+var projectDir = Path.Combine(tempDir, projectName);
+var projectFile = Path.Combine(projectDir, "wiggly.pro");
+
+if (Directory.Exists(projectDir))
+ Directory.Delete(projectDir, recursive: true);
+Directory.CreateDirectory(projectDir);
+
+Directory.EnumerateFiles(wigglyPath)
+ .Where(x => new[] { ".pro", ".h", ".cpp" }.Contains(Path.GetExtension(x)))
+ .ToList().ForEach(x => File.Copy(x, Path.Combine(projectDir, Path.GetFileName(x))));
+
+var taskOpenPro = Task.Run(() => Dte.ExecuteCommand("QtVSTools.OpenQtProjectFile.pro"));
+taskOpenPro.Wait(0);
+
+//# ui context VSROOT 3000 => "Select a Qt Project to Add to the Solution"
+//# ui pattern Value proFilePath => new[] { "File name:", "combo box" }, new[] { "File name:", "edit" }
+proFilePath.SetValue(projectFile);
+//# ui pattern Invoke => new[] { "Open", "button", "1" }
+
+if (!taskOpenPro.Wait(15000))
+ throw new Exception("Timeout: QtVSTools.OpenQtProjectFile.pro");