@@ -4681,6 +4681,26 @@ def test_js_lib_invalid_decorator(self):
46814681 err = self.expect_fail([EMCC, test_file('hello_world.c'), '--js-library', 'lib.js'])
46824682 self.assertContained("lib.js: Decorator (jslibfunc__async} has wrong type. Expected 'boolean' not 'string'", err)
46834683
4684+ def test_js_lib_i53abi(self):
4685+ create_file('lib.js', r'''
4686+ mergeInto(LibraryManager.library, {
4687+ jslibfunc__i53abi: true,
4688+ jslibfunc: (x) => { return 42 },
4689+ });
4690+ ''')
4691+ err = self.expect_fail([EMCC, test_file('hello_world.c'), '-sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=jslibfunc', '--js-library', 'lib.js'])
4692+ self.assertContained("error: JS library error: '__i53abi' decorator requires '__sig' decorator: 'jslibfunc'", err)
4693+
4694+ create_file('lib.js', r'''
4695+ mergeInto(LibraryManager.library, {
4696+ jslibfunc__i53abi: true,
4697+ jslibfunc__sig: 'ii',
4698+ jslibfunc: (x) => { return 42 },
4699+ });
4700+ ''')
4701+ err = self.expect_fail([EMCC, test_file('hello_world.c'), '-sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=jslibfunc', '--js-library', 'lib.js'])
4702+ self.assertContained("error: JS library error: '__i53abi' only makes sense when '__sig' includes 'j' (int64): 'jslibfunc'", err)
4703+
46844704 def test_js_lib_legacy(self):
46854705 create_file('lib.js', r'''
46864706mergeInto(LibraryManager.library, {
0 commit comments