update tests for tc39/proposal-iterator-includes#15
diff --git a/test/built-ins/Iterator/prototype/includes/argument-effect-order.js b/test/built-ins/Iterator/prototype/includes/argument-effect-order.js
index b9d4fcb..47544a1 100644
--- a/test/built-ins/Iterator/prototype/includes/argument-effect-order.js
+++ b/test/built-ins/Iterator/prototype/includes/argument-effect-order.js
@@ -14,7 +14,15 @@
   5. Else if skippedElements is not one of +Infinity, -Infinity, or an integral Number,
     a. Let error be ThrowCompletion(a newly created TypeError object).
     b. Return ? IteratorClose(iterated, error).
-  9. Set iterated to ? GetIteratorDirect(O).
+  6. Else, let toSkip be skippedElements.
+  7. If toSkip < -0F, then
+    a. Let error be ThrowCompletion(a newly created RangeError object).
+    b. Return ? IteratorClose(iterated, error).
+  8. If toSkip is finite and toSkip > F(2**53 - 1), then
+    a. Let error be ThrowCompletion(a newly created RangeError object).
+    b. Return ? IteratorClose(iterated, error).
+  9. Let skipped be +0F.
+  10. Set iterated to ? GetIteratorDirect(O).
 
 includes: [compareArray.js]
 features: [iterator-includes]
@@ -49,6 +57,29 @@
 
 effects = [];
 
+assert.throws(RangeError, function() {
+  Iterator.prototype.includes.call(
+    {
+      get next() {
+        effects.push('get next');
+        return function() {
+          return { done: true, value: undefined };
+        };
+      },
+      return() {
+        effects.push('return');
+        return {};
+      },
+    },
+    0,
+    Number.MAX_SAFE_INTEGER + 1
+  );
+});
+
+assert.compareArray(effects, ['return']);
+
+effects = [];
+
 Iterator.prototype.includes.call(
   {
     get next() {
diff --git a/test/built-ins/Iterator/prototype/includes/argument-validation-failure-closes-underlying.js b/test/built-ins/Iterator/prototype/includes/argument-validation-failure-closes-underlying.js
index 36ca088..9402d06 100644
--- a/test/built-ins/Iterator/prototype/includes/argument-validation-failure-closes-underlying.js
+++ b/test/built-ins/Iterator/prototype/includes/argument-validation-failure-closes-underlying.js
@@ -22,7 +22,13 @@
 assert.throws(RangeError, function() {
   closable.includes(null, -2);
 });
-assert.sameValue(closed, true, 'iterator closed when skippedElements validation produces a RangeError');
+assert.sameValue(closed, true, 'iterator closed for negative skippedElements');
+
+closed = false;
+assert.throws(RangeError, function() {
+  closable.includes(null, Number.MAX_SAFE_INTEGER + 1);
+});
+assert.sameValue(closed, true, 'iterator closed for too-large skippedElements');
 
 closed = false;
 assert.throws(TypeError, function() {
diff --git a/test/built-ins/Iterator/prototype/includes/skipped-elements-large-integral.js b/test/built-ins/Iterator/prototype/includes/skipped-elements-max-safe-integer.js
similarity index 63%
rename from test/built-ins/Iterator/prototype/includes/skipped-elements-large-integral.js
rename to test/built-ins/Iterator/prototype/includes/skipped-elements-max-safe-integer.js
index 1e90b70..5cd01eb 100644
--- a/test/built-ins/Iterator/prototype/includes/skipped-elements-large-integral.js
+++ b/test/built-ins/Iterator/prototype/includes/skipped-elements-max-safe-integer.js
@@ -3,17 +3,18 @@
 /*---
 esid: sec-iterator.prototype.includes
 description: >
-  Large integral Number skippedElements values (above Number.MAX_SAFE_INTEGER) are accepted
+  skippedElements of Number.MAX_SAFE_INTEGER is accepted
 features: [iterator-includes]
 ---*/
 
 let returnCalls = 0;
-let counter = 0;
+let nextCalls = 0;
 let iter = {
   __proto__: Iterator.prototype,
   next() {
-    if (counter < 10) {
-      return { done: false, value: counter++ };
+    ++nextCalls;
+    if (nextCalls === 1) {
+      return { done: false, value: 0 };
     }
     return { done: true, value: undefined };
   },
@@ -23,5 +24,6 @@
   },
 };
 
-assert.sameValue(iter.includes(1, 2 ** 53 + 4), false);
+assert.sameValue(iter.includes(0, Number.MAX_SAFE_INTEGER), false);
 assert.sameValue(returnCalls, 0);
+assert.sameValue(nextCalls, 2);
diff --git a/test/built-ins/Iterator/prototype/includes/skipped-elements-too-large-rangeerror.js b/test/built-ins/Iterator/prototype/includes/skipped-elements-too-large-rangeerror.js
new file mode 100644
index 0000000..6996982
--- /dev/null
+++ b/test/built-ins/Iterator/prototype/includes/skipped-elements-too-large-rangeerror.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2026 Michael Ficarra. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-iterator.prototype.includes
+description: >
+  Finite skippedElements values greater than Number.MAX_SAFE_INTEGER throw RangeError and close the iterator
+features: [iterator-includes]
+---*/
+
+function assertRangeErrorAndClosed(skippedElements, label) {
+  let closed = false;
+  let iterator = {
+    __proto__: Iterator.prototype,
+    get next() {
+      throw new Test262Error('next should not be read');
+    },
+    return() {
+      closed = true;
+      return {};
+    },
+  };
+
+  assert.throws(RangeError, function() {
+    iterator.includes(0, skippedElements);
+  }, label + ': throws RangeError');
+
+  assert.sameValue(closed, true, label + ': iterator closed');
+}
+
+assertRangeErrorAndClosed(Number.MAX_SAFE_INTEGER + 1, 'Number.MAX_SAFE_INTEGER + 1');
+assertRangeErrorAndClosed(Number.MAX_SAFE_INTEGER + 3, 'Number.MAX_SAFE_INTEGER + 3');