isValidString.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include "isValidString.h"
  2. #include "Resources/validyMacros.h"
  3. #include "../../Source/JSONValidator.h"
  4. void testJSONValidator__isValidString::testNormal(void){
  5. assertValid("hello\":123", isValidString, ':');
  6. assertValid("he\\\"ll\\\"o\":123", isValidString, ':');
  7. }
  8. void testJSONValidator__isValidString::testUnicode(void){
  9. assertValid("he\\u1234llo\":123", isValidString, ':');
  10. assertValid("he\\u0FFFllo\":123", isValidString, ':');
  11. assertNotValid("he\\uFFFGllo\":123", isValidString, ':');
  12. }
  13. void testJSONValidator__isValidString::testStrict(void){
  14. #ifdef JSON_STRICT
  15. assertNotValid("he\\xFFllo\":123", isValidString, ':');
  16. assertNotValid("he\\0123llo\":123", isValidString, ':');
  17. #endif
  18. }
  19. void testJSONValidator__isValidString::testNotStrict(void){
  20. #ifndef JSON_STRICT
  21. assertValid("he\\xFFllo\":123", isValidString, ':');
  22. #ifdef JSON_OCTAL
  23. assertValid("he\\0123llo\":123", isValidString, ':');
  24. #else
  25. assertNotValid("he\\0123llo\":123", isValidString, ':');
  26. #endif
  27. #endif
  28. }
  29. void testJSONValidator__isValidString::testNotString(void){
  30. assertNotValid("he\\128llo\":123", isValidString, ':'); //not valid even when not strict because of the 8
  31. }
  32. void testJSONValidator__isValidString::testSuddenEnd(void){
  33. assertNotValid("he\\", isValidString, ':');
  34. assertNotValid("he\\\"", isValidString, ':'); //escaped quote
  35. assertNotValid("he\\\"llo\\\"", isValidString, ':'); //two esacaped quotes
  36. //--- void testJSONValidator__isValidString::testNormal(void){
  37. assertNotValid("hello", isValidString, ':');
  38. assertNotValid("he\\\"ll\\\"o", isValidString, ':');
  39. //--- void testJSONValidator__isValidString::testUnicode(void){
  40. assertNotValid("he\\u1234llo", isValidString, ':');
  41. assertNotValid("he\\u0FF", isValidString, ':');
  42. assertNotValid("he\\u0F", isValidString, ':');
  43. assertNotValid("he\\u0", isValidString, ':');
  44. assertNotValid("he\\u", isValidString, ':');
  45. assertNotValid("he\\", isValidString, ':');
  46. //strict stuff
  47. assertNotValid("he\\xFF", isValidString, ':');
  48. assertNotValid("he\\xF", isValidString, ':');
  49. assertNotValid("he\\x", isValidString, ':');
  50. assertNotValid("he\\0123", isValidString, ':');
  51. assertNotValid("he\\012", isValidString, ':');
  52. assertNotValid("he\\01", isValidString, ':');
  53. assertNotValid("he\\0", isValidString, ':');
  54. }