support Unity testing

This commit is contained in:
proddy
2024-08-01 22:13:52 +02:00
parent 4ec5739b67
commit b38ec2f25e
16 changed files with 598 additions and 285 deletions

View File

@@ -42,64 +42,66 @@ class ChunkPrint : public Print {
}
};
class PrettyAsyncJsonResponse {
protected:
JsonDocument _jsonBuffer;
// class PrettyAsyncJsonResponse {
// protected:
// JsonDocument _jsonBuffer;
JsonVariant _root;
bool _isValid;
// JsonVariant _root;
// bool _isValid;
public:
PrettyAsyncJsonResponse(bool isArray = false)
: _isValid{false} {
if (isArray)
_root = _jsonBuffer.to<JsonArray>();
else
_root = _jsonBuffer.add<JsonObject>();
}
// public:
// PrettyAsyncJsonResponse(bool isArray = false)
// : _isValid{false} {
// if (isArray)
// _root = _jsonBuffer.to<JsonArray>();
// else
// _root = _jsonBuffer.add<JsonObject>();
// }
~PrettyAsyncJsonResponse() {
}
// ~PrettyAsyncJsonResponse() {
// }
JsonVariant getRoot() {
return _root;
}
// JsonVariant getRoot() {
// return _root;
// }
bool _sourceValid() const {
return _isValid;
}
// bool _sourceValid() const {
// return _isValid;
// }
size_t setLength() {
return 0;
}
// size_t setLength() {
// return 0;
// }
void setContentType(const char * s) {
}
// void setContentType(const char * s) {
// }
size_t getSize() {
return _jsonBuffer.size();
}
// size_t getSize() {
// return _jsonBuffer.size();
// }
size_t _fillBuffer(uint8_t * data, size_t len) {
return len;
}
// size_t _fillBuffer(uint8_t * data, size_t len) {
// return len;
// }
void setCode(uint16_t) {
}
};
// void setCode(uint16_t) {
// }
// };
class AsyncJsonResponse {
protected:
JsonDocument _jsonBuffer;
JsonVariant _root;
bool _isValid;
bool _isMsgPack;
JsonVariant _root;
bool _isValid;
bool _isMsgPack;
int _code;
size_t _contentLength;
public:
AsyncJsonResponse(bool isArray = false, bool isMsgPack = false)
: _isValid{false}
, _isMsgPack{isMsgPack} {
_code = 200;
if (isArray)
_root = _jsonBuffer.to<JsonArray>();
else
@@ -118,7 +120,12 @@ class AsyncJsonResponse {
}
size_t setLength() {
return 0;
_contentLength = _isMsgPack ? measureMsgPack(_root) : measureJson(_root);
if (_contentLength) {
_isValid = true;
}
return _contentLength;
}
size_t getSize() {
@@ -126,10 +133,12 @@ class AsyncJsonResponse {
}
size_t _fillBuffer(uint8_t * data, size_t len) {
// _isMsgPack ? serializeMsgPack(_root, data) : serializeJson(_root, data);
return len;
}
void setCode(uint16_t) {
void setCode(uint16_t c) {
_code = c;
}
void setContentType(const char * s) {

View File

@@ -11,8 +11,8 @@ class AsyncWebServer;
class AsyncWebServerRequest;
class AsyncWebServerResponse;
class AsyncJsonResponse;
class PrettyAsyncJsonResponse;
class MsgpackAsyncJsonResponse;
// class PrettyAsyncJsonResponse;
// class MsgpackAsyncJsonResponse;
class AsyncEventSource;
class AsyncWebParameter {
@@ -76,9 +76,9 @@ class AsyncWebServerRequest {
public:
void * _tempObject;
AsyncWebServerRequest(AsyncWebServer *, AsyncClient *){};
AsyncWebServerRequest(){};
~AsyncWebServerRequest(){};
AsyncWebServerRequest(AsyncWebServer *, AsyncClient *) {};
AsyncWebServerRequest() {};
~AsyncWebServerRequest() {};
AsyncClient * client() {
return _client;
@@ -99,9 +99,11 @@ class AsyncWebServerRequest {
}
void send(AsyncWebServerResponse * response) {};
void send(AsyncJsonResponse * response) {};
void send(PrettyAsyncJsonResponse * response) {};
void send(MsgpackAsyncJsonResponse * response) {};
// void send(PrettyAsyncJsonResponse * response) {};
// void send(MsgpackAsyncJsonResponse * response) {};
void send(int code, const String & contentType = String(), const String & content = String()) {};
void send(int code, const String & contentType, const __FlashStringHelper *) {};
@@ -205,6 +207,17 @@ class AsyncWebHandler {
};
class AsyncWebServerResponse {
protected:
int _code;
String _contentType;
size_t _contentLength;
bool _sendContentLength;
bool _chunked;
size_t _headLength;
size_t _sentLength;
size_t _ackedLength;
size_t _writtenLength;
public:
AsyncWebServerResponse();
virtual ~AsyncWebServerResponse();
@@ -221,9 +234,9 @@ class AsyncWebServer {
public:
AsyncWebServer(uint16_t port)
: _server(port){};
: _server(port) {};
~AsyncWebServer(){};
~AsyncWebServer() {};
void begin() {};
void end();
@@ -239,8 +252,8 @@ class AsyncWebServer {
class AsyncEventSource : public AsyncWebHandler {
public:
AsyncEventSource(const String & url){};
~AsyncEventSource(){};
AsyncEventSource(const String & url) {};
~AsyncEventSource() {};
size_t count() const {
return 1;