From 3f7e8f43b7dd194aa697de73743081319bbd1908 Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Tue, 15 Oct 2024 14:38:46 +0200 Subject: [PATCH] Lua: Add test scripts Change-Id: I03cb69289151f44db6836ad0be6d2091d9c853bc Reviewed-by: Christian Stenger Reviewed-by: hjk --- src/plugins/lua/luaplugin.cpp | 13 +++- tests/manual/CMakeLists.txt | 1 + tests/manual/manual.qbs | 1 + tests/manual/scripts/CMakeLists.txt | 7 ++ .../scripts/lua/scripts/test-scrollbar.lua | 66 +++++++++++++++++++ tests/manual/scripts/scripts.qbs | 15 +++++ 6 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 tests/manual/scripts/CMakeLists.txt create mode 100644 tests/manual/scripts/lua/scripts/test-scrollbar.lua create mode 100644 tests/manual/scripts/scripts.qbs diff --git a/src/plugins/lua/luaplugin.cpp b/src/plugins/lua/luaplugin.cpp index c4ec942825e..8e26519eea4 100644 --- a/src/plugins/lua/luaplugin.cpp +++ b/src/plugins/lua/luaplugin.cpp @@ -426,10 +426,17 @@ public: void scanForScripts() { - const FilePath scriptsPath = Core::ICore::userResourcePath("scripts"); - if (!scriptsPath.exists()) - return; + const FilePath userScriptsPath = Core::ICore::userResourcePath("scripts"); + if (userScriptsPath.exists()) + scanForScriptsIn(userScriptsPath); + const FilePath scriptsPath = Core::ICore::resourcePath("lua/scripts"); + if (scriptsPath.exists()) + scanForScriptsIn(scriptsPath); + } + + void scanForScriptsIn(const FilePath &scriptsPath) + { ActionContainer *scriptContainer = ActionManager::actionContainer(M_SCRIPT); const FilePaths scripts = scriptsPath.dirEntries(FileFilter({"*.lua"}, QDir::Files)); diff --git a/tests/manual/CMakeLists.txt b/tests/manual/CMakeLists.txt index fe3f3365318..25651a56bfa 100644 --- a/tests/manual/CMakeLists.txt +++ b/tests/manual/CMakeLists.txt @@ -22,3 +22,4 @@ add_subdirectory(subdirfilecontainer) add_subdirectory(tasking) add_subdirectory(widgets) add_subdirectory(cmdbridge) +add_subdirectory(scripts) diff --git a/tests/manual/manual.qbs b/tests/manual/manual.qbs index c7f449b0d8d..43932d378f5 100644 --- a/tests/manual/manual.qbs +++ b/tests/manual/manual.qbs @@ -11,6 +11,7 @@ Project { "fakevim/fakevim.qbs", "pluginview/pluginview.qbs", "proparser/testreader.qbs", + "scripts/scripts.qbs", "shootout/shootout.qbs", "spinner/spinner.qbs", "subdirfilecontainer/subdirfilecontainer.qbs", diff --git a/tests/manual/scripts/CMakeLists.txt b/tests/manual/scripts/CMakeLists.txt new file mode 100644 index 00000000000..52eb04902a1 --- /dev/null +++ b/tests/manual/scripts/CMakeLists.txt @@ -0,0 +1,7 @@ +if(WITH_TESTS) + qtc_copy_to_builddir(copy_test_scripts_to_share_builddir + DIRECTORIES lua/scripts + DESTINATION "${IDE_DATA_PATH}" + CREATE_SUBDIRS + ) +endif() diff --git a/tests/manual/scripts/lua/scripts/test-scrollbar.lua b/tests/manual/scripts/lua/scripts/test-scrollbar.lua new file mode 100644 index 00000000000..e97b9e7a97f --- /dev/null +++ b/tests/manual/scripts/lua/scripts/test-scrollbar.lua @@ -0,0 +1,66 @@ +G = require 'Gui' +G.ScrollArea { + G.Column { + G.PushButton { + text = "Click me!" + }, + G.MarkdownBrowser { + markdown = [[ This is a long test, it will go on for quite some time +# Et altos questus quisquis Iam ficti + +## Esse move si stellatus epytus + +Lorem markdownum Penthea: [super](http://quidsit.com/currebam), terribilesque +gulae. Alimenta pendentemque lacrimarum atque **faciesque voces ales** +conspectior saeva in pericli egimus tantum. Experiar iter: sic natum partu, it +dominum [Babylonia fatigat](http://pan-latos.io/) somni: diva. Nominis incubat +vitiis **tinguit**, huic vox phocen adnuit proxima. Flavaque facta *sagitta* +summum non et denique, visus timore locuti terram nostro, quid rigidis! + +## Illa amplectique corpore ululatus illam + +Leto hedera et hic subsunt capiat parentibus in Idas quietem! Non amore quaerere +**dixit** vel ille, non, plebe iamque. Et dictis mirantes undique Prochytenque +pennis. + +## Recumbere vicem + +Vera Iuppiter undique undam corpus, ibi tempus ossibus Me nata Phineus +indefessus quot tollens. Hostibus ipse exsanguemque fusum scopulis nostroque +exspectatoque lora: tui tu inambitiosa dederat per, non infelix ore guttura. +Resolvo seu eris, nititur tum mersa ille, hunc fugit cum, et, silvas! + +> Tot mirabile recepta dextra iustitia pedis, regit omnis et quas; uni namque +> medium. Adversos et plena sacrificos crudeles, Pentheus praesensque me qua +> ingemuitque, ceris. + +## Undis et novat dum corpus simus qui + +Populi et pariterque ignes, lacteus Pico; quam mollescit pudoris Bacchi, +[pingues](http://www.vocisputa.io/). Hinc si Paphon latebramque albis mutum sibi +*optasse annis*. Unum mota nomina avidum nitebant potiere odore ex manu flamina, +toto sub nec cuius rapit flamma recepto, comitantiaque. + +> Alis *mariti* qua sunt oculi **picto** tenues flammifera cacumine aere parcere +> iuvenum in pallet. Nata fessos densum, hac paelice vulgata, abscedit mensis +> fatendo aqua posuit lumina solo, senatum agros quercus. Herses per animalia +> laude; progeniem sanguine **viguere**, linquit nomen. Tela summa, non +> **capiebat dicenti trado** lumina quem ille tellurem te. + +## Nec suo loquentem undas fiet et tantus + +Deferre quoniam: est hortatibus vestigia lina, Caucasiumque procul in nostri et +tunicasque et erant gratare! Summis quae effervescere rates iam et media, uterum +Areos quae; gentes reddita ire numero. Sis litoris munera virilem virgine. +Vulgus de simulac, postera cuperet saxa grande. + +Manibus advertere seque ostendens. Nunc victa curasque luctibus, **aras +latratibus** frigida formae cum. Ictu fuit et intercipe lintea a retro purpureis +oculos verba conclamat pectus commenta si nefas ille amor aliqua? Iter orsa +nuper *nec tamen* ipsa inpetus qui coeunt miserum postquam. Scire veri plebe +ereptamque tuque actus pone medullas [magni +pietas](http://ino-cumque.org/a-fecundum.html) onus deberi! +]] + } + } +}:show() diff --git a/tests/manual/scripts/scripts.qbs b/tests/manual/scripts/scripts.qbs new file mode 100644 index 00000000000..8f7f7af7006 --- /dev/null +++ b/tests/manual/scripts/scripts.qbs @@ -0,0 +1,15 @@ + +Product { + name: "TestScript" + Depends { name: "qtc" } + + builtByDefault: qtc.withAllTests + + Group { + name: "lua/scripts" + prefix: "lua/scripts/" + files: [ "*.lua" ] + qbs.install: true + qbs.installDir: qtc.ide_data_path + "/lua/scripts/" + } +}