summaryrefslogtreecommitdiff
path: root/Examples/test-suite/javascript/li_constraints_runme.js
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/javascript/li_constraints_runme.js')
-rw-r--r--Examples/test-suite/javascript/li_constraints_runme.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/Examples/test-suite/javascript/li_constraints_runme.js b/Examples/test-suite/javascript/li_constraints_runme.js
new file mode 100644
index 000000000..785ca4462
--- /dev/null
+++ b/Examples/test-suite/javascript/li_constraints_runme.js
@@ -0,0 +1,58 @@
+var li_constraints = require("li_constraints");
+
+function check_double(except, f, val, name) {
+ var actual = true;
+ var proper = false;
+ try {
+ f(val);
+ } catch(e) {
+ actual = false;
+ proper = e.message === "Expected a " + name + " value.";
+ }
+ if (actual) {
+ if (!except)
+ throw new Error("function '" + name + "' with " + val + " should perform an exception");
+ } else {
+ if (except)
+ throw new Error("function '" + name + "' with " + val + " should not perform an exception");
+ else if (!proper)
+ throw new Error("function '" + name + "' with " + val + " should perform a proper exception");
+ }
+}
+
+const nonnegative = function (val) { li_constraints.test_nonnegative(val); };
+check_double(true, nonnegative, 10, "non-negative");
+check_double(true, nonnegative, 0, "non-negative");
+check_double(false, nonnegative, -10, "non-negative");
+
+const nonpositive = function (val) { li_constraints.test_nonpositive(val); };
+check_double(false, nonpositive, 10, "non-positive");
+check_double(true, nonpositive, 0, "non-positive");
+check_double(true, nonpositive, -10, "non-positive");
+
+const positive = function (val) { li_constraints.test_positive(val); };
+check_double(true, positive, 10, "positive");
+check_double(false, positive, 0, "positive");
+check_double(false, positive, -10, "positive");
+
+const negative = function (val) { li_constraints.test_negative(val); };
+check_double(false, negative, 10, "negative");
+check_double(false, negative, 0, "negative");
+check_double(true, negative, -10, "negative");
+
+const nonzero = function (val) { li_constraints.test_nonzero(val); };
+check_double(true, nonzero, 10, "nonzero");
+check_double(false, nonzero, 0, "nonzero");
+check_double(true, nonzero, -10, "nonzero");
+
+var have_exception = false;
+try {
+ li_constraints.test_nonnull(null);
+} catch(e) {
+ have_exception = e.message === "Received a NULL pointer.";
+}
+if (!have_exception) {
+ throw new Error("test_nonnull should perform a proper exception with 'null' value");
+}
+const nonnull = li_constraints.get_nonnull();
+li_constraints.test_nonnull(nonnull);