From 293b657aefa11f5375e2cbfb2cf40ea25c3cf160 Mon Sep 17 00:00:00 2001 From: Sidharth Guglani Date: Wed, 9 Oct 2019 09:26:47 -0700 Subject: [PATCH] Use TestParametrization for testing both fbjni and vanillaJNI version Summary: Use TestParametrization to test both fbjni and vanilla jni versions Reviewed By: amir-shalem Differential Revision: D17788718 fbshipit-source-id: 0f3317b7403cadca7b7ccd9140f1933d746bf433 --- java/com/facebook/yoga/YogaConfig.java | 2 ++ java/com/facebook/yoga/YogaConfigJNIBase.java | 5 +++++ .../facebook/yoga/TestParametrization.java | 20 ++++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/java/com/facebook/yoga/YogaConfig.java b/java/com/facebook/yoga/YogaConfig.java index d44aec29..501a3cca 100644 --- a/java/com/facebook/yoga/YogaConfig.java +++ b/java/com/facebook/yoga/YogaConfig.java @@ -38,5 +38,7 @@ public abstract class YogaConfig { abstract long getNativePointer(); + public abstract void setUseVanillaJNI(boolean useVanillaJNI); + public abstract boolean useVanillaJNI(); } diff --git a/java/com/facebook/yoga/YogaConfigJNIBase.java b/java/com/facebook/yoga/YogaConfigJNIBase.java index ceda9595..423044de 100644 --- a/java/com/facebook/yoga/YogaConfigJNIBase.java +++ b/java/com/facebook/yoga/YogaConfigJNIBase.java @@ -99,6 +99,11 @@ public abstract class YogaConfigJNIBase extends YogaConfig { return mNativePointer; } + @Override + public void setUseVanillaJNI(boolean useVanillaJNI) { + this.useVanillaJNI = useVanillaJNI; + } + @Override public boolean useVanillaJNI() { return this.useVanillaJNI; diff --git a/java/tests/com/facebook/yoga/TestParametrization.java b/java/tests/com/facebook/yoga/TestParametrization.java index 0e20ddaf..e0b8730c 100644 --- a/java/tests/com/facebook/yoga/TestParametrization.java +++ b/java/tests/com/facebook/yoga/TestParametrization.java @@ -27,7 +27,25 @@ public class TestParametrization { return "JNI"; } }; - return Arrays.asList(nodeFactory); + + NodeFactory nodeFactoryUsingVanillaJNI = new NodeFactory() { + @Override + public YogaNode create() { + return YogaNodeFactory.create(true); + } + + @Override + public YogaNode create(YogaConfig config) { + config.setUseVanillaJNI(true); + return YogaNodeFactory.create(config); + } + + @Override + public String toString() { + return "VanillaJNI"; + } + }; + return Arrays.asList(nodeFactory, nodeFactoryUsingVanillaJNI); }