Esempio n. 1
0
        public void MatchTest_Unmatch()
        {
            var a = AVal.AVC("string1");
            var b = AVal.AVC("string2");

            Assert.IsFalse(AVal.Match(a, b));
        }
Esempio n. 2
0
        public void AMF_EncodeNamedNumberTest()
        {
            AVal   name = AVal.AVC("name");
            double val  = -2.3456; // 0xC0 02 C3 C9 EE CB FB 16

            byte[] buf = new byte[100];
            int    enc = 0, pend = buf.Length;
            int    len = 2 + 4 + 1 + 8; // "name".len + "name" + AMF_NUMBER + 8

            enc = AMF.AMF_EncodeNamedNumber(buf, enc, pend, name, val);
            Assert.AreEqual(len, enc);
            Assert.AreEqual(0x00, buf[0]);
            Assert.AreEqual(0x04, buf[1]);
            Assert.AreEqual('n', buf[2]);
            Assert.AreEqual('a', buf[3]);
            Assert.AreEqual('m', buf[4]);
            Assert.AreEqual('e', buf[5]);
            Assert.AreEqual((byte)AMFDataType.AMF_NUMBER, buf[6]);
            Assert.AreEqual(0xC0, buf[7]);
            Assert.AreEqual(0x02, buf[8]);
            Assert.AreEqual(0xC3, buf[9]);
            Assert.AreEqual(0xC9, buf[10]);
            Assert.AreEqual(0xEE, buf[11]);
            Assert.AreEqual(0xCB, buf[12]);
            Assert.AreEqual(0xFB, buf[13]);
            Assert.AreEqual(0x16, buf[14]);
        }
Esempio n. 3
0
        public void MatchTest_Match()
        {
            var a = AVal.AVC("string1");
            var b = AVal.AVC("string1");

            Assert.IsTrue(AVal.Match(a, b));
        }
Esempio n. 4
0
        public void AMF_EncodeNamedStringTest2()
        {
            AVal name = AVal.AVC("name"), val = AVal.AVC("val");

            byte[] buf = new byte[100];
            int    offset = 20;
            int    enc = offset, pend = buf.Length;
            int    len = 2 + 4 + 1 + 2 + 3; // "name".len + "name" + AMF_STRING + "val".len + "val"

            enc = AMF.AMF_EncodeNamedString(buf, enc, pend, name, val);
            Assert.AreEqual(len + offset, enc);
            Assert.AreEqual(0x00, buf[0 + offset]);
            Assert.AreEqual(0x04, buf[1 + offset]);
            Assert.AreEqual('n', buf[2 + offset]);
            Assert.AreEqual('a', buf[3 + offset]);
            Assert.AreEqual('m', buf[4 + offset]);
            Assert.AreEqual('e', buf[5 + offset]);
            Assert.AreEqual((byte)AMFDataType.AMF_STRING, buf[6 + offset]);
            Assert.AreEqual(0x00, buf[7 + offset]);
            Assert.AreEqual(0x03, buf[8 + offset]);
            Assert.AreEqual('v', buf[9 + offset]);
            Assert.AreEqual('a', buf[10 + offset]);
            Assert.AreEqual('l', buf[11 + offset]);
            Assert.AreEqual(0x00, buf[12 + offset]);
        }
Esempio n. 5
0
        public void AMF_EncodeStringTest2()
        {
            AVal app = AVal.AVC("appp");

            byte[] buf = new byte[4];
            int    enc = 0, pend = buf.Length;

            enc = AMF.AMF_EncodeString(buf, enc, pend, app);
            Assert.AreEqual(0, enc);
        }
Esempio n. 6
0
        public void RTMP_ParseURLTest_example()
        {
            AVal host, app, playpath;
            int  protocol, port;
            var  res = RTMP.RTMP_ParseURL(EXAMPLE_URL, out protocol, out host, out port, out playpath, out app);

            Assert.IsTrue(res);
            Assert.AreEqual(RTMP.RTMP_PROTOCOL_RTMP, protocol);
            Assert.IsTrue(AVal.Match(AVal.AVC("example.com"), host), "actual:" + host.to_s());
            Assert.AreEqual(41935, port);
            Assert.IsTrue(AVal.Match(AVal.AVC("plypath"), playpath), "actual:" + playpath);
            Assert.IsTrue(AVal.Match(AVal.AVC("app"), app), "actual:" + app);
        }
