Page MenuHomePhorge

string_methods.cjs
No OneTemporary

Size
5 KB
Referenced Files
None
Subscribers
None

string_methods.cjs

// Test String methods functionality
console.log("=== String Methods Tests ===\n");
// Test 1: indexOf
console.log("Test 1: indexOf()");
let str1 = "hello world";
console.log(" '" + str1 + "'.indexOf('world'):", str1.indexOf("world"));
console.log(" '" + str1 + "'.indexOf('o'):", str1.indexOf("o"));
console.log(" '" + str1 + "'.indexOf('xyz'):", str1.indexOf("xyz"));
console.log(" '" + str1 + "'.indexOf(''):", str1.indexOf(""));
// Test 2: substring
console.log("\nTest 2: substring()");
let str2 = "JavaScript";
console.log(" '" + str2 + "'.substring(0, 4):", str2.substring(0, 4));
console.log(" '" + str2 + "'.substring(4):", str2.substring(4));
console.log(" '" + str2 + "'.substring(4, 10):", str2.substring(4, 10));
console.log(" '" + str2 + "'.substring(10, 4):", str2.substring(10, 4)); // Should swap
// Test 3: slice
console.log("\nTest 3: slice()");
let str3 = "The quick brown fox";
console.log(" '" + str3 + "'.slice(0, 3):", str3.slice(0, 3));
console.log(" '" + str3 + "'.slice(4, 9):", str3.slice(4, 9));
console.log(" '" + str3 + "'.slice(10):", str3.slice(10));
console.log(" '" + str3 + "'.slice(-3):", str3.slice(-3));
console.log(" '" + str3 + "'.slice(0, -4):", str3.slice(0, -4));
console.log(" '" + str3 + "'.slice(-9, -4):", str3.slice(-9, -4));
// Test 4: split
console.log("\nTest 4: split()");
let str4 = "apple,banana,cherry";
let parts = str4.split(",");
console.log(" '" + str4 + "'.split(','):");
for (let i = 0; i < parts.length; i++) {
console.log(" [" + i + "]: " + parts[i]);
}
let str5 = "hello";
let chars = str5.split("");
console.log(" '" + str5 + "'.split(''):");
for (let i = 0; i < chars.length; i++) {
console.log(" [" + i + "]: " + chars[i]);
}
// Test 5: includes
console.log("\nTest 5: includes()");
let str6 = "The quick brown fox jumps over the lazy dog";
console.log(" '" + str6 + "'");
console.log(" includes('quick'):", str6.includes("quick"));
console.log(" includes('cat'):", str6.includes("cat"));
console.log(" includes('fox'):", str6.includes("fox"));
console.log(" includes(''):", str6.includes(""));
console.log(" includes('QUICK'):", str6.includes("QUICK"));
// Test 6: startsWith
console.log("\nTest 6: startsWith()");
let str7 = "Hello, World!";
console.log(" '" + str7 + "'");
console.log(" startsWith('Hello'):", str7.startsWith("Hello"));
console.log(" startsWith('World'):", str7.startsWith("World"));
console.log(" startsWith('H'):", str7.startsWith("H"));
console.log(" startsWith(''):", str7.startsWith(""));
// Test 7: endsWith
console.log("\nTest 7: endsWith()");
let str8 = "index.html";
console.log(" '" + str8 + "'");
console.log(" endsWith('.html'):", str8.endsWith(".html"));
console.log(" endsWith('.js'):", str8.endsWith(".js"));
console.log(" endsWith('html'):", str8.endsWith("html"));
console.log(" endsWith(''):", str8.endsWith(""));
// Test 8: Combining methods
console.log("\nTest 8: Combining methods");
let path = "/api/users/123/profile";
console.log(" Path:", path);
let segments = path.split("/");
console.log(" Segments:");
for (let i = 0; i < segments.length; i++) {
if (segments[i] !== "") {
console.log(" " + segments[i]);
}
}
// Test 9: URL parsing example
console.log("\nTest 9: URL parsing");
let url = "https://example.com/path/to/resource";
if (url.startsWith("https://")) {
console.log(" URL uses HTTPS");
let domain = url.slice(8);
let domainEnd = domain.indexOf("/");
if (domainEnd !== -1) {
let hostname = domain.substring(0, domainEnd);
console.log(" Hostname:", hostname);
let pathname = domain.slice(domainEnd);
console.log(" Pathname:", pathname);
}
}
// Test 10: String validation
console.log("\nTest 10: String validation");
let email = "user@example.com";
console.log(" Email:", email);
console.log(" Contains '@':", email.includes("@"));
let atIndex = email.indexOf("@");
if (atIndex !== -1) {
let username = email.substring(0, atIndex);
let domain = email.substring(atIndex + 1);
console.log(" Username:", username);
console.log(" Domain:", domain);
console.log(" Domain ends with '.com':", domain.endsWith(".com"));
}
// Test 11: Edge cases
console.log("\nTest 11: Edge cases");
let empty = "";
console.log(" Empty string:");
console.log(" length:", empty.length);
console.log(" indexOf('x'):", empty.indexOf("x"));
console.log(" slice(0, 5):", "'" + empty.slice(0, 5) + "'");
console.log(" includes(''):", empty.includes(""));
console.log(" startsWith(''):", empty.startsWith(""));
console.log(" endsWith(''):", empty.endsWith(""));
let single = "a";
console.log(" Single char 'a':");
console.log(" slice(-1):", single.slice(-1));
console.log(" substring(0, 1):", single.substring(0, 1));
// Test 12: Practical example - template processing
console.log("\nTest 12: Template processing");
let template = "Hello, {{name}}! You have {{count}} messages.";
console.log(" Template:", template);
if (template.includes("{{") && template.includes("}}")) {
console.log(" Template contains placeholders");
let start = template.indexOf("{{");
let end = template.indexOf("}}");
if (start !== -1 && end !== -1) {
let placeholder = template.substring(start + 2, end);
console.log(" First placeholder:", placeholder);
}
}
console.log("\n=== All tests completed ===");

File Metadata

Mime Type
text/plain
Expires
Sun, May 3, 9:23 AM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
518938
Default Alt Text
string_methods.cjs (5 KB)

Event Timeline