OpenCoverage

qv4booleanobject.cpp

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4booleanobject.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 QtQml 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#include "qv4booleanobject_p.h"-
41#include "qv4string_p.h"-
42-
43using namespace QV4;-
44-
45DEFINE_OBJECT_VTABLE(BooleanCtor);-
46DEFINE_OBJECT_VTABLE(BooleanObject);-
47-
48void Heap::BooleanCtor::init(QV4::ExecutionContext *scope)-
49{-
50 Heap::FunctionObject::init(scope, QStringLiteral("Boolean"));
executed 98632 times by 153 tests: return qstring_literal_temp;
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
98632
51}
executed 99154 times by 153 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
99154
52-
53ReturnedValue BooleanCtor::virtualCallAsConstructor(const FunctionObject *that, const Value *argv, int argc, const Value *)-
54{-
55 bool n = argc ? argv[0].toBoolean() : false;
argcDescription
TRUEevaluated 2673 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsvalue
FALSEevaluated 212 times by 1 test
Evaluated by:
  • tst_ecmascripttests
212-2673
56 return Encode(that->engine()->newBooleanObject(n));
executed 2887 times by 2 tests: return Encode(that->engine()->newBooleanObject(n));
Executed by:
  • tst_ecmascripttests
  • tst_qjsvalue
2887
57}-
58-
59ReturnedValue BooleanCtor::virtualCall(const FunctionObject *, const Value *, const Value *argv, int argc)-
60{-
61 bool value = argc ? argv[0].toBoolean() : 0;
argcDescription
TRUEevaluated 356 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 16 times by 1 test
Evaluated by:
  • tst_ecmascripttests
16-356
62 return Encode(value);
executed 372 times by 1 test: return Encode(value);
Executed by:
  • tst_ecmascripttests
372
63}-
64-
65void BooleanPrototype::init(ExecutionEngine *engine, Object *ctor)-
66{-
67 Scope scope(engine);-
68 ScopedObject o(scope);-
69 ctor->defineReadonlyConfigurableProperty(engine->id_length(), Primitive::fromInt32(1));-
70 ctor->defineReadonlyProperty(engine->id_prototype(), (o = this));-
71 defineDefaultProperty(QStringLiteral("constructor"), (o = ctor));
executed 98344 times by 153 tests: return qstring_literal_temp;
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
98344
72 defineDefaultProperty(engine->id_toString(), method_toString);-
73 defineDefaultProperty(engine->id_valueOf(), method_valueOf);-
74}
executed 98956 times by 153 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
98956
75-
76static bool value(const Value *thisObject, bool *exception)-
77{-
78 *exception = false;-
79 if (thisObject->isBoolean()) {
thisObject->isBoolean()Description
TRUEevaluated 32 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 2362 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsvalue
32-2362
80 return thisObject->booleanValue();
executed 32 times by 1 test: return thisObject->booleanValue();
Executed by:
  • tst_ecmascripttests
32
81 } else {-
82 const BooleanObject *that = thisObject->as<BooleanObject>();-
83 if (that)
thatDescription
TRUEevaluated 2280 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsvalue
FALSEevaluated 80 times by 1 test
Evaluated by:
  • tst_ecmascripttests
80-2280
84 return that->value();
executed 2281 times by 2 tests: return that->value();
Executed by:
  • tst_ecmascripttests
  • tst_qjsvalue
2281
85 }
executed 80 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
80
86 *exception = true;-
87 return false;
executed 80 times by 1 test: return false;
Executed by:
  • tst_ecmascripttests
80
88}-
89-
90ReturnedValue BooleanPrototype::method_toString(const FunctionObject *b, const Value *thisObject, const Value *, int)-
91{-
92 bool exception;-
93 bool result = ::value(thisObject, &exception);-
94 ExecutionEngine *v4 = b->engine();-
95 if (exception)
exceptionDescription
TRUEevaluated 40 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 268 times by 1 test
Evaluated by:
  • tst_ecmascripttests
40-268
96 return v4->throwTypeError();
executed 40 times by 1 test: return v4->throwTypeError();
Executed by:
  • tst_ecmascripttests
40
97-
98 return Encode(result ? v4->id_true() : v4->id_false());
executed 268 times by 1 test: return Encode(result ? v4->id_true() : v4->id_false());
Executed by:
  • tst_ecmascripttests
268
99}-
100-
101ReturnedValue BooleanPrototype::method_valueOf(const FunctionObject *b, const Value *thisObject, const Value *, int)-
102{-
103 bool exception;-
104 bool result = ::value(thisObject, &exception);-
105 if (exception) {
exceptionDescription
TRUEevaluated 40 times by 1 test
Evaluated by:
  • tst_ecmascripttests
FALSEevaluated 2048 times by 2 tests
Evaluated by:
  • tst_ecmascripttests
  • tst_qjsvalue
40-2048
106 ExecutionEngine *v4 = b->engine();-
107 return v4->throwTypeError();
executed 40 times by 1 test: return v4->throwTypeError();
Executed by:
  • tst_ecmascripttests
40
108 }-
109-
110 return Encode(result);
executed 2048 times by 2 tests: return Encode(result);
Executed by:
  • tst_ecmascripttests
  • tst_qjsvalue
2048
111}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0