mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added a test when token count is too small
This commit is contained in:
		| @@ -15,10 +15,11 @@ namespace ArduinoJsonParserTests | |||||||
| {		 | {		 | ||||||
|     TEST_CLASS(JsonHashTableTests) |     TEST_CLASS(JsonHashTableTests) | ||||||
| 	{ | 	{ | ||||||
| 		JsonParser<32> parser; |  | ||||||
| 		JsonHashTable hashTable; | 		JsonHashTable hashTable; | ||||||
|         JsonArray nestedArray; |         JsonArray nestedArray; | ||||||
| 		char json[256]; | 		char json[256]; | ||||||
|  |         jsmntok_t tokens[32]; | ||||||
|  |         JsonParserBase parser = JsonParserBase(tokens, 32); | ||||||
|  |  | ||||||
| 	public: | 	public: | ||||||
|  |  | ||||||
| @@ -34,9 +35,22 @@ namespace ArduinoJsonParserTests | |||||||
|             parseMustSucceed(); |             parseMustSucceed(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(NotEnoughTokens) | ||||||
|  |         { | ||||||
|  |             setTokenCountTo(2); | ||||||
|  |  | ||||||
|  |             whenInputIs("{\"key\":0}"); | ||||||
|  |  | ||||||
|  |             parseMustFail(); | ||||||
|  |             itemMustNotExists("key"); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         TEST_METHOD(TwoIntegers) |         TEST_METHOD(TwoIntegers) | ||||||
|         { |         { | ||||||
|  |             setTokenCountTo(5); | ||||||
|  |  | ||||||
|             whenInputIs("{\"key1\":1,\"key2\":2}"); |             whenInputIs("{\"key1\":1,\"key2\":2}"); | ||||||
|  |  | ||||||
|             parseMustSucceed(); |             parseMustSucceed(); | ||||||
|             itemMustBe("key1", 1L); |             itemMustBe("key1", 1L); | ||||||
|             itemMustBe("key2", 2L); |             itemMustBe("key2", 2L); | ||||||
| @@ -45,7 +59,10 @@ namespace ArduinoJsonParserTests | |||||||
|  |  | ||||||
|         TEST_METHOD(TwoBooleans) |         TEST_METHOD(TwoBooleans) | ||||||
|         { |         { | ||||||
|  |             setTokenCountTo(5); | ||||||
|  |  | ||||||
|             whenInputIs("{\"key1\":true,\"key2\":false}"); |             whenInputIs("{\"key1\":true,\"key2\":false}"); | ||||||
|  |  | ||||||
|             parseMustSucceed(); |             parseMustSucceed(); | ||||||
|             itemMustBe("key1", true); |             itemMustBe("key1", true); | ||||||
|             itemMustBe("key2", false); |             itemMustBe("key2", false); | ||||||
| @@ -54,7 +71,10 @@ namespace ArduinoJsonParserTests | |||||||
|  |  | ||||||
|         TEST_METHOD(TwoStrings) |         TEST_METHOD(TwoStrings) | ||||||
|         { |         { | ||||||
|  |             setTokenCountTo(5); | ||||||
|  |  | ||||||
|             whenInputIs("{\"key1\":\"hello\",\"key2\":\"world\"}"); |             whenInputIs("{\"key1\":\"hello\",\"key2\":\"world\"}"); | ||||||
|  |  | ||||||
|             parseMustSucceed(); |             parseMustSucceed(); | ||||||
|             itemMustBe("key1", "hello"); |             itemMustBe("key1", "hello"); | ||||||
|             itemMustBe("key2", "world"); |             itemMustBe("key2", "world"); | ||||||
| @@ -63,6 +83,8 @@ namespace ArduinoJsonParserTests | |||||||
|  |  | ||||||
|         TEST_METHOD(TwoNestedArrays) |         TEST_METHOD(TwoNestedArrays) | ||||||
|         { |         { | ||||||
|  |             setTokenCountTo(9); | ||||||
|  |  | ||||||
|             whenInputIs("{\"key1\":[1,2],\"key2\":[3,4]}"); |             whenInputIs("{\"key1\":[1,2],\"key2\":[3,4]}"); | ||||||
|             parseMustSucceed(); |             parseMustSucceed(); | ||||||
|  |  | ||||||
| @@ -83,6 +105,11 @@ namespace ArduinoJsonParserTests | |||||||
|  |  | ||||||
|     private: |     private: | ||||||
|  |  | ||||||
|  |         void setTokenCountTo(int n) | ||||||
|  |         { | ||||||
|  |             parser = JsonParserBase(tokens, n); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         void whenInputIs(const char* input) |         void whenInputIs(const char* input) | ||||||
|         { |         { | ||||||
|             strcpy(json, input); |             strcpy(json, input); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user