TEST_F(TestXorCode, FullCodeDecode)
{
    Bytes toTest(8,11);
    Bytes codes(4,42);

    XorCode(begin(toTest), end(toTest), codes);
    XorCode(begin(toTest), end(toTest), codes);

    EXPECT_EQ(toTest, Bytes(8,11));
}
TEST_F(TestXorCode, PartialCodeDecode32000)
{
    Bytes toTest(32000,11);
    Bytes codes(16,42);

    XorCode(begin(toTest)+222, end(toTest)-222, codes);
    XorCode(begin(toTest)+222, end(toTest)-222, codes);

    EXPECT_EQ(toTest, Bytes(32000,11));
}
TEST_F(TestXorCode, PartialCodeDecode)
{
    Bytes toTest(8,11);
    Bytes codes(4,42);

    XorCode(begin(toTest)+2, end(toTest)-2, codes);
    XorCode(begin(toTest)+2, end(toTest)-2, codes);

    EXPECT_EQ(toTest, Bytes(8,11));
}
TEST_F(TestXorCode, FullCodeDecodeArray)
{
    Bytes toTest(8,11);
    std::array<uint8_t, 4> codes;
    codes[0] = 42;
    codes[1] = 42;
    codes[2] = 42;
    codes[3] = 42;

    XorCode(begin(toTest), end(toTest), codes);
    XorCode(begin(toTest), end(toTest), codes);

    EXPECT_EQ(toTest, Bytes(8,11));
}
TEST_F(TestXorCode, FullCodeDecodeCArray)
{
    Bytes toTest(8,11);
    uint8_t codes[4];
    codes[0] = 42;
    codes[1] = 42;
    codes[2] = 42;
    codes[3] = 42;

    // Failed because the template code didn't work as
    // a wrapper ended up calling itself instead of the
    // implementation. Thus stack exhaustion.
    XorCode(begin(toTest), end(toTest), codes);
    XorCode(begin(toTest), end(toTest), codes);

    EXPECT_EQ(toTest, Bytes(8,11));
}
TEST_F(TestXorCode, EmptyBufferEmptyKey)
{
    Bytes empty;

    XorCode(begin(empty), end(empty), empty);

    // no execptions expected;
    EXPECT_TRUE(empty.empty());
}
TEST_F(TestXorCode, EmptyBuffer)
{
    Bytes empty;
    Bytes codes(4,42);

    XorCode(begin(empty), end(empty), codes);

    // no execptions expected;
    EXPECT_TRUE(empty.empty());
}
Exemple #8
0
void c6_packet_encode(unsigned char *dst, unsigned char *src, int len, unsigned char *reordered_key)
{
	XorCode(src, dst, reordered_key, len);
}