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

List:       kde-commits
Subject:    [calligra] /: Fixing testinformation test case in sheets.
From:       Sujith Haridasan <sujith.haridasan () kdemail ! net>
Date:       2012-11-26 4:21:20
Message-ID: 20121126042120.6AF8FA6091 () git ! kde ! org
[Download RAW message or body]

Git commit 3beb7ee26781e5fd80b1195032d9c284c8073ba0 by Sujith Haridasan.
Committed on 24/11/2012 at 08:03.
Pushed by sujithh into branch 'master'.

Fixing testinformation test case in sheets.

REVIEW: 107459

M  +11   -0    libs/main/KoApplication.cpp
M  +6    -0    libs/main/KoApplication.h
M  +15   -4    sheets/functions/information.cpp
M  +1    -1    sheets/tests/TestInformationFunctions.cpp

http://commits.kde.org/calligra/3beb7ee26781e5fd80b1195032d9c284c8073ba0

diff --git a/libs/main/KoApplication.cpp b/libs/main/KoApplication.cpp
index 8ac4639..a907638 100644
--- a/libs/main/KoApplication.cpp
+++ b/libs/main/KoApplication.cpp
@@ -498,6 +498,17 @@ void KoApplication::addPart(KoPart* part)
     d->partList << part;
 }
 
+int KoApplication::documents()
+{
+   QList <QString>nameList;
+   QList<KoPart*> parts = d->partList;
+   foreach(KoPart* part, parts) {
+      nameList.append(part->document()->objectName());
+   }
+   QSet<QString> finalSet = nameList.toSet();
+   return finalSet.size();
+}
+
 bool KoApplication::notify(QObject *receiver, QEvent *event)
 {
     try {
diff --git a/libs/main/KoApplication.h b/libs/main/KoApplication.h
index b0bcab2..d973820 100644
--- a/libs/main/KoApplication.h
+++ b/libs/main/KoApplication.h
@@ -87,6 +87,12 @@ public:
 
     void addPart(KoPart* part);
 
+    /**
+     *  Get the number of currently open documents.
+     */
+    int documents();
+
+
     // Overridden to handle exceptions from event handlers.
     bool notify(QObject *receiver, QEvent *event);
 
diff --git a/sheets/functions/information.cpp b/sheets/functions/information.cpp
index 5ae962d..1ecfd14 100644
--- a/sheets/functions/information.cpp
+++ b/sheets/functions/information.cpp
@@ -42,6 +42,7 @@
 #include "CellStorage.h"
 
 #include <KoDocument.h>
+#include <KoApplication.h>
 
 using namespace Calligra::Sheets;
 
@@ -187,10 +188,20 @@ Value func_info(valVector args, ValueCalc *calc, FuncExtra *)
 
     if (type == "release")
         return Value(QString(CALLIGRA_VERSION_STRING));
-/*FIXME
-    if (type == "numfile")
-        return Value(KoDocument::documentList() ? \
                KoDocument::documentList()->count() : 0);
-*/
+
+    if (type == "numfile") {
+        KoApplication *app = qobject_cast<KoApplication*>(qApp);
+        if(! app) {
+           return Value(false);
+        } else {
+           if(! app->documents()) {
+              return Value(true);
+           } else {
+              return Value(false);
+           }
+	}
+    }
+
     if (type == "recalc") {
         QString result;
         if (!calc->settings()->isAutoCalculationEnabled())
diff --git a/sheets/tests/TestInformationFunctions.cpp \
b/sheets/tests/TestInformationFunctions.cpp index d0adc68..1cf501f 100644
--- a/sheets/tests/TestInformationFunctions.cpp
+++ b/sheets/tests/TestInformationFunctions.cpp
@@ -335,7 +335,7 @@ void TestInformationFunctions::testINFO()
     CHECK_EVAL("ISTEXT(INFO(\"directory\"))",  Value(true));            // Test to \
see that every required category is supported  //     CHECK_EVAL( \
"ISNUMBER(INFO(\"memavail\"))", Value( true        ) ); // not implemented  //     \
CHECK_EVAL( "ISNUMBER(INFO(\"memused\"))",  Value( true        ) ); // not \
                implemented
-    CHECK_EVAL("ISNUMBER(INFO(\"numfile\"))",  Value(true));            //
+    CHECK_EVAL("ISNUMBER(INFO(\"numfile\"))",  Value(false));            //
     CHECK_EVAL("ISTEXT(INFO(\"osversion\"))",  Value(true));            //
 //     CHECK_EVAL( "ISTEXT(INFO(\"origin\"))",     Value( true        ) ); // not \
                implemented
     CHECK_EVAL("ISTEXT(INFO(\"recalc\"))",     Value(true));            //


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

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