Skip to content
Snippets Groups Projects
Commit 2ab91ce9 authored by Martin Nilsson's avatar Martin Nilsson
Browse files

Tests for String.Buffer []= and cut.

parent a62f3b98
No related branches found
No related tags found
No related merge requests found
...@@ -105,6 +105,118 @@ test_do([[ ...@@ -105,6 +105,118 @@ test_do([[
return (string) b; return (string) b;
]]) ]])
test_any([[
String.Buffer b = String.Buffer();
b->add("abc");
return b[1];
]], 98)
test_any([[
String.Buffer b = String.Buffer();
b->add("abc");
return b[-1];
]], 99)
test_runtime_error([[
String.Buffer b = String.Buffer();
b->add("abc");
return b[3];
]])
test_any([[
String.Buffer b = String.Buffer();
b->add("a\u0100a");
return b[1];
]], 256)
test_any([[
String.Buffer b = String.Buffer();
b->add("a\U00010000a");
return b[1];
]], 65536)
test_any([[
String.Buffer b = String.Buffer();
b->add("aaa");
return b[1]='b';
]], 98)
test_any([[
String.Buffer b = String.Buffer();
b->add("aaa");
b[1]='b';
return (string)b;
]], "aba")
test_any([[
String.Buffer b = String.Buffer();
b->add("aaa");
b[1]=256;
return (string)b;
]], "a\u0100a")
test_any([[
String.Buffer b = String.Buffer();
b->add("aaa");
b[1]=65536;
return (string)b;
]], "a\U00010000a")
test_any([[
String.Buffer b = String.Buffer();
b->add("1234");
b = b[..1];
b->add("x");
return (string)b;
]], "12x")
test_any([[
String.Buffer b = String.Buffer();
b->add("1234");
return (string)b[1..];
]], "234")
test_any([[
String.Buffer b = String.Buffer();
b->add("1234");
return (string)b[1..2];
]], "23")
test_any([[
String.Buffer b = String.Buffer();
b->add("1234");
return (string)b[..<1];
]], "123")
test_any([[
String.Buffer b = String.Buffer();
b->add("ab\u0100\u0101\U00010000\U00010001");
return (string)b[0..1];
]], "ab")
test_any([[
String.Buffer b = String.Buffer();
b->add("ab\u0100\u0101\U00010000\U00010001");
return (string)b[2..3];
]], "\u0100\u0101")
test_any([[
String.Buffer b = String.Buffer();
b->add("ab\u0100\u0101\U00010000\U00010001");
return (string)b[4..5];
]], "\U00010000\U00010001")
test_any([[
String.Buffer b = String.Buffer();
b->add("ab\u0100\u0101\U00010000\U00010001cd");
b->cut(4,5,1);
return (string)b;
]], "ab\u0100\u0101cd")
test_any([[
String.Buffer b = String.Buffer();
b->add("ab\u0100\u0101\U00010000\U00010001cd");
b->cut(2,5,1);
return (string)b;
]], "abcd")
test_any([[
String.Buffer b = String.Buffer();
b->add("ab\u0100\u0101\U00010000\U00010001cd");
return (string)b->cut(4,5) + "_" + (string)b;
]], "\U00010000\U00010001_ab\u0100\u0101cd")
test_any([[
String.Buffer b = String.Buffer();
b->add("ab\u0100\u0101\U00010000\U00010001cd");
return (string)b->cut(2,5) + "_" + (string)b;
]], "\u0100\u0101\U00010000\U00010001_abcd")
test_eq([[ String.count( "", "a" ) ]], 0) test_eq([[ String.count( "", "a" ) ]], 0)
test_eq([[ String.count( "aaa", "a" ) ]], 3) test_eq([[ String.count( "aaa", "a" ) ]], 3)
test_eq([[ String.count( "aaa", "aa" ) ]], 1) test_eq([[ String.count( "aaa", "aa" ) ]], 1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment