Accepting request 481400 from home:wolfi323:test

- Add Make-PlainTextExtractor-match-text-plain-again.patch to fix metadata extraction for text files which got broken in 5.32.0

OBS-URL: https://build.opensuse.org/request/show/481400
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kfilemetadata5?expand=0&rev=131
This commit is contained in:
Luca Beltrame 2017-03-20 15:49:50 +00:00 committed by Git OBS Bridge
parent 549d21c5bb
commit 4187805a27
3 changed files with 132 additions and 0 deletions

View File

@ -0,0 +1,123 @@
From f9c8bb29b2cf5d46ff68c0261393084d1ff16ece Mon Sep 17 00:00:00 2001
From: Igor Poboiko <igor.poboiko@gmail.com>
Date: Fri, 17 Mar 2017 11:21:45 +0300
Subject: Make PlainTextExtractor match "text/plain" again
This fixes the regression introduced with commit
7c7e985a4678fef5f5d0dd8faa9b9cb42e3844b4.
Added autotest that could possibly detect such regression in the future.
REVIEW: 130013
---
autotests/CMakeLists.txt | 14 +++++++++++
autotests/extractorcollectiontest.cpp | 45 +++++++++++++++++++++++++++++++++++
src/externalextractor.cpp | 2 --
src/extractors/plaintextextractor.cpp | 2 +-
4 files changed, 60 insertions(+), 3 deletions(-)
create mode 100644 autotests/extractorcollectiontest.cpp
diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt
index 5ab742b..5d28bdf 100644
--- a/autotests/CMakeLists.txt
+++ b/autotests/CMakeLists.txt
@@ -104,6 +104,20 @@ ecm_add_test(externalextractortest.cpp ../src/externalextractor.cpp
LINK_LIBRARIES Qt5::Test KF5::FileMetaData KF5::I18n
)
+#
+# Collection
+#
+set(extractorcollection_SRCS
+ extractorcollectiontest.cpp
+ ../src/extractorcollection.cpp
+ ../src/externalextractor.cpp
+)
+
+ecm_add_test(${extractorcollection_SRCS}
+ TEST_NAME "extractorcollectiontest"
+ LINK_LIBRARIES Qt5::Test KF5::FileMetaData
+)
+
################
# Writer tests #
################
diff --git a/autotests/extractorcollectiontest.cpp b/autotests/extractorcollectiontest.cpp
new file mode 100644
index 0000000..dd5f396
--- /dev/null
+++ b/autotests/extractorcollectiontest.cpp
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the KDE KFileMetaData project
+ * Copyright (C) 2014 Vishesh Handa <me@vhanda.in>
+ * 2017 Igor Poboiko <igor.poboiko@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#include <QObject>
+#include <QtTest>
+#include <QDebug>
+
+#include "extractorcollection.h"
+#include "extractors/plaintextextractor.h"
+
+using namespace KFileMetaData;
+
+class ExtractorCollectionTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void testFetchExtractors()
+ {
+ ExtractorCollection collection;
+ QVERIFY(collection.fetchExtractors("unknown/mimetype").isEmpty());
+ QVERIFY(!collection.fetchExtractors("text/plain").isEmpty());
+ }
+};
+
+QTEST_MAIN(ExtractorCollectionTest)
+
+#include "extractorcollectiontest.moc"
diff --git a/src/externalextractor.cpp b/src/externalextractor.cpp
index 05f0645..1927456 100644
--- a/src/externalextractor.cpp
+++ b/src/externalextractor.cpp
@@ -30,8 +30,6 @@
#include <QJsonObject>
#include <QJsonArray>
-#include <KLocalizedString>
-
#include "properties.h"
#include "propertyinfo.h"
#include "typeinfo.h"
diff --git a/src/extractors/plaintextextractor.cpp b/src/extractors/plaintextextractor.cpp
index 26e1247..e53d149 100644
--- a/src/extractors/plaintextextractor.cpp
+++ b/src/extractors/plaintextextractor.cpp
@@ -43,7 +43,7 @@ PlainTextExtractor::PlainTextExtractor(QObject* parent)
QStringList PlainTextExtractor::mimetypes() const
{
- return QStringList() << QStringLiteral("text/");
+ return QStringList() << QStringLiteral("text/plain");
}
void PlainTextExtractor::extract(ExtractionResult* result)
--
cgit v0.11.2

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Mar 20 14:52:29 UTC 2017 - wbauer@tmo.at
- Add Make-PlainTextExtractor-match-text-plain-again.patch to fix
metadata extraction for text files which got broken in 5.32.0
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Mar 19 14:50:33 CET 2017 - lbeltrame@kde.org Sun Mar 19 14:50:33 CET 2017 - lbeltrame@kde.org

View File

@ -30,6 +30,8 @@ Url: http://www.kde.org/
Source: http://download.kde.org/stable/frameworks/%{_tar_path}/kfilemetadata-%{version}.tar.xz Source: http://download.kde.org/stable/frameworks/%{_tar_path}/kfilemetadata-%{version}.tar.xz
Source1: baselibs.conf Source1: baselibs.conf
Patch0: ffmpeg-buildrequires.patch Patch0: ffmpeg-buildrequires.patch
# PATCH-FIX-UPSTREAM Make-PlainTextExtractor-match-text-plain-again.patch -- fixes metadata extraction for text files
Patch1: Make-PlainTextExtractor-match-text-plain-again.patch
BuildRequires: extra-cmake-modules >= %{_tar_path} BuildRequires: extra-cmake-modules >= %{_tar_path}
%if %{with ffmpeg} %if %{with ffmpeg}
BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavcodec)
@ -69,6 +71,7 @@ A library for extracting file metadata. Development files
%prep %prep
%setup -q -n kfilemetadata-%{version} %setup -q -n kfilemetadata-%{version}
%patch0 -p1 %patch0 -p1
%patch1 -p1
%build %build
%cmake_kf5 -d build -- -DCMAKE_INSTALL_LOCALEDIR=%{_kf5_localedir} %cmake_kf5 -d build -- -DCMAKE_INSTALL_LOCALEDIR=%{_kf5_localedir}