Validate new checks in RS FieldPacker.
Change-Id: I8b5c62c185895aaeafc255f707ba0b75e82e0fca
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/FieldPackerTest.java b/tests/tests/renderscript/src/android/renderscript/cts/FieldPackerTest.java
index 034e03c..6f48516 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/FieldPackerTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/FieldPackerTest.java
@@ -32,6 +32,7 @@
import android.renderscript.Matrix2f;
import android.renderscript.Matrix3f;
import android.renderscript.Matrix4f;
+import android.renderscript.RSIllegalArgumentException;
import android.renderscript.Short2;
import android.renderscript.Short3;
import android.renderscript.Short4;
@@ -120,6 +121,37 @@
assertEquals(i, b[(i * (skipAmount + 1)) + 1]);
}
}
+
+ // Error cases
+ FieldPacker fp = new FieldPacker(256);
+
+ int[] badAlignArgs = {-4, -3, -2, -1, 0, 3, 5, 127};
+ for (int arg: badAlignArgs) {
+ try {
+ fp.align(arg);
+ fail("should throw RSIllegalArgumentException.");
+ } catch (RSIllegalArgumentException e) {
+ }
+ }
+
+ int[] badResetArgs = {-1000, -2, -1, 256, 257, 1000};
+ for (int arg: badResetArgs) {
+ try {
+ fp.reset(arg);
+ fail("should throw RSIllegalArgumentException.");
+ } catch (RSIllegalArgumentException e) {
+ }
+ }
+
+ int[] badSkipArgs = {-1000, -6, -5, 252, 253, 1000};
+ for (int arg: badSkipArgs) {
+ try {
+ fp.reset(4);
+ fp.skip(arg);
+ fail("should throw RSIllegalArgumentException.");
+ } catch (RSIllegalArgumentException e) {
+ }
+ }
}
}