@@ -81,6 +81,69 @@ fn from_iter() {
81
81
) ;
82
82
}
83
83
84
+ #[ wasm_bindgen_test]
85
+ fn to_vec ( ) {
86
+ let array = vec ! [ JsValue :: from( "a" ) , JsValue :: from( "b" ) , JsValue :: from( "c" ) ]
87
+ . into_iter ( )
88
+ . collect :: < js_sys:: Array > ( ) ;
89
+
90
+ assert_eq ! ( array. to_vec( ) , vec![ JsValue :: from( "a" ) , JsValue :: from( "b" ) , JsValue :: from( "c" ) ] ) ;
91
+ }
92
+
93
+ #[ wasm_bindgen_test]
94
+ fn iter ( ) {
95
+ let array = vec ! [ JsValue :: from( "a" ) , JsValue :: from( "b" ) , JsValue :: from( "c" ) ]
96
+ . into_iter ( )
97
+ . collect :: < js_sys:: Array > ( ) ;
98
+
99
+ assert_eq ! ( array. iter( ) . collect:: <Vec <JsValue >>( ) , vec![ JsValue :: from( "a" ) , JsValue :: from( "b" ) , JsValue :: from( "c" ) ] ) ;
100
+
101
+ let mut iter = array. iter ( ) ;
102
+
103
+ assert_eq ! ( iter. size_hint( ) , ( 3 , Some ( 3 ) ) ) ;
104
+ assert_eq ! ( iter. next( ) , Some ( JsValue :: from( "a" ) ) ) ;
105
+
106
+ assert_eq ! ( iter. size_hint( ) , ( 2 , Some ( 2 ) ) ) ;
107
+ assert_eq ! ( iter. next_back( ) , Some ( JsValue :: from( "c" ) ) ) ;
108
+
109
+ assert_eq ! ( iter. size_hint( ) , ( 1 , Some ( 1 ) ) ) ;
110
+ assert_eq ! ( iter. next_back( ) , Some ( JsValue :: from( "b" ) ) ) ;
111
+
112
+ assert_eq ! ( iter. size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
113
+ assert_eq ! ( iter. next( ) , None ) ;
114
+
115
+ assert_eq ! ( iter. size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
116
+ assert_eq ! ( iter. next_back( ) , None ) ;
117
+
118
+ let mut iter = array. iter ( ) ;
119
+
120
+ assert_eq ! ( iter. size_hint( ) , ( 3 , Some ( 3 ) ) ) ;
121
+ assert_eq ! ( iter. next( ) , Some ( JsValue :: from( "a" ) ) ) ;
122
+
123
+ assert_eq ! ( iter. size_hint( ) , ( 2 , Some ( 2 ) ) ) ;
124
+ assert_eq ! ( iter. next( ) , Some ( JsValue :: from( "b" ) ) ) ;
125
+
126
+ assert_eq ! ( iter. size_hint( ) , ( 1 , Some ( 1 ) ) ) ;
127
+ assert_eq ! ( iter. next( ) , Some ( JsValue :: from( "c" ) ) ) ;
128
+
129
+ assert_eq ! ( iter. size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
130
+ assert_eq ! ( iter. next( ) , None ) ;
131
+
132
+ let mut iter = array. iter ( ) ;
133
+
134
+ assert_eq ! ( iter. size_hint( ) , ( 3 , Some ( 3 ) ) ) ;
135
+ assert_eq ! ( iter. next_back( ) , Some ( JsValue :: from( "c" ) ) ) ;
136
+
137
+ assert_eq ! ( iter. size_hint( ) , ( 2 , Some ( 2 ) ) ) ;
138
+ assert_eq ! ( iter. next_back( ) , Some ( JsValue :: from( "b" ) ) ) ;
139
+
140
+ assert_eq ! ( iter. size_hint( ) , ( 1 , Some ( 1 ) ) ) ;
141
+ assert_eq ! ( iter. next_back( ) , Some ( JsValue :: from( "a" ) ) ) ;
142
+
143
+ assert_eq ! ( iter. size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
144
+ assert_eq ! ( iter. next_back( ) , None ) ;
145
+ }
146
+
84
147
#[ wasm_bindgen_test]
85
148
fn new_with_length ( ) {
86
149
let array = Array :: new_with_length ( 5 ) ;
0 commit comments