1425bb815Sopenharmony_ci/* Copyright JS Foundation and other contributors, http://js.foundation 2425bb815Sopenharmony_ci * 3425bb815Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4425bb815Sopenharmony_ci * you may not use this file except in compliance with the License. 5425bb815Sopenharmony_ci * You may obtain a copy of the License at 6425bb815Sopenharmony_ci * 7425bb815Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8425bb815Sopenharmony_ci * 9425bb815Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10425bb815Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS 11425bb815Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12425bb815Sopenharmony_ci * See the License for the specific language governing permissions and 13425bb815Sopenharmony_ci * limitations under the License. 14425bb815Sopenharmony_ci */ 15425bb815Sopenharmony_ci 16425bb815Sopenharmony_civar uint8 = new Uint8Array(4); 17425bb815Sopenharmony_ci 18425bb815Sopenharmony_ci// 22.2.3.22 19425bb815Sopenharmony_ciassert(uint8.set.length === 1) 20425bb815Sopenharmony_ci 21425bb815Sopenharmony_citry 22425bb815Sopenharmony_ci{ 23425bb815Sopenharmony_ci uint8.set([1], -1); 24425bb815Sopenharmony_ci assert(false); 25425bb815Sopenharmony_ci} catch (e) 26425bb815Sopenharmony_ci{ 27425bb815Sopenharmony_ci assert(e instanceof RangeError); 28425bb815Sopenharmony_ci} 29425bb815Sopenharmony_ci 30425bb815Sopenharmony_citry 31425bb815Sopenharmony_ci{ 32425bb815Sopenharmony_ci uint8.set([1], - (Math.pow(2, 32) + 1)); 33425bb815Sopenharmony_ci assert(false); 34425bb815Sopenharmony_ci} catch (e) 35425bb815Sopenharmony_ci{ 36425bb815Sopenharmony_ci assert(e instanceof RangeError); 37425bb815Sopenharmony_ci} 38425bb815Sopenharmony_ci 39425bb815Sopenharmony_citry 40425bb815Sopenharmony_ci{ 41425bb815Sopenharmony_ci uint8.set([1], -Infinity); 42425bb815Sopenharmony_ci assert(false); 43425bb815Sopenharmony_ci} catch (e) 44425bb815Sopenharmony_ci{ 45425bb815Sopenharmony_ci assert(e instanceof RangeError); 46425bb815Sopenharmony_ci} 47425bb815Sopenharmony_ci 48425bb815Sopenharmony_citry 49425bb815Sopenharmony_ci{ 50425bb815Sopenharmony_ci uint8.set([1], Infinity); 51425bb815Sopenharmony_ci assert(false); 52425bb815Sopenharmony_ci} catch (e) 53425bb815Sopenharmony_ci{ 54425bb815Sopenharmony_ci assert(e instanceof RangeError); 55425bb815Sopenharmony_ci} 56425bb815Sopenharmony_ci 57425bb815Sopenharmony_citry 58425bb815Sopenharmony_ci{ 59425bb815Sopenharmony_ci uint8.set([1], (Math.pow(2, 32) + 1)); 60425bb815Sopenharmony_ci assert(false); 61425bb815Sopenharmony_ci} catch (e) 62425bb815Sopenharmony_ci{ 63425bb815Sopenharmony_ci assert(e instanceof RangeError); 64425bb815Sopenharmony_ci} 65425bb815Sopenharmony_ci 66425bb815Sopenharmony_citry 67425bb815Sopenharmony_ci{ 68425bb815Sopenharmony_ci // 22.2.3.22.1 step 20 69425bb815Sopenharmony_ci uint8.set([17, 18, 19], 2); 70425bb815Sopenharmony_ci assert(false); 71425bb815Sopenharmony_ci} catch (e) 72425bb815Sopenharmony_ci{ 73425bb815Sopenharmony_ci assert(e instanceof RangeError) 74425bb815Sopenharmony_ci} 75