Files
qt-creator/tests/auto/qml/codemodel/check/equality-checks.qml
Fawzi Mohamed 7015ef04b7 qmljs: add check for comparisons not depending on values
currently we mainly try to warn about primitive == null/undefined or
primitive === non primitive.
There are other that we could warn about null==null null==undefined,
but I feel that they might be triggered too much by clean code.

Change-Id: Id43d838d60a4e13f361be34e4bb38211777a081e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-02-03 14:05:16 +00:00

137 lines
3.5 KiB
QML

import QtQuick 2.0
Rectangle {
function foo(k) {
// k is a unknown value
var s = ""
var n = 0
var N = null
var u = undefined
var b = true
var o = {}
if (s == s) {}
if (s == n) {} // 126 15 16
if (s == N) {} // 325 15 16
if (s == u) {} // 325 15 16
if (s == b) {} // 126 15 16
if (s == o) {} // 126 15 16
if (s == k) {} // 126 15 16
if (n == s) {} // 126 15 16
if (n == n) {}
if (n == N) {} // 325 15 16
if (n == u) {} // 325 15 16
if (n == b) {} // 126 15 16
if (n == o) {} // 126 15 16
if (n == k) {} // 126 15 16
if (N == s) {} // 325 15 16
if (N == n) {} // 325 15 16
if (N == N) {}
if (N == u) {}
if (N == b) {} // 325 15 16
if (N == o) {}
if (N == k) {} // 126 15 16
if (u == s) {} // 325 15 16
if (u == n) {} // 325 15 16
if (u == N) {}
if (u == u) {}
if (u == b) {} // 325 15 16
if (u == o) {}
if (u == k) {} // 126 15 16
if (b == s) {} // 126 15 16
if (b == n) {} // 126 15 16
if (b == N) {} // 325 15 16
if (b == u) {} // 325 15 16
if (b == b) {}
if (b == o) {} // 126 15 16
if (b == k) {} // 126 15 16
if (o == s) {} // 126 15 16
if (o == n) {} // 126 15 16
if (o == N) {}
if (o == u) {}
if (o == b) {} // 126 15 16
if (o == o) {}
if (o == k) {} // 126 15 16
if (k == s) {} // 126 15 16
if (k == n) {} // 126 15 16
if (k == N) {} // 126 15 16
if (k == u) {} // 126 15 16
if (k == b) {} // 126 15 16
if (k == o) {} // 126 15 16
if (k == k) {} // 126 15 16
if (s === s) {}
if (s === n) {} // 325 15 17
if (s === N) {} // 325 15 17
if (s === u) {} // 325 15 17
if (s === b) {} // 325 15 17
if (s === o) {} // 325 15 17
if (s === k) {}
if (s !== s) {}
if (s !== n) {} // 325 15 17
if (s !== N) {} // 325 15 17
if (s !== u) {} // 325 15 17
if (s !== b) {} // 325 15 17
if (s !== o) {} // 325 15 17
if (s !== k) {}
if (n === s) {} // 325 15 17
if (n === n) {}
if (n === N) {} // 325 15 17
if (n === u) {} // 325 15 17
if (n === b) {} // 325 15 17
if (n === o) {} // 325 15 17
if (n === k) {}
if (N === s) {} // 325 15 17
if (N === n) {} // 325 15 17
if (N === N) {}
if (N === u) {}
if (N === b) {} // 325 15 17
if (N === o) {} // 325 15 17
if (N === k) {}
if (u === s) {} // 325 15 17
if (u === n) {} // 325 15 17
if (u === N) {}
if (u === u) {}
if (u === b) {} // 325 15 17
if (u === o) {} // 325 15 17
if (u === k) {}
if (b === s) {} // 325 15 17
if (b === n) {} // 325 15 17
if (b === N) {} // 325 15 17
if (b === u) {} // 325 15 17
if (b === b) {}
if (b === o) {} // 325 15 17
if (b === k) {}
if (o === s) {} // 325 15 17
if (o === n) {} // 325 15 17
if (o === N) {} // 325 15 17
if (o === u) {} // 325 15 17
if (o === b) {} // 325 15 17
if (o === o) {} // 325 15 17
if (o === k) {}
if (k === s) {}
if (k === n) {}
if (k === N) {}
if (k === u) {}
if (k === b) {}
if (k === o) {}
if (k === k) {}
}
}