]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Rename 'static-string' argument adapter to 'string:static'. Replace JS unit tests...
authorstephan <stephan@noemail.net>
Mon, 5 Dec 2022 11:54:13 +0000 (11:54 +0000)
committerstephan <stephan@noemail.net>
Mon, 5 Dec 2022 11:54:13 +0000 (11:54 +0000)
FossilOrigin-Name: 9d81d51d5a255b42f8416da850c992a9e4c8eebc940e0702a9262cfcaa6d7b2f

ext/wasm/api/sqlite3-api-glue.js
ext/wasm/api/sqlite3-api-prologue.js
ext/wasm/tester1.c-pp.js
manifest
manifest.uuid

index dc9db9435f65a183ce87fcef69fda9c03bad0c96..b460093f8d1e4b28b28543a667ac95eeca4e3397 100644 (file)
@@ -45,7 +45,7 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
     );
 
     /**
-       The 'static-string' argument adapter treats its argument as
+       The 'string:static' argument adapter treats its argument as
        either...
 
        - WASM pointer: assumed to be a long-lived C-string which gets
@@ -66,7 +66,7 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
        need it to.
     */
     wasm.xWrap.argAdapter(
-      'static-string',
+      'string:static',
       function(v){
         if(wasm.isPtr(v)) return v;
         v = ''+v;
index cf57329569b75527db26edc3bae871dee0d3d162..4087adb504c7fc931915be0db8f88af3eeec8a23 100644 (file)
@@ -885,7 +885,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
     ["sqlite3_bind_parameter_count", "int", "sqlite3_stmt*"],
     ["sqlite3_bind_parameter_index","int", "sqlite3_stmt*", "string"],
     ["sqlite3_bind_pointer", "int",
-     "sqlite3_stmt*", "int", "*", "static-string", "*"],
+     "sqlite3_stmt*", "int", "*", "string:static", "*"],
     ["sqlite3_bind_text","int", "sqlite3_stmt*", "int", "string", "int", "int"
      /* We should arguably create a hand-written binding of
         bind_text() which does more flexible text conversion, along
@@ -961,7 +961,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
     ["sqlite3_result_int",undefined, "sqlite3_context*", "int"],
     ["sqlite3_result_null",undefined, "sqlite3_context*"],
     ["sqlite3_result_pointer",undefined,
-     "sqlite3_context*", "*", "static-string", "*"],
+     "sqlite3_context*", "*", "string:static", "*"],
     ["sqlite3_result_text",undefined, "sqlite3_context*", "string", "int", "*"],
     ["sqlite3_result_zeroblob", undefined, "sqlite3_context*", "int"],
     ["sqlite3_serialize","*", "sqlite3*", "string", "*", "int"],
@@ -984,7 +984,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
     ["sqlite3_value_bytes","int", "sqlite3_value*"],
     ["sqlite3_value_double","f64", "sqlite3_value*"],
     ["sqlite3_value_int","int", "sqlite3_value*"],
-    ["sqlite3_value_pointer", "*", "sqlite3_value*", "static-string"],
+    ["sqlite3_value_pointer", "*", "sqlite3_value*", "string:static"],
     ["sqlite3_value_text", "string", "sqlite3_value*"],
     ["sqlite3_value_type", "int", "sqlite3_value*"],
     ["sqlite3_vfs_find", "*", "string"],
index 0aaee976935d1e4e39ba41777562d32b702ce083..aa5fa41d2d17c2e6f43fbda3cf36f657b330bdcf 100644 (file)
@@ -660,6 +660,26 @@ self.sqlite3InitModule = sqlite3InitModule;
         T.assert(rc>0 && Number.isFinite(rc));
         rc = w.xCallWrapped('sqlite3_wasm_enum_json','utf8');
         T.assert('string'===typeof rc).assert(rc.length>300);
+
+
+        { // 'string:static' argAdapter() sanity checks...
+          let argAd = w.xWrap.argAdapter('string:static');
+          let p0 = argAd('foo'), p1 = argAd('bar');
+          T.assert(w.isPtr(p0) && w.isPtr(p1))
+            .assert(p0 !== p1)
+            .assert(p0 === argAd('foo'))
+            .assert(p1 === argAd('bar'));
+        }
+
+        // 'flexible-string' argAdapter() sanity checks...
+        w.scopedAllocCall(()=>{
+          const argAd = w.xWrap.argAdapter('flexible-string');
+          const cj = (v)=>w.cstringToJs(argAd(v));
+          T.assert('Hi' === cj('Hi'))
+            .assert('hi' === cj(['h','i']))
+            .assert('HI' === cj(new Uint8Array([72, 73])));
+        });
+
         if(haveWasmCTests()){
           if(!sqlite3.config.useStdAlloc){
             fw = w.xWrap('sqlite3_wasm_test_str_hello', 'utf8:dealloc',['i32']);
index cd9e8c1ae2cce52f7cdac863f8e6f110984995e2..63d8142b609802506e1f3735a9d28d0d7b71042e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Export\ssqlite3_bind/value/result_pointer()\sto\swasm.\sAdd\s'static-string'\sargument\sconverter\sto\ssupport\sthe\slifetime\srequirements\sof\sbind/result_pointer()'s\sstring\sargument.\sCorrect\san\sendless\sloop\sin\swasm.cstrlen()\swhen\spassed\sa\snon-C-string\sargument.
-D 2022-12-05T11:30:39.470
+C Rename\s'static-string'\sargument\sadapter\sto\s'string:static'.\sReplace\sJS\sunit\stests\swhich\swere\slost\svia\sediting\sa\sgenerated\scopy\sof\stester1.js\sinstead\sof\sthe\soriginal\stester1.c-pp.js\sinput\sfile.
+D 2022-12-05T11:54:13.530
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -503,9 +503,9 @@ F ext/wasm/api/post-js-footer.js cd0a8ec768501d9bd45d325ab0442037fb0e33d1f3b4f08
 F ext/wasm/api/post-js-header.js 47b6b281f39ad59fa6e8b658308cd98ea292c286a68407b35ff3ed9cfd281a62
 F ext/wasm/api/pre-js.c-pp.js b88499dc303c21fc3f55f2c364a0f814f587b60a95784303881169f9e91c1d5f
 F ext/wasm/api/sqlite3-api-cleanup.js 680d5ccfff54459db136a49b2199d9f879c8405d9c99af1dda0cc5e7c29056f4
-F ext/wasm/api/sqlite3-api-glue.js 170fd05a8064d2f23c253a45debe533b0c23872f9495c6d4d20463b700252770
+F ext/wasm/api/sqlite3-api-glue.js 2c45a3c05badb11c37152d9d819156420a5c026ef9cf6fee97512b279b33bf44
 F ext/wasm/api/sqlite3-api-oo1.js 91a7d7b9203fb0f031e6ba380a644a7f871e1798b388de399c01ed4087bac9e0
-F ext/wasm/api/sqlite3-api-prologue.js d930ddf9c325405c97f9d0367020eac7cfa3da660c098585a11fd2466b1f5e16
+F ext/wasm/api/sqlite3-api-prologue.js 0dba5a99f795ce6bb88b621960cc3f5f3e6370ee6f16230a0b165136529fcf40
 F ext/wasm/api/sqlite3-api-worker1.js e94ba98e44afccfa482874cd9acb325883ade50ed1f9f9526beb9de1711f182f
 F ext/wasm/api/sqlite3-license-version-header.js a661182fc93fc2cf212dfd0b987f8e138a3ac98f850b1112e29b5fbdaecc87c3
 F ext/wasm/api/sqlite3-opfs-async-proxy.js f79dd8d98ef3e0b55c10bb2bee7a3840fa967318e1f577c156aafc34664271d1
@@ -555,7 +555,7 @@ F ext/wasm/test-opfs-vfs.html 1f2d672f3f3fce810dfd48a8d56914aba22e45c6834e262555
 F ext/wasm/test-opfs-vfs.js 44363db07b2a20e73b0eb1808de4400ca71b703af718d0fa6d962f15e73bf2ac
 F ext/wasm/tester1-worker.html 29b1d87f7d51f70d61645719fee657f3787fe939bb695f27034c75404e8f1e6f
 F ext/wasm/tester1.c-pp.html 74aa9b31c75f12490653f814b53c3dd39f40cd3f70d6a53a716f4e8587107399
-F ext/wasm/tester1.c-pp.js d096a8fadfd27caa680a4311b1d529551f8fe885a63dd27457c87b6008c64632
+F ext/wasm/tester1.c-pp.js d03c8c50063ec82d38694db077fc75af390c8baa0f72eb52d3c4e4fde68ee95e
 F ext/wasm/tests/opfs/concurrency/index.html 86d8ac435074d1e7007b91105f4897f368c165e8cecb6a9aa3d81f5cf5dcbe70
 F ext/wasm/tests/opfs/concurrency/test.js a98016113eaf71e81ddbf71655aa29b0fed9a8b79a3cdd3620d1658eb1cc9a5d
 F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2
@@ -2065,8 +2065,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P cb9881ec001b0e2faf047e57acfd1722d2b546255a54e0f850f568edfe2df1cd
-R 43c6939a23c10432b26f996c39515ebf
+P a94552434a657376d5ce1831de05c1b15fb153020848cd825fb0df413c3baa70
+R 3e5f8074bc013b334ba01f938431dc3c
 U stephan
-Z e6790963ab3f2e980219be88a41c0b38
+Z 6b18e44631fce1838526a30c03df5312
 # Remove this line to create a well-formed Fossil manifest.
index 0e7dc35e194d39228941a01bbddc9de9f345105d..5b3f6a2a2a0708795c9b7e135be0a786a701a54f 100644 (file)
@@ -1 +1 @@
-a94552434a657376d5ce1831de05c1b15fb153020848cd825fb0df413c3baa70
\ No newline at end of file
+9d81d51d5a255b42f8416da850c992a9e4c8eebc940e0702a9262cfcaa6d7b2f
\ No newline at end of file