diff options
Diffstat (limited to 'Examples/test-suite/javascript/cpp11_variadic_function_templates_runme.js')
-rw-r--r-- | Examples/test-suite/javascript/cpp11_variadic_function_templates_runme.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Examples/test-suite/javascript/cpp11_variadic_function_templates_runme.js b/Examples/test-suite/javascript/cpp11_variadic_function_templates_runme.js new file mode 100644 index 000000000..11c538c88 --- /dev/null +++ b/Examples/test-suite/javascript/cpp11_variadic_function_templates_runme.js @@ -0,0 +1,23 @@ +var cpp11_variadic_function_templates = require("cpp11_variadic_function_templates"); + +const {A, B, C, D, variadicmix1} = cpp11_variadic_function_templates; + +ec = new cpp11_variadic_function_templates.EmplaceContainer(); +ec.emplace(new A()); +ec.emplace(new A(), new B()); +ec.emplace(new A(), new B(), new C()); +ec.emplace(new A(), new B(), new C(), new D()); + +function check(expected, got) { + if (expected != got) { + throw new Error("failed: {} != {}".format(expected, got)); + } +} +a = new A(); +b = new B(); +c = new C(); +check(variadicmix1(), 20); +check(variadicmix1(a), 20); +check(variadicmix1(a, b), 10); +check(variadicmix1(a, b, c), 20); +check(variadicmix1(11, 22), 10); |