summaryrefslogtreecommitdiff
path: root/test/lit
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2022-07-07 15:43:22 -0700
committerGitHub <noreply@github.com>2022-07-07 15:43:22 -0700
commit19a437500a4c30f48355722653a01a8c44ff6bec (patch)
tree408bf64e92d17b38561561f138e1d03243774369 /test/lit
parent9831b36d339b1cea61d5313f7dfa256fc1ee9bcc (diff)
downloadbinaryen-19a437500a4c30f48355722653a01a8c44ff6bec.tar.gz
binaryen-19a437500a4c30f48355722653a01a8c44ff6bec.tar.bz2
binaryen-19a437500a4c30f48355722653a01a8c44ff6bec.zip
[Strings] string.encode (#4776)
Diffstat (limited to 'test/lit')
-rw-r--r--test/lit/strings.wast49
1 files changed, 47 insertions, 2 deletions
diff --git a/test/lit/strings.wast b/test/lit/strings.wast
index 9776b569f..5afdfdbcb 100644
--- a/test/lit/strings.wast
+++ b/test/lit/strings.wast
@@ -5,12 +5,12 @@
;; RUN: foreach %s %t wasm-opt --enable-strings --enable-reference-types --roundtrip -S -o - | filecheck %s
(module
+ ;; CHECK: (type $ref?|string|_=>_none (func (param stringref)))
+
;; CHECK: (type $ref?|string|_ref?|stringview_wtf8|_ref?|stringview_wtf16|_ref?|stringview_iter|_ref?|string|_ref?|stringview_wtf8|_ref?|stringview_wtf16|_ref?|stringview_iter|_ref|string|_ref|stringview_wtf8|_ref|stringview_wtf16|_ref|stringview_iter|_=>_none (func (param stringref stringview_wtf8 stringview_wtf16 stringview_iter stringref stringview_wtf8 stringview_wtf16 stringview_iter (ref string) (ref stringview_wtf8) (ref stringview_wtf16) (ref stringview_iter))))
;; CHECK: (type $none_=>_none (func))
- ;; CHECK: (type $ref?|string|_=>_none (func (param stringref)))
-
;; CHECK: (global $string-const stringref (string.const "string in a global"))
(global $string-const stringref (string.const "string in a global"))
@@ -140,4 +140,49 @@
)
)
)
+
+ ;; CHECK: (func $string.encode (param $ref stringref)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (string.encode_wtf8 wtf8
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.encode_wtf8 utf8
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.encode_wtf16
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (i32.const 30)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $string.encode (param $ref stringref)
+ (drop
+ (i32.eqz ;; validate the output is i32
+ (string.encode_wtf8 wtf8
+ (local.get $ref)
+ (i32.const 10)
+ )
+ )
+ )
+ (drop
+ (string.encode_wtf8 utf8
+ (local.get $ref)
+ (i32.const 20)
+ )
+ )
+ (drop
+ (string.encode_wtf16
+ (local.get $ref)
+ (i32.const 30)
+ )
+ )
+ )
)