[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-edu-devel
Subject:    D11034: CoreApplicationSettingsTest
From:       Johnny Jazeix <noreply () phabricator ! kde ! org>
Date:       2018-03-24 18:41:19
Message-ID: 20180324184119.1.673B25B9A30A2D71 () phabricator ! kde ! org
[Download RAW message or body]

jjazeix closed this revision.
jjazeix added a comment.


  In D11034#232060 <https://phabricator.kde.org/D11034#232060>, \
@himanshuvishwakarma wrote:  
  > In D11034#231907 <https://phabricator.kde.org/D11034#231907>, @jjazeix \
wrote:  >
  > > Can you check that if you instantiate a ApplicationSettingsMock \
object, then use ApplicationSettings::getInstance(), it returns the mock \
instead of creating a new ApplicationSettings object?  > >  As we use it \
this way on other classes (like ApplicationInfo), it would be better that, \
for tests, the getInstance() returns the mock instead of the real one (else \
we'll have the same issue as we had here, writing on the real \
configuration).  > >
  > > Except this point (and the small one regarding parameters ordering), \
it seems good to me, I'll take a closer look this week-end to integrate it  \
>  >
  > Hi,
  >
  > I have checked that it the when we use the \
ApplicationSettings::getInstance( ), after the instantiate object of \
ApplicationSettingsMock. It will not disturb the main config file anyway.  
  
  Yes, it does, the getInstance by default will get the static object \
m_instance. Even if the mock is created before, the m_instance is still \
null when calling getInstance and thus it is instanciated to a simple \
ApplicationSettings which will write on the main config file instead of the \
dummy one.  I added a getInstance in the mock to create the m_instance as a \
Mock.  
  > It will disturb only when the object of ApplicationSettingsMock is not \
destroyed, that is the object of ApplicationSettingsMock is existing and \
then we call the function ApplicationSettings::getInstance( )  > 
  > I have checked it by this methods
  > 
  > 1. Change in the file ApplicationSettingsTest.cpp like this: \
https://paste.kde.org/pkfzgqgtx Run the test. Result: Function \
ApplcationSettingsTest will reflect the change in the file \
build/test/core/DummyApplicationSettingsTest.conf && Function \
ActivitySettingsTest will change in the file \
~/.config/gcompris/gcompris-qt.conf  > 2. Change in the file \
ApplicationSettingsTest.cpp like this: https://paste.kde.org/ps9i5vfdg Run \
the test Result: Now the result is reverse as expected i.e. Function \
ApplcationSettingsTest will reflect the change in the file: \
~/.config/gcompris/gcompris-qt.conf && Function ActivitySettingsTest will \
change in the file:  build/test/core/DummyApplicationSettingsTest.conf  > 
  >   Correct me if I am wrong...

REPOSITORY
  R2 GCompris

REVISION DETAIL
  https://phabricator.kde.org/D11034

To: himanshuvishwakarma, jjazeix, dmadaan, rudranilbasu, timotheegiet, \
                #gcompris
Cc: #kde_edu, #gcompris, himanshuvishwakarma, harrymecwan, ganeshredcobra, \
nityanandkumar, echarruau, rahulyadav, narvaez, scagarwal, apol, \
timotheegiet, hkaelberer, jjazeix, bcoudoin


[Attachment #3 (unknown)]

<table><tr><td style="">jjazeix closed this revision.<br />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/D11034">View \
Revision</a></tr></table><br /><div><div><blockquote style="border-left: \
3px solid #8C98B8;  color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a \
href="https://phabricator.kde.org/D11034#232060" style="background-color: \
#e7e7e7;  border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: line-through;">D11034#232060</a>, \
<a href="https://phabricator.kde.org/p/himanshuvishwakarma/" style="  \
border-color: #f1f7ff;  color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@himanshuvishwakarma</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><blockquote style="border-left: 3px \
solid #8C98B8;  color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a \
href="https://phabricator.kde.org/D11034#231907" style="background-color: \
#e7e7e7;  border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: line-through;">D11034#231907</a>, \
<a href="https://phabricator.kde.org/p/jjazeix/" style="  border-color: \
#f1f7ff;  color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@jjazeix</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Can you check that if you \
instantiate a ApplicationSettingsMock object, then use \
ApplicationSettings::getInstance(), it returns the mock instead of creating \
a new ApplicationSettings object?<br />  As we use it this way on other \
classes (like ApplicationInfo), it would be better that, for tests, the \
getInstance() returns the mock instead of the real one (else we&#039;ll \
have the same issue as we had here, writing on the real configuration).</p>

<p>Except this point (and the small one regarding parameters ordering), it \
seems good to me, I&#039;ll take a closer look this week-end to integrate \
it</p></div> </blockquote>

<p>Hi,</p>

<p>I have checked that it the when we use the \
ApplicationSettings::getInstance( ), after the instantiate object of \
ApplicationSettingsMock. It will not disturb the main config file \
anyway.</p></div> </blockquote>

<p>Yes, it does, the getInstance by default will get the static object \
m_instance. Even if the mock is created before, the m_instance is still \
null when calling getInstance and thus it is instanciated to a simple \
ApplicationSettings which will write on the main config file instead of the \
dummy one.<br /> I added a getInstance in the mock to create the m_instance \
as a Mock.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; \
font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; \
background-color: #f8f9fc;"><p>It will disturb only when the object of \
ApplicationSettingsMock is not destroyed, that is the object of \
ApplicationSettingsMock is existing and then we call the function \
ApplicationSettings::getInstance( )</p>

<p>I have checked it by this methods</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">Change in the file \
ApplicationSettingsTest.cpp like this: <a \
href="https://paste.kde.org/pkfzgqgtx" class="remarkup-link" \
target="_blank" rel="noreferrer">https://paste.kde.org/pkfzgqgtx</a> Run \
the test. Result: Function ApplcationSettingsTest will reflect the change \
in the file build/test/core/DummyApplicationSettingsTest.conf &amp;&amp; \
Function ActivitySettingsTest will change in the file \
~/.config/gcompris/gcompris-qt.conf</li> <li \
class="remarkup-list-item">Change in the file ApplicationSettingsTest.cpp \
like this: <a href="https://paste.kde.org/ps9i5vfdg" class="remarkup-link" \
target="_blank" rel="noreferrer">https://paste.kde.org/ps9i5vfdg</a> Run \
the test Result: Now the result is reverse as expected i.e. Function \
ApplcationSettingsTest will reflect the change in the file: \
~/.config/gcompris/gcompris-qt.conf &amp;&amp; Function \
ActivitySettingsTest will change in the file:  \
build/test/core/DummyApplicationSettingsTest.conf <br /><br />
Correct me if I am wrong...</li>
</ol></blockquote>

</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/D11034">https://phabricator.kde.org/D11034</a></div></div><br \
/><div><strong>To: </strong>himanshuvishwakarma, jjazeix, dmadaan, \
rudranilbasu, timotheegiet, GCompris<br /><strong>Cc: </strong>KDE Edu, \
GCompris, himanshuvishwakarma, harrymecwan, ganeshredcobra, nityanandkumar, \
echarruau, rahulyadav, narvaez, scagarwal, apol, timotheegiet, hkaelberer, \
jjazeix, bcoudoin<br /></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic