Page MenuHomePhorge

string_indexing.cjs
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

string_indexing.cjs

// Test string indexing feature
Ant.println("=== String Indexing Test ===\n");
// Test 1: Basic string indexing
Ant.println("Test 1: Basic indexing");
let str = "hello";
Ant.println(" str = 'hello'");
Ant.println(" str[0]:", str[0]);
Ant.println(" str[1]:", str[1]);
Ant.println(" str[2]:", str[2]);
Ant.println(" str[3]:", str[3]);
Ant.println(" str[4]:", str[4]);
// Test 2: Last character access
Ant.println("\nTest 2: Last character");
let path = "hello/world";
Ant.println(" path = 'hello/world'");
Ant.println(" path.length:", path.length);
let lastIdx = path.length - 1;
Ant.println(" path[path.length - 1]:", path[lastIdx]);
// Test 3: Direct expression in brackets
Ant.println("\nTest 3: Expression in brackets");
Ant.println(" path[path.length - 1]:", path[path.length - 1]);
Ant.println(" path[5]:", path[5]);
Ant.println(" path[0]:", path[0]);
// Test 4: Out of bounds access
Ant.println("\nTest 4: Out of bounds");
Ant.println(" str[100] (should be undefined):", str[100]);
Ant.println(" str[-1] (should be undefined):", str[-1]);
// Test 5: Looping through string characters
Ant.println("\nTest 5: Loop through string");
let word = "test";
Ant.println(" word = 'test'");
for (let i = 0; i < word.length; i = i + 1) {
Ant.println(" word[" + i + "]:", word[i]);
}
// Test 6: String comparison with indexing
Ant.println("\nTest 6: Character comparison");
let s1 = "abc";
let s2 = "xyz";
Ant.println(" s1 = 'abc', s2 = 'xyz'");
Ant.println(" s1[0] == s2[0]:", s1[0] == s2[0]);
Ant.println(" s1[0] != s2[0]:", s1[0] != s2[0]);
// Test 7: Building strings from characters
Ant.println("\nTest 7: String building");
let original = "hello";
let reversed = "";
for (let i = original.length - 1; i >= 0; i = i - 1) {
reversed = reversed + original[i];
}
Ant.println(" original:", original);
Ant.println(" reversed:", reversed);
// Test 8: First and last character check
Ant.println("\nTest 8: First and last character");
let url = "/api/users/";
Ant.println(" url = '/api/users/'");
Ant.println(" First char (url[0]):", url[0]);
Ant.println(" Last char (url[url.length - 1]):", url[url.length - 1]);
Ant.println(" Starts with '/':", url[0] === "/");
Ant.println(" Ends with '/':", url[url.length - 1] === "/");
// Test 9: Middle character access
Ant.println("\nTest 9: Middle character");
let text = "abcdefgh";
let mid = text.length / 2;
Ant.println(" text = 'abcdefgh'");
Ant.println(" Middle index:", mid);
Ant.println(" text[mid]:", text[mid]);
// Test 10: Empty string
Ant.println("\nTest 10: Empty string");
let empty = "";
Ant.println(" empty.length:", empty.length);
Ant.println(" empty[0] (should be undefined):", empty[0]);
// Test 11: Single character string
Ant.println("\nTest 11: Single character");
let single = "x";
Ant.println(" single = 'x'");
Ant.println(" single[0]:", single[0]);
Ant.println(" single[1] (should be undefined):", single[1]);
// Test 12: Path manipulation example
Ant.println("\nTest 12: Path manipulation");
let filePath = "/home/user/file.txt";
Ant.println(" filePath = '/home/user/file.txt'");
let hasTrailingSlash = filePath[filePath.length - 1] === "/";
Ant.println(" Has trailing slash:", hasTrailingSlash);
let hasLeadingSlash = filePath[0] === "/";
Ant.println(" Has leading slash:", hasLeadingSlash);
Ant.println("\n=== All tests completed ===");

File Metadata

Mime Type
text/plain
Expires
Sun, May 3, 8:18 AM (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
530505
Default Alt Text
string_indexing.cjs (3 KB)

Event Timeline