1444 { |
1444 { |
1445 QScriptEngine eng; |
1445 QScriptEngine eng; |
1446 |
1446 |
1447 QScriptValue undefined = eng.undefinedValue(); |
1447 QScriptValue undefined = eng.undefinedValue(); |
1448 QCOMPARE(undefined.toObject().isValid(), false); |
1448 QCOMPARE(undefined.toObject().isValid(), false); |
|
1449 QVERIFY(undefined.isUndefined()); |
1449 |
1450 |
1450 QScriptValue null = eng.nullValue(); |
1451 QScriptValue null = eng.nullValue(); |
1451 QCOMPARE(null.toObject().isValid(), false); |
1452 QCOMPARE(null.toObject().isValid(), false); |
|
1453 QVERIFY(null.isNull()); |
1452 |
1454 |
1453 { |
1455 { |
1454 QScriptValue falskt = QScriptValue(&eng, false); |
1456 QScriptValue falskt = QScriptValue(&eng, false); |
1455 { |
1457 { |
1456 QScriptValue tmp = falskt.toObject(); |
1458 QScriptValue tmp = falskt.toObject(); |
1457 QCOMPARE(tmp.isObject(), true); |
1459 QCOMPARE(tmp.isObject(), true); |
1458 QCOMPARE(tmp.toNumber(), falskt.toNumber()); |
1460 QCOMPARE(tmp.toNumber(), falskt.toNumber()); |
1459 } |
1461 } |
|
1462 QVERIFY(falskt.isBool()); |
1460 |
1463 |
1461 QScriptValue sant = QScriptValue(&eng, true); |
1464 QScriptValue sant = QScriptValue(&eng, true); |
1462 { |
1465 { |
1463 QScriptValue tmp = sant.toObject(); |
1466 QScriptValue tmp = sant.toObject(); |
1464 QCOMPARE(tmp.isObject(), true); |
1467 QCOMPARE(tmp.isObject(), true); |
1465 QCOMPARE(tmp.toNumber(), sant.toNumber()); |
1468 QCOMPARE(tmp.toNumber(), sant.toNumber()); |
1466 } |
1469 } |
|
1470 QVERIFY(sant.isBool()); |
1467 |
1471 |
1468 QScriptValue number = QScriptValue(&eng, 123.0); |
1472 QScriptValue number = QScriptValue(&eng, 123.0); |
1469 { |
1473 { |
1470 QScriptValue tmp = number.toObject(); |
1474 QScriptValue tmp = number.toObject(); |
1471 QCOMPARE(tmp.isObject(), true); |
1475 QCOMPARE(tmp.isObject(), true); |
1472 QCOMPARE(tmp.toNumber(), number.toNumber()); |
1476 QCOMPARE(tmp.toNumber(), number.toNumber()); |
1473 } |
1477 } |
|
1478 QVERIFY(number.isNumber()); |
1474 |
1479 |
1475 QScriptValue str = QScriptValue(&eng, QString("ciao")); |
1480 QScriptValue str = QScriptValue(&eng, QString("ciao")); |
1476 { |
1481 { |
1477 QScriptValue tmp = str.toObject(); |
1482 QScriptValue tmp = str.toObject(); |
1478 QCOMPARE(tmp.isObject(), true); |
1483 QCOMPARE(tmp.isObject(), true); |
1479 QCOMPARE(tmp.toString(), str.toString()); |
1484 QCOMPARE(tmp.toString(), str.toString()); |
1480 } |
1485 } |
|
1486 QVERIFY(str.isString()); |
1481 } |
1487 } |
1482 |
1488 |
1483 QScriptValue object = eng.newObject(); |
1489 QScriptValue object = eng.newObject(); |
1484 { |
1490 { |
1485 QScriptValue tmp = object.toObject(); |
1491 QScriptValue tmp = object.toObject(); |
1495 // V2 constructors: in this case, you have to use QScriptEngine::toObject() |
1501 // V2 constructors: in this case, you have to use QScriptEngine::toObject() |
1496 { |
1502 { |
1497 QScriptValue undefined = QScriptValue(QScriptValue::UndefinedValue); |
1503 QScriptValue undefined = QScriptValue(QScriptValue::UndefinedValue); |
1498 QVERIFY(!undefined.toObject().isValid()); |
1504 QVERIFY(!undefined.toObject().isValid()); |
1499 QVERIFY(!eng.toObject(undefined).isValid()); |
1505 QVERIFY(!eng.toObject(undefined).isValid()); |
|
1506 QVERIFY(undefined.isUndefined()); |
1500 |
1507 |
1501 QScriptValue null = QScriptValue(QScriptValue::NullValue); |
1508 QScriptValue null = QScriptValue(QScriptValue::NullValue); |
1502 QVERIFY(!null.toObject().isValid()); |
1509 QVERIFY(!null.toObject().isValid()); |
1503 QVERIFY(!eng.toObject(null).isValid()); |
1510 QVERIFY(!eng.toObject(null).isValid()); |
|
1511 QVERIFY(null.isNull()); |
1504 |
1512 |
1505 QScriptValue falskt = QScriptValue(false); |
1513 QScriptValue falskt = QScriptValue(false); |
1506 QVERIFY(!falskt.toObject().isValid()); |
1514 QVERIFY(!falskt.toObject().isValid()); |
1507 { |
1515 { |
1508 QScriptValue tmp = eng.toObject(falskt); |
1516 QScriptValue tmp = eng.toObject(falskt); |
1509 QVERIFY(tmp.isObject()); |
1517 QVERIFY(tmp.isObject()); |
1510 QVERIFY(tmp.toBool()); |
1518 QVERIFY(tmp.toBool()); |
1511 } |
1519 } |
|
1520 QVERIFY(falskt.isBool()); |
1512 |
1521 |
1513 QScriptValue sant = QScriptValue(true); |
1522 QScriptValue sant = QScriptValue(true); |
1514 QVERIFY(!sant.toObject().isValid()); |
1523 QVERIFY(!sant.toObject().isValid()); |
1515 { |
1524 { |
1516 QScriptValue tmp = eng.toObject(sant); |
1525 QScriptValue tmp = eng.toObject(sant); |
1517 QVERIFY(tmp.isObject()); |
1526 QVERIFY(tmp.isObject()); |
1518 QVERIFY(tmp.toBool()); |
1527 QVERIFY(tmp.toBool()); |
1519 } |
1528 } |
|
1529 QVERIFY(sant.isBool()); |
1520 |
1530 |
1521 QScriptValue number = QScriptValue(123.0); |
1531 QScriptValue number = QScriptValue(123.0); |
1522 QVERIFY(!number.toObject().isValid()); |
1532 QVERIFY(!number.toObject().isValid()); |
1523 { |
1533 { |
1524 QScriptValue tmp = eng.toObject(number); |
1534 QScriptValue tmp = eng.toObject(number); |
1525 QVERIFY(tmp.isObject()); |
1535 QVERIFY(tmp.isObject()); |
1526 QCOMPARE(tmp.toInt32(), number.toInt32()); |
1536 QCOMPARE(tmp.toInt32(), number.toInt32()); |
1527 } |
1537 } |
|
1538 QVERIFY(number.isNumber()); |
1528 |
1539 |
1529 QScriptValue str = QScriptValue(QString::fromLatin1("ciao")); |
1540 QScriptValue str = QScriptValue(QString::fromLatin1("ciao")); |
1530 QVERIFY(!str.toObject().isValid()); |
1541 QVERIFY(!str.toObject().isValid()); |
1531 { |
1542 { |
1532 QScriptValue tmp = eng.toObject(str); |
1543 QScriptValue tmp = eng.toObject(str); |
1533 QVERIFY(tmp.isObject()); |
1544 QVERIFY(tmp.isObject()); |
1534 QCOMPARE(tmp.toString(), QString::fromLatin1("ciao")); |
1545 QCOMPARE(tmp.toString(), QString::fromLatin1("ciao")); |
1535 } |
1546 } |
|
1547 QVERIFY(str.isString()); |
1536 } |
1548 } |
1537 } |
1549 } |
1538 |
1550 |
1539 void tst_QScriptValue::toDateTime_old() |
1551 void tst_QScriptValue::toDateTime_old() |
1540 { |
1552 { |