OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 #include "SkScript2.h" | 8 #include "SkScript2.h" |
9 #include "SkData.h" | 9 #include "SkData.h" |
10 #include "SkFloatingPoint.h" | 10 #include "SkFloatingPoint.h" |
(...skipping 1461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1472 testInt(0&&1?2:3) | 1472 testInt(0&&1?2:3) |
1473 , { "123.5", SkOperand2::kScalar, 0, SkIntToScalar(123) + SK_Scalar1/2, N
ULL } | 1473 , { "123.5", SkOperand2::kScalar, 0, SkIntToScalar(123) + SK_Scalar1/2, N
ULL } |
1474 }; | 1474 }; |
1475 | 1475 |
1476 #define SkScriptNAnswer_testCount SK_ARRAY_COUNT(scriptTests) | 1476 #define SkScriptNAnswer_testCount SK_ARRAY_COUNT(scriptTests) |
1477 #endif // SK_SUPPORT_UNITTEST | 1477 #endif // SK_SUPPORT_UNITTEST |
1478 | 1478 |
1479 void SkScriptEngine2::UnitTest() { | 1479 void SkScriptEngine2::UnitTest() { |
1480 #if defined(SK_SUPPORT_UNITTEST) | 1480 #if defined(SK_SUPPORT_UNITTEST) |
1481 ValidateDecompileTable(); | 1481 ValidateDecompileTable(); |
1482 for (int index = 0; index < SkScriptNAnswer_testCount; index++) { | 1482 for (size_t index = 0; index < SkScriptNAnswer_testCount; index++) { |
1483 SkScriptEngine2 engine(scriptTests[index].fType); | 1483 SkScriptEngine2 engine(scriptTests[index].fType); |
1484 SkScriptValue2 value; | 1484 SkScriptValue2 value; |
1485 const char* script = scriptTests[index].fScript; | 1485 const char* script = scriptTests[index].fScript; |
1486 const char* scriptPtr = script; | 1486 const char* scriptPtr = script; |
1487 SkASSERT(engine.evaluateScript(&scriptPtr, &value) == true); | 1487 SkASSERT(engine.evaluateScript(&scriptPtr, &value) == true); |
1488 SkASSERT(value.fType == scriptTests[index].fType); | 1488 SkASSERT(value.fType == scriptTests[index].fType); |
1489 SkScalar error; | 1489 SkScalar error; |
1490 switch (value.fType) { | 1490 switch (value.fType) { |
1491 case SkOperand2::kS32: | 1491 case SkOperand2::kS32: |
1492 if (value.fOperand.fS32 != scriptTests[index].fIntAnswer) | 1492 if (value.fOperand.fS32 != scriptTests[index].fIntAnswer) |
1493 SkDEBUGF(("script '%s' == value %d != expected answer %d\n",
script, value.fOperand.fS32, scriptTests[index].fIntAnswer)); | 1493 SkDEBUGF(("script '%s' == value %d != expected answer %d\n",
script, value.fOperand.fS32, scriptTests[index].fIntAnswer)); |
1494 SkASSERT(value.fOperand.fS32 == scriptTests[index].fIntAnswer); | 1494 SkASSERT(value.fOperand.fS32 == scriptTests[index].fIntAnswer); |
1495 break; | 1495 break; |
1496 case SkOperand2::kScalar: | 1496 case SkOperand2::kScalar: |
1497 error = SkScalarAbs(value.fOperand.fScalar - scriptTests[index].
fScalarAnswer); | 1497 error = SkScalarAbs(value.fOperand.fScalar - scriptTests[index].
fScalarAnswer); |
1498 if (error >= SK_Scalar1 / 10000) | 1498 if (error >= SK_Scalar1 / 10000) |
1499 SkDEBUGF(("script '%s' == value %g != expected answer %g\n",
script, value.fOperand.fScalar / (1.0f * SK_Scalar1), scriptTests[index].fScala
rAnswer / (1.0f * SK_Scalar1))); | 1499 SkDEBUGF(("script '%s' == value %g != expected answer %g\n",
script, value.fOperand.fScalar / (1.0f * SK_Scalar1), scriptTests[index].fScala
rAnswer / (1.0f * SK_Scalar1))); |
1500 SkASSERT(error < SK_Scalar1 / 10000); | 1500 SkASSERT(error < SK_Scalar1 / 10000); |
1501 break; | 1501 break; |
1502 case SkOperand2::kString: | 1502 case SkOperand2::kString: |
1503 SkASSERT(value.fOperand.fString->equals(scriptTests[index].fStri
ngAnswer)); | 1503 SkASSERT(value.fOperand.fString->equals(scriptTests[index].fStri
ngAnswer)); |
1504 break; | 1504 break; |
1505 default: | 1505 default: |
1506 SkASSERT(0); | 1506 SkASSERT(0); |
1507 } | 1507 } |
1508 } | 1508 } |
1509 #endif // SK_SUPPORT_UNITTEST | 1509 #endif // SK_SUPPORT_UNITTEST |
1510 } | 1510 } |
1511 #endif // SK_DEBUG | 1511 #endif // SK_DEBUG |
OLD | NEW |