Changeset 59503 in webkit for trunk/JavaScriptCore/qt/tests
- Timestamp:
- May 14, 2010, 5:08:09 PM (15 years ago)
- Location:
- trunk/JavaScriptCore/qt/tests
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp
r56689 r59503 45 45 void checkSyntax_data(); 46 46 void checkSyntax(); 47 void toObject(); 48 void toObjectTwoEngines(); 47 49 }; 48 50 … … 304 306 } 305 307 308 void tst_QScriptEngine::toObject() 309 { 310 QScriptEngine eng; 311 QVERIFY(!eng.toObject(eng.undefinedValue()).isValid()); 312 QVERIFY(!eng.toObject(eng.nullValue()).isValid()); 313 QVERIFY(!eng.toObject(QScriptValue()).isValid()); 314 315 QScriptValue falskt(false); 316 { 317 QScriptValue tmp = eng.toObject(falskt); 318 QVERIFY(tmp.isObject()); 319 QVERIFY(!falskt.isObject()); 320 QVERIFY(!falskt.engine()); 321 QCOMPARE(tmp.toNumber(), falskt.toNumber()); 322 } 323 324 QScriptValue sant(true); 325 { 326 QScriptValue tmp = eng.toObject(sant); 327 QVERIFY(tmp.isObject()); 328 QVERIFY(!sant.isObject()); 329 QVERIFY(!sant.engine()); 330 QCOMPARE(tmp.toNumber(), sant.toNumber()); 331 } 332 333 QScriptValue number(123.0); 334 { 335 QScriptValue tmp = eng.toObject(number); 336 QVERIFY(tmp.isObject()); 337 QVERIFY(!number.isObject()); 338 QVERIFY(!number.engine()); 339 QCOMPARE(tmp.toNumber(), number.toNumber()); 340 } 341 342 QScriptValue str = QScriptValue(&eng, QString("ciao")); 343 { 344 QScriptValue tmp = eng.toObject(str); 345 QVERIFY(tmp.isObject()); 346 QVERIFY(!str.isObject()); 347 QCOMPARE(tmp.toString(), str.toString()); 348 } 349 350 QScriptValue object = eng.evaluate("new Object"); 351 { 352 QScriptValue tmp = eng.toObject(object); 353 QVERIFY(tmp.isObject()); 354 QVERIFY(object.isObject()); 355 QVERIFY(tmp.strictlyEquals(object)); 356 } 357 } 358 359 void tst_QScriptEngine::toObjectTwoEngines() 360 { 361 QScriptEngine engine1; 362 QScriptEngine engine2; 363 364 { 365 QScriptValue null = engine1.nullValue(); 366 QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); 367 QVERIFY(!engine2.toObject(null).isValid()); 368 QVERIFY(null.isValid()); 369 QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); 370 QVERIFY(engine2.toObject(null).engine() != &engine2); 371 } 372 { 373 QScriptValue undefined = engine1.undefinedValue(); 374 QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); 375 QVERIFY(!engine2.toObject(undefined).isValid()); 376 QVERIFY(undefined.isValid()); 377 QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); 378 QVERIFY(engine2.toObject(undefined).engine() != &engine2); 379 } 380 { 381 QScriptValue value = engine1.evaluate("1"); 382 QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); 383 QVERIFY(engine2.toObject(value).engine() != &engine2); 384 QVERIFY(!value.isObject()); 385 } 386 { 387 QScriptValue string = engine1.evaluate("'Qt'"); 388 QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); 389 QVERIFY(engine2.toObject(string).engine() != &engine2); 390 QVERIFY(!string.isObject()); 391 } 392 { 393 QScriptValue object = engine1.evaluate("new Object"); 394 QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); 395 QVERIFY(engine2.toObject(object).engine() != &engine2); 396 QVERIFY(object.isObject()); 397 } 398 } 306 399 307 400 QTEST_MAIN(tst_QScriptEngine) -
trunk/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp
r55427 r59503 432 432 } 433 433 434 void tst_QScriptValue::toObjectSimple() 435 { 436 QScriptEngine eng; 437 438 QScriptValue undefined = eng.undefinedValue(); 439 QCOMPARE(undefined.toObject().isValid(), false); 440 QScriptValue null = eng.nullValue(); 441 QCOMPARE(null.toObject().isValid(), false); 442 QCOMPARE(QScriptValue().toObject().isValid(), false); 443 444 QScriptValue falskt = QScriptValue(&eng, false); 445 { 446 QScriptValue tmp = falskt.toObject(); 447 QCOMPARE(tmp.isObject(), true); 448 QCOMPARE(falskt.isObject(), false); 449 QCOMPARE(tmp.toNumber(), falskt.toNumber()); 450 } 451 452 QScriptValue sant = QScriptValue(&eng, true); 453 { 454 QScriptValue tmp = sant.toObject(); 455 QCOMPARE(tmp.isObject(), true); 456 QCOMPARE(sant.isObject(), false); 457 QCOMPARE(tmp.toNumber(), sant.toNumber()); 458 } 459 460 QScriptValue number = QScriptValue(&eng, 123.0); 461 { 462 QScriptValue tmp = number.toObject(); 463 QCOMPARE(tmp.isObject(), true); 464 QCOMPARE(number.isObject(), false); 465 QCOMPARE(tmp.toNumber(), number.toNumber()); 466 } 467 468 QScriptValue str = QScriptValue(&eng, QString("ciao")); 469 { 470 QScriptValue tmp = str.toObject(); 471 QCOMPARE(tmp.isObject(), true); 472 QCOMPARE(str.isObject(), false); 473 QCOMPARE(tmp.toString(), str.toString()); 474 } 475 476 477 QScriptValue object = eng.evaluate("new Object"); 478 { 479 QScriptValue tmp = object.toObject(); 480 QVERIFY(tmp.strictlyEquals(object)); 481 QCOMPARE(tmp.isObject(), true); 482 } 483 484 485 // V2 constructors: in this case, you have to use QScriptEngine::toObject() 486 { 487 QScriptValue undefined = QScriptValue(QScriptValue::UndefinedValue); 488 QVERIFY(!undefined.toObject().isValid()); 489 QVERIFY(!eng.toObject(undefined).isValid()); 490 QVERIFY(!undefined.engine()); 491 492 QScriptValue null = QScriptValue(QScriptValue::NullValue); 493 QVERIFY(!null.toObject().isValid()); 494 QVERIFY(!eng.toObject(null).isValid()); 495 QVERIFY(!null.engine()); 496 497 QScriptValue falskt = QScriptValue(false); 498 QVERIFY(!falskt.toObject().isValid()); 499 QCOMPARE(falskt.isObject(), false); 500 QVERIFY(!falskt.engine()); 501 { 502 QScriptValue tmp = eng.toObject(falskt); 503 QVERIFY(tmp.isObject()); 504 QVERIFY(tmp.toBool()); 505 QVERIFY(!falskt.isObject()); 506 } 507 508 QScriptValue sant = QScriptValue(true); 509 QVERIFY(!sant.toObject().isValid()); 510 QCOMPARE(sant.isObject(), false); 511 QVERIFY(!sant.engine()); 512 { 513 QScriptValue tmp = eng.toObject(sant); 514 QVERIFY(tmp.isObject()); 515 QVERIFY(tmp.toBool()); 516 QVERIFY(!sant.isObject()); 517 } 518 519 QScriptValue number = QScriptValue(123.0); 520 QVERIFY(!number.toObject().isValid()); 521 QVERIFY(!number.engine()); 522 QCOMPARE(number.isObject(), false); 523 { 524 QScriptValue tmp = eng.toObject(number); 525 QVERIFY(tmp.isObject()); 526 QCOMPARE(tmp.toInt32(), number.toInt32()); 527 QVERIFY(!number.isObject()); 528 } 529 530 QScriptValue str = QScriptValue(QString::fromLatin1("ciao")); 531 QVERIFY(!str.toObject().isValid()); 532 QVERIFY(!str.engine()); 533 QCOMPARE(str.isObject(), false); 534 { 535 QScriptValue tmp = eng.toObject(str); 536 QVERIFY(tmp.isObject()); 537 QCOMPARE(tmp.toString(), QString::fromLatin1("ciao")); 538 QVERIFY(!str.isObject()); 539 } 540 } 541 } 434 542 435 543 QTEST_MAIN(tst_QScriptValue) -
trunk/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h
r55427 r59503 48 48 void call(); 49 49 void ctor(); 50 void toObjectSimple(); 50 51 51 52 // Generated test functions.
Note:
See TracChangeset
for help on using the changeset viewer.