File tree Expand file tree Collapse file tree 2 files changed +19
-3
lines changed Expand file tree Collapse file tree 2 files changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -443,12 +443,12 @@ class LIBSCRATCHCPP_EXPORT Value : public ValueVariant
443443 }
444444 }
445445 } else {
446- if (v1.isNumber () || v2.isNumber ())
446+ if (v1.isString () || v2.isString ())
447+ return stringsEqual (v1.toUtf16 (), v2.toUtf16 ());
448+ else if (v1.isNumber () || v2.isNumber ())
447449 return v1.toDouble () == v2.toDouble ();
448450 else if (v1.isBool () || v2.isBool ())
449451 return ((v1.m_type != Type::NaN && v2.m_type != Type::NaN) && (v1.toBool () == v2.toBool ()));
450- else if (v1.isString () || v2.isString ())
451- return stringsEqual (v1.toUtf16 (), v2.toUtf16 ());
452452 else
453453 return false ;
454454 }
Original file line number Diff line number Diff line change @@ -1613,6 +1613,22 @@ TEST(ValueTest, EqualityOperators)
16131613 ASSERT_TRUE (v2 != v3);
16141614 }
16151615
1616+ {
1617+ Value v1 = 0 ;
1618+ Value v2 = " 0" ;
1619+ Value v3 = " 1" ;
1620+ Value v4 = " test" ;
1621+
1622+ ASSERT_TRUE (v1 == v2);
1623+ ASSERT_FALSE (v1 != v2);
1624+
1625+ ASSERT_FALSE (v1 == v3);
1626+ ASSERT_TRUE (v1 != v3);
1627+
1628+ ASSERT_FALSE (v1 == v4);
1629+ ASSERT_TRUE (v1 != v4);
1630+ }
1631+
16161632 {
16171633 Value v1 = 1 ;
16181634 Value v2 = true ;
You can’t perform that action at this time.
0 commit comments