|
@@ -0,0 +1,37 @@
|
|
|
+load("test-common.js");
|
|
|
+
|
|
|
+try {
|
|
|
+ assert(String.prototype.repeat.length === 1);
|
|
|
+
|
|
|
+ try {
|
|
|
+ "foo".repeat(-1);
|
|
|
+ assertNotReached();
|
|
|
+ } catch (e) {
|
|
|
+ assert(e.name === "RangeError");
|
|
|
+ assert(e.message === "repeat count must be a positive number");
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ "foo".repeat(Infinity);
|
|
|
+ assertNotReached();
|
|
|
+ } catch (e) {
|
|
|
+ assert(e.name === "RangeError");
|
|
|
+ assert(e.message === "repeat count must be a finite number");
|
|
|
+ }
|
|
|
+
|
|
|
+ assert("foo".repeat(0) === "");
|
|
|
+ assert("foo".repeat(1) === "foo");
|
|
|
+ assert("foo".repeat(2) === "foofoo");
|
|
|
+ assert("foo".repeat(3) === "foofoofoo");
|
|
|
+ assert("foo".repeat(3.1) === "foofoofoo");
|
|
|
+ assert("foo".repeat(3.5) === "foofoofoo");
|
|
|
+ assert("foo".repeat(3.9) === "foofoofoo");
|
|
|
+ assert("foo".repeat(null) === "");
|
|
|
+ assert("foo".repeat(undefined) === "");
|
|
|
+ assert("foo".repeat([]) === "");
|
|
|
+ assert("foo".repeat("") === "");
|
|
|
+
|
|
|
+ console.log("PASS");
|
|
|
+} catch (e) {
|
|
|
+ console.log("FAIL: " + e);
|
|
|
+}
|