@@ -28,9 +28,9 @@ fn keys() {
28
28
import * as wasm from "./out";
29
29
30
30
export function test() {
31
- let characters = [8, 5, 4, 3, 1, 2]
32
- let iterator = characters .keys();
33
- let wasmIterator = wasm.get_keys(characters );
31
+ let numbers = [8, 5, 4, 3, 1, 2];
32
+ let iterator = numbers .keys();
33
+ let wasmIterator = wasm.get_keys(numbers );
34
34
35
35
assert.equal(iterator.toString(), wasmIterator.toString());
36
36
assert.equal(Array.from(iterator)[0], Array.from(wasmIterator)[0]);
@@ -66,9 +66,9 @@ fn entries() {
66
66
import * as wasm from "./out";
67
67
68
68
export function test() {
69
- let characters = [8, 5, 4, 3, 1, 2]
70
- let iterator = characters .entries();
71
- let wasmIterator = wasm.get_entries(characters );
69
+ let numbers = [8, 5, 4, 3, 1, 2];
70
+ let iterator = numbers .entries();
71
+ let wasmIterator = wasm.get_entries(numbers );
72
72
let jsItem = iterator.next();
73
73
let wasmItem = wasmIterator.next();
74
74
@@ -79,3 +79,42 @@ fn entries() {
79
79
)
80
80
. test ( )
81
81
}
82
+
83
+ #[ test]
84
+ fn values ( ) {
85
+ project ( )
86
+ . headless ( true ) // Node.js does not have values()
87
+ . file (
88
+ "src/lib.rs" ,
89
+ r#"
90
+ #![feature(proc_macro, wasm_custom_section)]
91
+
92
+ extern crate wasm_bindgen;
93
+ use wasm_bindgen::prelude::*;
94
+ use wasm_bindgen::js;
95
+
96
+ #[wasm_bindgen]
97
+ pub fn get_values(this: &js::Array) -> js::ArrayIterator {
98
+ this.values()
99
+ }
100
+ "# ,
101
+ )
102
+ . file (
103
+ "test.js" ,
104
+ r#"
105
+ import * as assert from "assert";
106
+ import * as wasm from "./out";
107
+
108
+ export function test() {
109
+ let numbers = [8, 3, 2];
110
+ let wasmIterator = wasm.get_values(numbers);
111
+
112
+ assert.equal(wasmIterator.next().value, 8);
113
+ assert.equal(wasmIterator.next().value, 3);
114
+ assert.equal(wasmIterator.next().value, 2);
115
+ assert.ok(wasmIterator.next().done);
116
+ }
117
+ "# ,
118
+ )
119
+ . test ( )
120
+ }
0 commit comments