Index: tests/GrContextFactoryTest.cpp |
diff --git a/tests/GrContextFactoryTest.cpp b/tests/GrContextFactoryTest.cpp |
index 79209c719fc2704466eeb1a2b5989971498145da..176391ef8d58416abae64803dcbeea8ff9617b14 100644 |
--- a/tests/GrContextFactoryTest.cpp |
+++ b/tests/GrContextFactoryTest.cpp |
@@ -10,8 +10,37 @@ |
#if SK_SUPPORT_GPU |
#include "GrContextFactory.h" |
+#include "GrCaps.h" |
#include "Test.h" |
-// TODO: test GrContextFactory. |
+DEF_GPUTEST(GrContextFactory_NVPRContextTypeHasPathRenderingSupport, reporter, /*factory*/) { |
+ // Test that if NVPR is requested, the context always has path rendering |
+ // or the context creation fails. |
+ GrContextFactory testFactory; |
+ GrContext* context = testFactory.get(GrContextFactory::kNVPR_GLContextType); |
+ if (context) { |
+ REPORTER_ASSERT( |
+ reporter, |
+ context->caps()->shaderCaps()->pathRenderingSupport()); |
+ } |
+} |
+ |
+DEF_GPUTEST(GrContextFactory_NoPathRenderingUnlessNVPRRequested, reporter, /*factory*/) { |
+ // Test that if NVPR is not requested, the context never has path rendering support. |
+ |
+ GrContextFactory testFactory; |
+ for (int i = 0; i <= GrContextFactory::kLastGLContextType; ++i) { |
+ GrContextFactory::GLContextType glCtxType = (GrContextFactory::GLContextType)i; |
+ if (glCtxType == GrContextFactory::kNVPR_GLContextType) { |
+ continue; |
+ } |
+ GrContext* context = testFactory.get(glCtxType); |
+ if (context) { |
+ REPORTER_ASSERT( |
+ reporter, |
+ !context->caps()->shaderCaps()->pathRenderingSupport()); |
+ } |
+ } |
+} |
#endif |