Index: ui/gfx/test/transform_test_common.h |
diff --git a/ui/gfx/test/transform_test_common.h b/ui/gfx/test/transform_test_common.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a03196394d9f1d123121f715617514a8ec0c2cb7 |
--- /dev/null |
+++ b/ui/gfx/test/transform_test_common.h |
@@ -0,0 +1,67 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_ |
+#define UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_ |
+ |
+#include "ui/gfx/transform.h" |
danakj
2013/01/07 23:22:35
sort
shawnsingh
2013/01/07 23:59:53
I wonder why this did not get caught by presubmit
|
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace gfx { |
+ |
+// NOTE: the following macros are redundant with those from |
+// web_transformation_matrix_unittests, but for now they are |
danakj
2013/01/07 23:22:35
does this comment make sense anymore?
shawnsingh
2013/01/07 23:59:53
It's not out-dated or wrong, but maybe it's value
|
+// different enough to be appropriate here. |
+ |
+#define EXPECT_ROW1_EQ(a, b, c, d, transform) \ |
+ EXPECT_FLOAT_EQ((a), (transform).matrix().get(0, 0)); \ |
+ EXPECT_FLOAT_EQ((b), (transform).matrix().get(0, 1)); \ |
+ EXPECT_FLOAT_EQ((c), (transform).matrix().get(0, 2)); \ |
+ EXPECT_FLOAT_EQ((d), (transform).matrix().get(0, 3)); |
+ |
+#define EXPECT_ROW2_EQ(a, b, c, d, transform) \ |
+ EXPECT_FLOAT_EQ((a), (transform).matrix().get(1, 0)); \ |
+ EXPECT_FLOAT_EQ((b), (transform).matrix().get(1, 1)); \ |
+ EXPECT_FLOAT_EQ((c), (transform).matrix().get(1, 2)); \ |
+ EXPECT_FLOAT_EQ((d), (transform).matrix().get(1, 3)); |
+ |
+#define EXPECT_ROW3_EQ(a, b, c, d, transform) \ |
+ EXPECT_FLOAT_EQ((a), (transform).matrix().get(2, 0)); \ |
+ EXPECT_FLOAT_EQ((b), (transform).matrix().get(2, 1)); \ |
+ EXPECT_FLOAT_EQ((c), (transform).matrix().get(2, 2)); \ |
+ EXPECT_FLOAT_EQ((d), (transform).matrix().get(2, 3)); |
+ |
+#define EXPECT_ROW4_EQ(a, b, c, d, transform) \ |
+ EXPECT_FLOAT_EQ((a), (transform).matrix().get(3, 0)); \ |
+ EXPECT_FLOAT_EQ((b), (transform).matrix().get(3, 1)); \ |
+ EXPECT_FLOAT_EQ((c), (transform).matrix().get(3, 2)); \ |
+ EXPECT_FLOAT_EQ((d), (transform).matrix().get(3, 3)); \ |
+ |
+// Checking float values for equality close to zero is not robust using |
+// EXPECT_FLOAT_EQ (see gtest documentation). So, to verify rotation matrices, |
+// we must use a looser absolute error threshold in some places. |
+#define EXPECT_ROW1_NEAR(a, b, c, d, transform, errorThreshold) \ |
+ EXPECT_NEAR((a), (transform).matrix().get(0, 0), (errorThreshold)); \ |
+ EXPECT_NEAR((b), (transform).matrix().get(0, 1), (errorThreshold)); \ |
+ EXPECT_NEAR((c), (transform).matrix().get(0, 2), (errorThreshold)); \ |
+ EXPECT_NEAR((d), (transform).matrix().get(0, 3), (errorThreshold)); |
+ |
+#define EXPECT_ROW2_NEAR(a, b, c, d, transform, errorThreshold) \ |
+ EXPECT_NEAR((a), (transform).matrix().get(1, 0), (errorThreshold)); \ |
+ EXPECT_NEAR((b), (transform).matrix().get(1, 1), (errorThreshold)); \ |
+ EXPECT_NEAR((c), (transform).matrix().get(1, 2), (errorThreshold)); \ |
+ EXPECT_NEAR((d), (transform).matrix().get(1, 3), (errorThreshold)); |
+ |
+#define EXPECT_ROW3_NEAR(a, b, c, d, transform, errorThreshold) \ |
+ EXPECT_NEAR((a), (transform).matrix().get(2, 0), (errorThreshold)); \ |
+ EXPECT_NEAR((b), (transform).matrix().get(2, 1), (errorThreshold)); \ |
+ EXPECT_NEAR((c), (transform).matrix().get(2, 2), (errorThreshold)); \ |
+ EXPECT_NEAR((d), (transform).matrix().get(2, 3), (errorThreshold)); |
+ |
+void InitializeTestMatrix(Transform* transform); |
+void InitializeTestMatrix2(Transform* transform); |
+ |
+} |
danakj
2013/01/07 23:22:35
} // namespace gfx
|
+ |
+#endif // UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_ |