2
* Copyright 2019 by its authors. See AUTHORS.
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
8
* http://www.apache.org/licenses/LICENSE-2.0
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
22
public static void test_steal()
24
Eina.Strbuf buf = new Eina.Strbuf();
28
buf.Append("Johnny!");
30
Test.AssertEquals("Here's Jonnny!".Length, buf.Length);
31
Test.AssertEquals("Here's Johnny!", buf.Steal());
35
public static void test_tostring()
37
Eina.Strbuf buf = new Eina.Strbuf();
42
Test.AssertEquals("Hello World!", buf.ToString());
46
public static void test_eolian()
48
var obj = new Dummy.TestObject();
49
Eina.Strbuf buf = new Eina.Strbuf();
51
obj.AppendToStrbuf(buf, "Appended");
52
obj.AppendToStrbuf(buf, " to buf");
54
Test.AssertEquals("Appended to buf", buf.Steal());
59
private class Appender : Dummy.TestObject
62
public Appender() : base(null)
67
public override void AppendToStrbuf(Eina.Strbuf buf, string str)
69
Eina.Log.Error("Virtual wrapper called");
75
public static void test_virtual_eolian()
77
Appender obj = new Appender();
78
Eina.Strbuf buf = new Eina.Strbuf();
80
obj.CallAppendToStrbuf(buf, "Is");
81
obj.CallAppendToStrbuf(buf, " this");
82
obj.CallAppendToStrbuf(buf, " virtual?");
84
Test.Assert(obj.called);
85
Test.AssertEquals("Is this virtual?", buf.Steal());
90
} // namespace TestSuite