Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F7539768
string_methods.cjs
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
string_methods.cjs
View Options
// Test String methods functionality
Ant.println("=== String Methods Tests ===\n");
// Test 1: indexOf
Ant.println("Test 1: indexOf()");
let str1 = "hello world";
Ant.println(" '" + str1 + "'.indexOf('world'):", str1.indexOf("world"));
Ant.println(" '" + str1 + "'.indexOf('o'):", str1.indexOf("o"));
Ant.println(" '" + str1 + "'.indexOf('xyz'):", str1.indexOf("xyz"));
Ant.println(" '" + str1 + "'.indexOf(''):", str1.indexOf(""));
// Test 2: substring
Ant.println("\nTest 2: substring()");
let str2 = "JavaScript";
Ant.println(" '" + str2 + "'.substring(0, 4):", str2.substring(0, 4));
Ant.println(" '" + str2 + "'.substring(4):", str2.substring(4));
Ant.println(" '" + str2 + "'.substring(4, 10):", str2.substring(4, 10));
Ant.println(" '" + str2 + "'.substring(10, 4):", str2.substring(10, 4)); // Should swap
// Test 3: slice
Ant.println("\nTest 3: slice()");
let str3 = "The quick brown fox";
Ant.println(" '" + str3 + "'.slice(0, 3):", str3.slice(0, 3));
Ant.println(" '" + str3 + "'.slice(4, 9):", str3.slice(4, 9));
Ant.println(" '" + str3 + "'.slice(10):", str3.slice(10));
Ant.println(" '" + str3 + "'.slice(-3):", str3.slice(-3));
Ant.println(" '" + str3 + "'.slice(0, -4):", str3.slice(0, -4));
Ant.println(" '" + str3 + "'.slice(-9, -4):", str3.slice(-9, -4));
// Test 4: split
Ant.println("\nTest 4: split()");
let str4 = "apple,banana,cherry";
let parts = str4.split(",");
Ant.println(" '" + str4 + "'.split(','):");
for (let i = 0; i < parts.length; i++) {
Ant.println(" [" + i + "]: " + parts[i]);
}
let str5 = "hello";
let chars = str5.split("");
Ant.println(" '" + str5 + "'.split(''):");
for (let i = 0; i < chars.length; i++) {
Ant.println(" [" + i + "]: " + chars[i]);
}
// Test 5: includes
Ant.println("\nTest 5: includes()");
let str6 = "The quick brown fox jumps over the lazy dog";
Ant.println(" '" + str6 + "'");
Ant.println(" includes('quick'):", str6.includes("quick"));
Ant.println(" includes('cat'):", str6.includes("cat"));
Ant.println(" includes('fox'):", str6.includes("fox"));
Ant.println(" includes(''):", str6.includes(""));
Ant.println(" includes('QUICK'):", str6.includes("QUICK"));
// Test 6: startsWith
Ant.println("\nTest 6: startsWith()");
let str7 = "Hello, World!";
Ant.println(" '" + str7 + "'");
Ant.println(" startsWith('Hello'):", str7.startsWith("Hello"));
Ant.println(" startsWith('World'):", str7.startsWith("World"));
Ant.println(" startsWith('H'):", str7.startsWith("H"));
Ant.println(" startsWith(''):", str7.startsWith(""));
// Test 7: endsWith
Ant.println("\nTest 7: endsWith()");
let str8 = "index.html";
Ant.println(" '" + str8 + "'");
Ant.println(" endsWith('.html'):", str8.endsWith(".html"));
Ant.println(" endsWith('.js'):", str8.endsWith(".js"));
Ant.println(" endsWith('html'):", str8.endsWith("html"));
Ant.println(" endsWith(''):", str8.endsWith(""));
// Test 8: Combining methods
Ant.println("\nTest 8: Combining methods");
let path = "/api/users/123/profile";
Ant.println(" Path:", path);
let segments = path.split("/");
Ant.println(" Segments:");
for (let i = 0; i < segments.length; i++) {
if (segments[i] !== "") {
Ant.println(" " + segments[i]);
}
}
// Test 9: URL parsing example
Ant.println("\nTest 9: URL parsing");
let url = "https://example.com/path/to/resource";
if (url.startsWith("https://")) {
Ant.println(" URL uses HTTPS");
let domain = url.slice(8);
let domainEnd = domain.indexOf("/");
if (domainEnd !== -1) {
let hostname = domain.substring(0, domainEnd);
Ant.println(" Hostname:", hostname);
let pathname = domain.slice(domainEnd);
Ant.println(" Pathname:", pathname);
}
}
// Test 10: String validation
Ant.println("\nTest 10: String validation");
let email = "user@example.com";
Ant.println(" Email:", email);
Ant.println(" Contains '@':", email.includes("@"));
let atIndex = email.indexOf("@");
if (atIndex !== -1) {
let username = email.substring(0, atIndex);
let domain = email.substring(atIndex + 1);
Ant.println(" Username:", username);
Ant.println(" Domain:", domain);
Ant.println(" Domain ends with '.com':", domain.endsWith(".com"));
}
// Test 11: Edge cases
Ant.println("\nTest 11: Edge cases");
let empty = "";
Ant.println(" Empty string:");
Ant.println(" length:", empty.length);
Ant.println(" indexOf('x'):", empty.indexOf("x"));
Ant.println(" slice(0, 5):", "'" + empty.slice(0, 5) + "'");
Ant.println(" includes(''):", empty.includes(""));
Ant.println(" startsWith(''):", empty.startsWith(""));
Ant.println(" endsWith(''):", empty.endsWith(""));
let single = "a";
Ant.println(" Single char 'a':");
Ant.println(" slice(-1):", single.slice(-1));
Ant.println(" substring(0, 1):", single.substring(0, 1));
// Test 12: Practical example - template processing
Ant.println("\nTest 12: Template processing");
let template = "Hello, {{name}}! You have {{count}} messages.";
Ant.println(" Template:", template);
if (template.includes("{{") && template.includes("}}")) {
Ant.println(" Template contains placeholders");
let start = template.indexOf("{{");
let end = template.indexOf("}}");
if (start !== -1 && end !== -1) {
let placeholder = template.substring(start + 2, end);
Ant.println(" First placeholder:", placeholder);
}
}
Ant.println("\n=== All tests completed ===");
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jun 17, 1:29 PM (1 d, 13 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
557646
Default Alt Text
string_methods.cjs (5 KB)
Attached To
Mode
rANT Ant
Attached
Detach File
Event Timeline
Log In to Comment