@ 261106.8
current
;; Test extracting wasm files from JS.

;; A proper wasm module (\0asm), so we will extract it as %t.out.0.wasm.
;; RUN: echo "good1(new Uint8Array([0x00, 0x61, 0x73, 0x6D, 0x01, 0x00, 0x00, 0x00]));" > %t.js

;; A difference in the second byte, so we won't extract it.
;; RUN: echo "bad1(new Uint8Array([0x00, 0xff, 0x73, 0x6D, 0x01, 0x00, 0x00, 0x00]));" >> %t.js

;; The last byte is unparsable as an integer, so we won't extract it.
;; RUN: echo "bad2(new Uint8Array([0x00, 0x61, 0x73, 0x6D, 6Dx0]));" >> %t.js

;; Another proper one ((module (func))) with base 10 and odd whitespace,
;; extracted as %t.out.1.wasm.
;; RUN: echo "good2([0x00,97,   0x73, 0x6D,0x01, 0x00, 0x00, 0x00, 0x01, 0x04, 0x01, 0x60, 0x00, 0x00, 0x03, 0x02, 0x01, 0x00, 0x0a, 0x04, 0x01, 0x02, 0x00, 0x0b]);" >> %t.js

;; RUN: wasm-embed --extract %t.js %t.out
;; RUN: wasm-dis %t.out.0.wasm | filecheck %s --check-prefix=WASM0
;; RUN: wasm-dis %t.out.1.wasm | filecheck %s --check-prefix=WASM1
;; RUN: not wasm-dis %t.out.2.wasm

;; WASM0:      (module
;; WASM0-NEXT: )

;; WASM1:      (module
;; WASM1-NEXT:  (type $0 (func))
;; WASM1-NEXT:  (func $0
;; WASM1-NEXT:  )
;; WASM1-NEXT: )