示例#1
0
        public static void test_steal()
        {
            eina.Strbuf buf = new eina.Strbuf();

            buf.Append("Here's");
            buf.Append(' ');
            buf.Append("Johnny!");

            Test.AssertEquals("Here's Jonnny!".Length, buf.Length);
            Test.AssertEquals("Here's Johnny!", buf.Steal());
        }
示例#2
0
        public static void func_pointer_marshalling()
        {
            test.ITesting obj    = new test.Testing();
            bool          called = false;

            eina.Strbuf buf      = new eina.Strbuf();
            string      argument = "Some String";

            eina.Value v = new eina.Value(eina.ValueType.String);
            v.Set(argument);
            string reference = new string(argument.ToCharArray().Reverse().ToArray());

            obj.CallFormatCb(buf, v, (eina.Strbuf ibuf, eina.Value val) => {
                called     = true;
                string str = null;
                val.Get(out str);
                buf.Append(new string(str.ToCharArray().Reverse().ToArray()));
            });

            Test.Assert(called, "Callback was not called");
            Test.AssertEquals(reference, buf.Steal());
        }
示例#3
0
 public override void AppendToStrbuf(eina.Strbuf buf, string str)
 {
     eina.Log.Error("Virtual wrapper called");
     called = true;
     buf.Append(str);
 }