OpenCoverage

qmimemagicrulematcher.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/corelib/mimetypes/qmimemagicrulematcher.cpp
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtCore module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#define QT_NO_CAST_FROM_ASCII-
41-
42#include "qmimemagicrulematcher_p.h"-
43-
44#ifndef QT_NO_MIMETYPE-
45-
46#include "qmimetype_p.h"-
47-
48QT_BEGIN_NAMESPACE-
49-
50/*!-
51 \internal-
52 \class QMimeMagicRuleMatcher-
53 \inmodule QtCore-
54-
55 \brief The QMimeMagicRuleMatcher class checks a number of rules based on operator "or".-
56-
57 It is used for rules parsed from XML files.-
58-
59 \sa QMimeType, QMimeDatabase, MagicRule, MagicStringRule, MagicByteRule, GlobPattern-
60 \sa QMimeTypeParserBase, MimeTypeParser-
61*/-
62-
63QMimeMagicRuleMatcher::QMimeMagicRuleMatcher(const QString &mime, unsigned thePriority) :-
64 m_list(),-
65 m_priority(thePriority),-
66 m_mimetype(mime)-
67{-
68}
executed 1733 times by 1 test: end of block
Executed by:
  • tst_QMimeDatabase
1733
69-
70bool QMimeMagicRuleMatcher::operator==(const QMimeMagicRuleMatcher &other) const-
71{-
72 return m_list == other.m_list &&
never executed: return m_list == other.m_list && m_priority == other.m_priority;
0
73 m_priority == other.m_priority;
never executed: return m_list == other.m_list && m_priority == other.m_priority;
0
74}-
75-
76void QMimeMagicRuleMatcher::addRule(const QMimeMagicRule &rule)-
77{-
78 m_list.append(rule);-
79}
never executed: end of block
0
80-
81void QMimeMagicRuleMatcher::addRules(const QList<QMimeMagicRule> &rules)-
82{-
83 m_list.append(rules);-
84}
executed 1733 times by 1 test: end of block
Executed by:
  • tst_QMimeDatabase
1733
85-
86QList<QMimeMagicRule> QMimeMagicRuleMatcher::magicRules() const-
87{-
88 return m_list;
never executed: return m_list;
0
89}-
90-
91// Check for a match on contents of a file-
92bool QMimeMagicRuleMatcher::matches(const QByteArray &data) const-
93{-
94 for (const QMimeMagicRule &magicRule : m_list) {-
95 if (magicRule.matches(data))
magicRule.matches(data)Description
TRUEevaluated 37 times by 1 test
Evaluated by:
  • tst_QMimeDatabase
FALSEevaluated 19185 times by 1 test
Evaluated by:
  • tst_QMimeDatabase
37-19185
96 return true;
executed 37 times by 1 test: return true;
Executed by:
  • tst_QMimeDatabase
37
97 }
executed 19185 times by 1 test: end of block
Executed by:
  • tst_QMimeDatabase
19185
98-
99 return false;
executed 11003 times by 1 test: return false;
Executed by:
  • tst_QMimeDatabase
11003
100}-
101-
102// Return a priority value from 1..100-
103unsigned QMimeMagicRuleMatcher::priority() const-
104{-
105 return m_priority;
executed 37 times by 1 test: return m_priority;
Executed by:
  • tst_QMimeDatabase
37
106}-
107-
108QT_END_NAMESPACE-
109#endif // QT_NO_MIMETYPE-
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9