599 auto fs = FileUtils::getInstance();
601 auto testIfCompiles = [fs]() {
604 fs->getContents(
"", &buf);
607 (void)(testIfCompiles);
609 auto winSize = Director::getInstance()->getWinSize();
611 auto readResult = Label::createWithTTF(
"show readResult",
"fonts/Thonburi.ttf", 16);
612 this->addChild(readResult);
613 readResult->setPosition(winSize.width / 2, winSize.height / 2);
615 std::vector<char> binary = {
'\r',
'\n',
'\r',
'\n',
'\0',
'\0',
'\r',
'\n'};
616 _generatedFile = fs->getWritablePath() +
"file-with-zeros-and-crlf";
620 auto runTests = [&]() {
624 if ( bs.size() != binary.size() || !std::equal( bs.begin(), bs.end(), binary.begin() ) )
625 return std::string(
"failed: read as binary string");
629 if (strcmp(ts.c_str(),
"\r\n\r\n")!=0)
630 return std::string(
"failed: read as zero terminated string");
633 std::string files[] = {
_generatedFile,
"background.wav",
"fileLookup.plist"};
634 for (
auto& file : files) {
637 auto serr = fs->getContents(file, &sbuf);
638 if (serr != FileUtils::Status::OK)
639 return std::string(
"failed: error: " +
FileErrors[(
int)serr]);
641 std::vector<int> vbuf;
642 auto verr = fs->getContents(file, &vbuf);
643 if (verr != FileUtils::Status::OK)
644 return std::string(
"failed: error: " +
FileErrors[(
int)verr]);
647 auto derr = fs->getContents(file, &dbuf);
648 if (derr != FileUtils::Status::OK)
649 return std::string(
"failed: error: " +
FileErrors[(
int)derr]);
651 if (memcmp(&sbuf.front(), &vbuf.front(), sbuf.size()) != 0)
652 return std::string(
"failed: error: sbuf != vbuf");
654 if (dbuf.getSize() != sbuf.size())
655 return std::string(
"failed: error: sbuf.size() != dbuf.getSize()");
657 if (memcmp(&sbuf.front(), dbuf.getBytes(), sbuf.size()) != 0)
658 return std::string(
"failed: error: sbuf != dbuf");
660 return std::string(
"read success");
662 readResult->setString(
"FileUtils::getContents() " + runTests());
static NS_CC_END void saveAsBinaryText(const std::string &filename, const std::vector< char > &binary)
static const std::string FileErrors[]
virtual void onEnter() override
std::string _generatedFile