<table><tr><td style="">jjazeix added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D17455">View Revision</a></tr></table><br /><div><div><p>Thank you for the unit test.<br />
It may be easier to read if you have the data() then the corresponding test() function instead of having all the data() and at the end the test() functions (when you read one test, you'll just have to scroll above to know which data is tested)</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D17455#inline-96032">View Inline</a><span style="color: #4b4d51; font-weight: bold;">alexkovrigin</span> wrote in <span style="color: #4b4d51; font-weight: bold;">DownloadManagerTest.cpp:172</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">I've been debugging and trying to solve this issue for some time, but I couldn't find the solution.</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">subject->isDataRegistered(resource)</pre></div>

<p style="padding: 0; margin: 8px;">Always returns false.</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">This function is a bit tricky and not really easy to test.<br />
Basically, when we register an activity, we use the following path: "qrc:/gcompris/src/activities/{activity_name}".<br />
The function isDataRegistered looks for data in "qrc:/gcompris/data" which is filled in only if we have registered a specific data file "words.rcc".<br />
But, this file is not compiled and needs to be downloaded (~80Mo). We don't want this (because it will be downloaded at every commit).<br />
If we want to test this function, I think we can try to mock the registerResource to "save" a fake data in the ":/gcompris/data" resource.<br />
Not sure if it would work, but having a local qrc file containing one file in ":/gcompris/data/" and doing INIT_REGISTER_RESOURCE on the qrc. More info can be found in <a href="https://doc.qt.io/qt-5/resources.html" class="remarkup-link" target="_blank" rel="noreferrer">https://doc.qt.io/qt-5/resources.html</a> (first and last paragraphs).</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D17455#inline-96035">View Inline</a><span style="color: #4b4d51; font-weight: bold;">DownloadManagerTest.cpp:191</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">DownloadManager</span> <span style="color: #aa2211">*</span> <span class="n">subject</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">QString</span> <span style="color: #004012">getVoicesRecource_1</span><span class="p">(</span><span class="n">QString</span> <span class="n">locale</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">typo (Resource) + use const reference for passing arguments that won't be updated to avoid copies.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R2 GCompris</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D17455">https://phabricator.kde.org/D17455</a></div></div><br /><div><strong>To: </strong>alexkovrigin, jjazeix<br /><strong>Cc: </strong>alexkovrigin, kde-edu, narvaez, apol<br /></div>