source: rtos_arduino/trunk/arduino_lib/libraries/ArduinoJson/test/JsonWriter_WriteString_Tests.cpp@ 209

Last change on this file since 209 was 209, checked in by ertl-honda, 8 years ago

BlueMix用のフィアルを追加

File size: 1.8 KB
Line 
1// Copyright Benoit Blanchon 2014-2016
2// MIT License
3//
4// Arduino JSON library
5// https://github.com/bblanchon/ArduinoJson
6// If you like this project, please add a star!
7
8#include <gtest/gtest.h>
9
10#include <ArduinoJson/Internals/JsonWriter.hpp>
11#include <ArduinoJson/Internals/StaticStringBuilder.hpp>
12
13using namespace ArduinoJson::Internals;
14
15class JsonWriter_WriteString_Tests : public testing::Test {
16 protected:
17 void whenInputIs(const char *input) {
18 StaticStringBuilder sb(buffer, sizeof(buffer));
19 JsonWriter writer(sb);
20 writer.writeString(input);
21 returnValue = writer.bytesWritten();
22 }
23
24 void outputMustBe(const char *expected) {
25 EXPECT_STREQ(expected, buffer);
26 EXPECT_EQ(strlen(expected), returnValue);
27 }
28
29 private:
30 char buffer[1024];
31 size_t returnValue;
32};
33
34TEST_F(JsonWriter_WriteString_Tests, Null) {
35 whenInputIs(0);
36 outputMustBe("null");
37}
38
39TEST_F(JsonWriter_WriteString_Tests, EmptyString) {
40 whenInputIs("");
41 outputMustBe("\"\"");
42}
43
44TEST_F(JsonWriter_WriteString_Tests, QuotationMark) {
45 whenInputIs("\"");
46 outputMustBe("\"\\\"\"");
47}
48
49TEST_F(JsonWriter_WriteString_Tests, ReverseSolidus) {
50 whenInputIs("\\");
51 outputMustBe("\"\\\\\"");
52}
53
54TEST_F(JsonWriter_WriteString_Tests, Solidus) {
55 whenInputIs("/");
56 outputMustBe("\"/\""); // but the JSON format allows \/
57}
58
59TEST_F(JsonWriter_WriteString_Tests, Backspace) {
60 whenInputIs("\b");
61 outputMustBe("\"\\b\"");
62}
63
64TEST_F(JsonWriter_WriteString_Tests, Formfeed) {
65 whenInputIs("\f");
66 outputMustBe("\"\\f\"");
67}
68
69TEST_F(JsonWriter_WriteString_Tests, Newline) {
70 whenInputIs("\n");
71 outputMustBe("\"\\n\"");
72}
73
74TEST_F(JsonWriter_WriteString_Tests, CarriageReturn) {
75 whenInputIs("\r");
76 outputMustBe("\"\\r\"");
77}
78
79TEST_F(JsonWriter_WriteString_Tests, HorizontalTab) {
80 whenInputIs("\t");
81 outputMustBe("\"\\t\"");
82}
Note: See TracBrowser for help on using the repository browser.