This test actually passes, it seems that the size of the destination doesn't matter, as long as it is a valid pointer to a char array.
I actually expected the test to fail, any explanation would be appreciated.
#include "gtest/gtest.h"
#include <string>
using namespace std;
TEST(practice, book) {
const char * copyFrom = "Hello World!";
char copyTo[0]; //TODO: why it works?
std::strcpy(copyTo, copyFrom);
EXPECT_STREQ("Hello World!", copyTo);
std::cout << copyTo << std::endl;
}