Esempio n. 7
0
        public void AMF_EncodeStringTest()
        {
            AVal app = AVal.AVC("app");

            byte[] buf = new byte[50];
            int    output = 0, pend = buf.Length;

            output = AMF.AMF_EncodeString(buf, output, pend, app);
            Assert.AreEqual(6, output);
            Assert.AreEqual((byte)AMFDataType.AMF_STRING, buf[0]);
            Assert.AreEqual(0, buf[1]);
            Assert.AreEqual(3, buf[2]);
            Assert.AreEqual('a', buf[3]);
            Assert.AreEqual('p', buf[4]);
            Assert.AreEqual('p', buf[5]);
        }
Esempio n. 8
0
        public void AMF_DecodeStringTest()
        {
            var  buf = new byte[100];
            AVal str = AVal.AVC("foobar");

            AMF.AMF_EncodeString(buf, 0, buf.Length, str);
            AVal actual;

            AMF.AMF_DecodeString(buf, 1, out actual); // Skip AMFDatatype flag
            Assert.AreEqual(6, actual.av_len);
            Assert.AreEqual('f', actual.av_val[0]);
            Assert.AreEqual('o', actual.av_val[1]);
            Assert.AreEqual('o', actual.av_val[2]);
            Assert.AreEqual('b', actual.av_val[3]);
            Assert.AreEqual('a', actual.av_val[4]);
            Assert.AreEqual('r', actual.av_val[5]);
        }
Esempio n. 9
0
        public void AMF_EncodeNamedBooleanTest()
        {
            AVal name = AVal.AVC("name");

            byte[] buf = new byte[100];
            int    enc = 0, pend = buf.Length;
            int    len = 2 + 4 + 1 + 1; // "name".len + "name" + AMF_NUMBER + 8

            enc = AMF.AMF_EncodeNamedBoolean(buf, enc, pend, name, true);
            Assert.AreEqual(len, enc);
            Assert.AreEqual(0x00, buf[0]);
            Assert.AreEqual(0x04, buf[1]);
            Assert.AreEqual('n', buf[2]);
            Assert.AreEqual('a', buf[3]);
            Assert.AreEqual('m', buf[4]);
            Assert.AreEqual('e', buf[5]);
            Assert.AreEqual((byte)AMFDataType.AMF_BOOLEAN, buf[6]);
            Assert.AreEqual(0x01, buf[7]);
        }
Esempio n. 10
0
        public void AMF_EncodeNamedStringTest()
        {
            AVal name = AVal.AVC("name"), val = AVal.AVC("val");

            byte[] buf = new byte[100];
            int    enc = 0, pend = buf.Length;
            int    len = 2 + 4 + 1 + 2 + 3; // "name".len + "name" + AMF_STRING + "val".len + "val"

            enc = AMF.AMF_EncodeNamedString(buf, enc, pend, name, val);
            Assert.AreEqual(len, enc);
            Assert.AreEqual(0x00, buf[0]);
            Assert.AreEqual(0x04, buf[1]);
            Assert.AreEqual('n', buf[2]);
            Assert.AreEqual('a', buf[3]);
            Assert.AreEqual('m', buf[4]);
            Assert.AreEqual('e', buf[5]);
            Assert.AreEqual((byte)AMFDataType.AMF_STRING, buf[6]);
            Assert.AreEqual(0x00, buf[7]);
            Assert.AreEqual(0x03, buf[8]);
            Assert.AreEqual('v', buf[9]);
            Assert.AreEqual('a', buf[10]);
            Assert.AreEqual('l', buf[11]);
            Assert.AreEqual(0x00, buf[12]);
        }
Esempio n. 11
0
        public void MatchTest_Empty()
        {
            AVal a = AVal.AVC(string.Empty), b = AVal.AVC(string.Empty);

            Assert.IsTrue(AVal.Match(a, b));
        }