Changeset 54577 in webkit


Ignore:
Timestamp:
Feb 9, 2010 6:19:29 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-02-09 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Simon Hausmann.

Fix QScriptValue::isNumber().

The isNumber() should return 'true' if the value is in the CNumber
state.

[Qt] QScriptValue::isNumber() returns an incorrect value
https://bugs.webkit.org/show_bug.cgi?id=34575

  • qt/api/qscriptvalue_p.h: (QScriptValuePrivate::isNumber):
  • qt/tests/qscriptvalue/tst_qscriptvalue.h:
  • qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: (tst_QScriptValue::isNumber_initData): (tst_QScriptValue::isNumber_makeData): (tst_QScriptValue::isNumber_test):
Location:
trunk/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r54574 r54577  
     12010-02-09  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        Fix QScriptValue::isNumber().
     6
     7        The isNumber() should return 'true' if the value is in the CNumber
     8        state.
     9
     10        [Qt] QScriptValue::isNumber() returns an incorrect value
     11        https://bugs.webkit.org/show_bug.cgi?id=34575
     12
     13        * qt/api/qscriptvalue_p.h:
     14        (QScriptValuePrivate::isNumber):
     15        * qt/tests/qscriptvalue/tst_qscriptvalue.h:
     16        * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
     17        (tst_QScriptValue::isNumber_initData):
     18        (tst_QScriptValue::isNumber_makeData):
     19        (tst_QScriptValue::isNumber_test):
     20
    1212010-02-09  Geoffrey Garen  <ggaren@apple.com>
    222
  • trunk/JavaScriptCore/qt/api/qscriptvalue_p.h

    r53854 r54577  
    338338    switch (m_state) {
    339339    case CNumber:
    340         return m_number;
     340        return true;
    341341    case JSValue:
    342342        if (isObject())
  • trunk/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h

    r54340 r54577  
    5656    void isBoolean();
    5757
     58    void isNumber_data();
     59    void isNumber();
     60
    5861    void isFunction_data();
    5962    void isFunction();
     
    9598    void isBoolean_test(const char* expr, const QScriptValue& value);
    9699
     100    void isNumber_initData();
     101    void isNumber_makeData(const char* expr);
     102    void isNumber_test(const char* expr, const QScriptValue&);
     103
    97104    void isFunction_initData();
    98105    void isFunction_makeData(const char* expr);
  • trunk/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp

    r54340 r54577  
    316316DEFINE_TEST_FUNCTION(isBoolean)
    317317
     318void tst_QScriptValue::isNumber_initData()
     319{
     320    QTest::addColumn<bool>("expected");
     321    initScriptValues();
     322}
     323
     324void tst_QScriptValue::isNumber_makeData(const char* expr)
     325{
     326    static QSet<QString> isNumber;
     327    if (isNumber.isEmpty()) {
     328        isNumber << "QScriptValue(int(122))"
     329                << "QScriptValue(uint(124))"
     330                << "QScriptValue(0)"
     331                << "QScriptValue(0.0)"
     332                << "QScriptValue(123.0)"
     333                << "QScriptValue(6.37e-8)"
     334                << "QScriptValue(-6.37e-8)"
     335                << "QScriptValue(0x43211234)"
     336                << "QScriptValue(0x10000)"
     337                << "QScriptValue(0x10001)"
     338                << "QScriptValue(qSNaN())"
     339                << "QScriptValue(qQNaN())"
     340                << "QScriptValue(qInf())"
     341                << "QScriptValue(-qInf())"
     342                << "QScriptValue(0, int(122))"
     343                << "QScriptValue(0, uint(124))"
     344                << "QScriptValue(0, 0)"
     345                << "QScriptValue(0, 0.0)"
     346                << "QScriptValue(0, 123.0)"
     347                << "QScriptValue(0, 6.37e-8)"
     348                << "QScriptValue(0, -6.37e-8)"
     349                << "QScriptValue(0, 0x43211234)"
     350                << "QScriptValue(0, 0x10000)"
     351                << "QScriptValue(0, 0x10001)"
     352                << "QScriptValue(0, qSNaN())"
     353                << "QScriptValue(0, qQNaN())"
     354                << "QScriptValue(0, qInf())"
     355                << "QScriptValue(0, -qInf())"
     356                << "QScriptValue(engine, int(122))"
     357                << "QScriptValue(engine, uint(124))"
     358                << "QScriptValue(engine, 0)"
     359                << "QScriptValue(engine, 0.0)"
     360                << "QScriptValue(engine, 123.0)"
     361                << "QScriptValue(engine, 6.37e-8)"
     362                << "QScriptValue(engine, -6.37e-8)"
     363                << "QScriptValue(engine, 0x43211234)"
     364                << "QScriptValue(engine, 0x10000)"
     365                << "QScriptValue(engine, 0x10001)"
     366                << "QScriptValue(engine, qSNaN())"
     367                << "QScriptValue(engine, qQNaN())"
     368                << "QScriptValue(engine, qInf())"
     369                << "QScriptValue(engine, -qInf())";
     370    }
     371    newRow(expr) << isNumber.contains(expr);
     372}
     373
     374void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value)
     375{
     376    QFETCH(bool, expected);
     377    QCOMPARE(value.isNumber(), expected);
     378}
     379
     380DEFINE_TEST_FUNCTION(isNumber)
     381
    318382
    319383void tst_QScriptValue::isFunction_initData()
     
    493557DEFINE_TEST_FUNCTION(isObject)
    494558
    495 
Note: See TracChangeset for help on using the changeset viewer.