| OLD | NEW |
| 1 | |
| 2 /* | 1 /* |
| 3 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 4 * | 3 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 7 */ | 6 */ |
| 7 |
| 8 #include "Test.h" | 8 #include "Test.h" |
| 9 #include "TestClassDef.h" |
| 9 #include "gradients/SkClampRange.h" | 10 #include "gradients/SkClampRange.h" |
| 10 #include "SkRandom.h" | 11 #include "SkRandom.h" |
| 11 | 12 |
| 12 static skiatest::Reporter* gReporter; | 13 static skiatest::Reporter* gReporter; |
| 13 | 14 |
| 14 static void debug_me() { | 15 static void debug_me() { |
| 15 if (NULL == gReporter) { | 16 if (NULL == gReporter) { |
| 16 SkDebugf("dsfdssd\n"); | 17 SkDebugf("dsfdssd\n"); |
| 17 } | 18 } |
| 18 } | 19 } |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 fx += dx; | 74 fx += dx; |
| 74 } | 75 } |
| 75 for (i = 0; i < range.fCount2; i++) { | 76 for (i = 0; i < range.fCount2; i++) { |
| 76 int v = classify_value(fx, V0, V1); | 77 int v = classify_value(fx, V0, V1); |
| 77 R_ASSERT(v == range.fV1); | 78 R_ASSERT(v == range.fV1); |
| 78 fx += dx; | 79 fx += dx; |
| 79 } | 80 } |
| 80 } | 81 } |
| 81 } | 82 } |
| 82 | 83 |
| 84 |
| 83 static void test_range(SkFixed fx, SkFixed dx, int count) { | 85 static void test_range(SkFixed fx, SkFixed dx, int count) { |
| 84 SkClampRange range; | 86 SkClampRange range; |
| 85 range.init(fx, dx, count, V0, V1); | 87 range.init(fx, dx, count, V0, V1); |
| 86 slow_check(range, fx, dx, count); | 88 slow_check(range, fx, dx, count); |
| 87 } | 89 } |
| 88 | 90 |
| 89 #define ff(x) SkIntToFixed(x) | 91 #define ff(x) SkIntToFixed(x) |
| 90 | 92 |
| 91 void TestClampRange(skiatest::Reporter* reporter); | 93 DEF_TEST(ClampRange, reporter) { |
| 92 void TestClampRange(skiatest::Reporter* reporter) { | |
| 93 gReporter = reporter; | 94 gReporter = reporter; |
| 94 | 95 |
| 95 test_range(0, 0, 20); | 96 test_range(0, 0, 20); |
| 96 test_range(0xFFFF, 0, 20); | 97 test_range(0xFFFF, 0, 20); |
| 97 test_range(-ff(2), 0, 20); | 98 test_range(-ff(2), 0, 20); |
| 98 test_range( ff(2), 0, 20); | 99 test_range( ff(2), 0, 20); |
| 99 | 100 |
| 100 test_range(-10, 1, 20); | 101 test_range(-10, 1, 20); |
| 101 test_range(10, -1, 20); | 102 test_range(10, -1, 20); |
| 102 test_range(-10, 3, 20); | 103 test_range(-10, 3, 20); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 119 } | 120 } |
| 120 | 121 |
| 121 // test overflow cases | 122 // test overflow cases |
| 122 for (int i = 0; i < 100000; i++) { | 123 for (int i = 0; i < 100000; i++) { |
| 123 SkFixed fx = rand.nextS(); | 124 SkFixed fx = rand.nextS(); |
| 124 SkFixed dx = rand.nextS(); | 125 SkFixed dx = rand.nextS(); |
| 125 int count = rand.nextU() % 1000 + 1; | 126 int count = rand.nextU() % 1000 + 1; |
| 126 test_range(fx, dx, count); | 127 test_range(fx, dx, count); |
| 127 } | 128 } |
| 128 } | 129 } |
| 129 | |
| 130 #ifdef USE_REPORTER | |
| 131 | |
| 132 #include "TestClassDef.h" | |
| 133 DEFINE_TESTCLASS("ClampRange", ClampRangeClass, TestClampRange) | |
| 134 | |
| 135 #endif | |
| OLD | NEW |