summaryrefslogtreecommitdiffstats
path: root/vendor/wasm-bindgen/tests/wasm/variadic.js
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/wasm-bindgen/tests/wasm/variadic.js')
-rw-r--r--vendor/wasm-bindgen/tests/wasm/variadic.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/vendor/wasm-bindgen/tests/wasm/variadic.js b/vendor/wasm-bindgen/tests/wasm/variadic.js
new file mode 100644
index 000000000..6094bc881
--- /dev/null
+++ b/vendor/wasm-bindgen/tests/wasm/variadic.js
@@ -0,0 +1,59 @@
+const assert = require('assert');
+
+// a function for testing numbers
+function variadic_sum(...args) {
+ let answer = 0;
+ for(var i=0; i<args.length; i++) {
+ answer += args[i];
+ }
+ return answer;
+}
+
+exports.variadic_sum_u8 = variadic_sum;
+exports.variadic_sum_u16 = variadic_sum;
+exports.variadic_sum_u32 = variadic_sum;
+exports.variadic_sum_u64 = variadic_sum;
+exports.variadic_sum_i8 = variadic_sum;
+exports.variadic_sum_i16 = variadic_sum;
+exports.variadic_sum_i32 = variadic_sum;
+exports.variadic_sum_i64 = variadic_sum;
+exports.variadic_sum_f32 = variadic_sum;
+exports.variadic_sum_f64 = variadic_sum;
+exports.variadic_sum_rest_vec = variadic_sum;
+
+// a function for testing nullable numbers
+function variadic_sum_opt(...args) {
+ let answer = 0;
+ for(var i=0; i<args.length; i++) {
+ if(args[i] != null) {
+ answer += args[i];
+ }
+ }
+ return answer;
+}
+
+exports.variadic_sum_opt = variadic_sum_opt;
+
+// a function for testing strings
+function variadic_concat(...args) {
+ let answer = "";
+ for(var i=0; i<args.length; i++) {
+ answer = `${answer}${args[i]}`;
+ }
+ return answer;
+}
+
+exports.variadic_concat_str = variadic_concat;
+exports.variadic_concat_string = variadic_concat;
+
+// a test that takes any type of arguments (for testing JsValue).
+function variadic_compare_pairs(...args) {
+ assert(args.length % 2 == 0, "args must be sequence of pairs");
+ for(var i=0; i<args.length; i++) {
+ const first = args[i++];
+ const second = args[i];
+ assert.equal(first, second);
+ }
+}
+
+exports.variadic_compare_pairs = variadic_compare_pairs;