Skip to content

Commit 80c7997

Browse files
committed
Fixed #15 removed dangerous operators
1 parent 40eb5c5 commit 80c7997

File tree

5 files changed

+54
-56
lines changed

5 files changed

+54
-56
lines changed

src/wsjcpp_yaml.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,6 @@ class WsjcppYamlItem { // TODO: rename to node
142142
std::string toString(std::string sIntent = "");
143143
std::string getItemTypeAsString();
144144

145-
WsjcppYamlItem &operator[](int idx) { return *(this->getElement(idx)); }
146-
WsjcppYamlItem &operator[](const std::string &sName) { return *(this->getElement(sName)); }
147-
148145
std::string getForLogFormat();
149146

150147
private:
@@ -225,8 +222,6 @@ class WsjcppYaml {
225222
bool saveToString(std::string &sBuffer);
226223

227224
WsjcppYamlItem *getRoot();
228-
WsjcppYamlItem &operator[](int idx) { return *(getRoot()->getElement(idx)); }
229-
WsjcppYamlItem &operator[](const std::string &sName) { return *(getRoot()->getElement(sName)); }
230225

231226
private:
232227
std::string TAG;
@@ -259,6 +254,9 @@ class WsjcppYamlCursor {
259254
return WsjcppYamlCursor(pYaml, pYaml->getRoot()->getElement(idx)); // will be call destructor ?
260255
}
261256
WsjcppYamlCursor &operator[](const std::string &sName) { return *(getRoot()->getElement(sName)); }
257+
258+
WsjcppYamlItem &operator[](int idx) { return *(getRoot()->getElement(idx)); }
259+
WsjcppYamlItem &operator[](const std::string &sName) { return *(getRoot()->getElement(sName)); }
262260
263261
private:
264262
WsjcppYaml *m_pYaml;

unit-tests.wsjcpp/src/unit_test_yaml_parser_array_included_map.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,14 @@ void UnitTestYamlParserArrayIncludedMap::executeTest() {
7070
compare("array-test2-element0-comment", pItem->getComment(), "comment v21");
7171

7272
pItem = yaml.getRoot()->getElement("array-test2")->getElement(1);
73-
compare("array-test2-element1-value", yaml["array-test2"][1].getStringValue(), "value22");
74-
compare("array-test2-element1-comment", yaml["array-test2"][1].getComment(), "comment v22");
73+
compare("array-test2-element1-value", yaml.getRoot()->getElement("array-test2")->getElement(1)->getStringValue(), "value22");
74+
compare("array-test2-element1-comment", yaml.getRoot()->getElement("array-test2")->getElement(1)->getComment(), "comment v22");
7575

7676
pItem = yaml.getRoot()->getElement("array-test2")->getElement(2);
7777
compare("array-test2-element2-value", pItem->getStringValue(), "true");
7878
compare("array-test2-element2-comment", pItem->getComment(), "comment true");
7979

80-
compare("array-and-map-length", yaml["array-and-map"].getLength(), 2);
80+
compare("array-and-map-length", yaml.getRoot()->getElement("array-and-map")->getLength(), 2);
8181

8282
pItem = yaml.getRoot()->getElement("array-and-map")->getElement(0);
8383
compare("array-and-map-element0-value", pItem->getElement("submap-param1")->getStringValue(), "v01");

unit-tests.wsjcpp/src/unit_test_yaml_parser_comments.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,26 +59,26 @@ void UnitTestYamlParserComments::executeTest() {
5959

6060
// TODO: .findLine(0)
6161

62-
compare("param1", yaml["param1"].getStringValue(), "value1");
63-
compare("param1", yaml["param1"].getComment(), "comment 2 # comment");
62+
compare("param1", yaml.getRoot()->getElement("param1")->getStringValue(), "value1");
63+
compare("param1", yaml.getRoot()->getElement("param1")->getComment(), "comment 2 # comment");
6464

65-
compare("param2", yaml["param2"].getStringValue(), "value2");
66-
compare("param2", yaml["param2"].getComment(), "some \"comment 3\"");
65+
compare("param2", yaml.getRoot()->getElement("param2")->getStringValue(), "value2");
66+
compare("param2", yaml.getRoot()->getElement("param2")->getComment(), "some \"comment 3\"");
6767

6868

69-
compare("array1-comment", yaml["array1"].getComment(), "comment 5");
70-
compare("array1-length", yaml["array1"].getLength(), 2);
71-
compare("array1-element0-value", yaml["array1"][0].getStringValue(), "val1");
72-
compare("array1-element0-comment", yaml["array1"][0].getComment(), "comment 6");
69+
compare("array1-comment", yaml.getRoot()->getElement("array1")->getComment(), "comment 5");
70+
compare("array1-length", yaml.getRoot()->getElement("array1")->getLength(), 2);
71+
compare("array1-element0-value", yaml.getRoot()->getElement("array1")->getElement(0)->getStringValue(), "val1");
72+
compare("array1-element0-comment", yaml.getRoot()->getElement("array1")->getElement(0)->getComment(), "comment 6");
7373

7474
// TODO: .findLine(7)
7575

76-
compare("array1-element1-value", yaml["array1"][1].getStringValue(), "val2");
77-
compare("array1-element1-comment", yaml["array1"][1].getComment(), "comment 8");
76+
compare("array1-element1-value", yaml.getRoot()->getElement("array1")->getElement(1)->getStringValue(), "val2");
77+
compare("array1-element1-comment", yaml.getRoot()->getElement("array1")->getElement(1)->getComment(), "comment 8");
7878

79-
compare("map1-comment", yaml["map1"].getComment(), "comment 9");
80-
compare("map1-p1-comment", yaml["map1"]["p1"].getComment(), "comment 10");
81-
compare("map1-p2-comment", yaml["map1"]["p2"].getComment(), "comment 12");
79+
compare("map1-comment", yaml.getRoot()->getElement("map1")->getComment(), "comment 9");
80+
compare("map1-p1-comment", yaml.getRoot()->getElement("map1")->getElement("p1")->getComment(), "comment 10");
81+
compare("map1-p2-comment", yaml.getRoot()->getElement("map1")->getElement("p2")->getComment(), "comment 12");
8282

8383

8484
// compare("param2", yaml.getRoot()->getElement("param2")->getStringValue(), "value2");

unit-tests.wsjcpp/src/unit_test_yaml_parser_quotes.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,23 +57,23 @@ void UnitTestYamlParserQuotes::executeTest() {
5757

5858
// TODO: .findLine(0)
5959

60-
compare("param1", yaml["param1"].getStringValue(), "value1");
61-
compare("param1", yaml["param1"].getComment(), "v1");
60+
compare("param1", yaml.getRoot()->getElement("param1")->getStringValue(), "value1");
61+
compare("param1", yaml.getRoot()->getElement("param1")->getComment(), "v1");
6262

63-
compare("param2", yaml["param2"].getStringValue(), " #$!!!value2");
64-
compare("param2", yaml["param2"].getComment(), "val 2");
63+
compare("param2", yaml.getRoot()->getElement("param2")->getStringValue(), " #$!!!value2");
64+
compare("param2", yaml.getRoot()->getElement("param2")->getComment(), "val 2");
6565

66-
compare(" param3 olala", yaml[" param3 olala"].getStringValue(), "val 3");
67-
compare(" param3 olala", yaml[" param3 olala"].getComment(), "val 3***");
66+
compare(" param3 olala", yaml.getRoot()->getElement(" param3 olala")->getStringValue(), "val 3");
67+
compare(" param3 olala", yaml.getRoot()->getElement(" param3 olala")->getComment(), "val 3***");
6868

69-
compare("param4 val", yaml["param4"].getStringValue(), " #$!!!value4");
70-
compare("param4 comment", yaml["param4"].getStringValue(), " #$!!!value4");
69+
compare("param4 val", yaml.getRoot()->getElement("param4")->getStringValue(), " #$!!!value4");
70+
compare("param4 comment", yaml.getRoot()->getElement("param4")->getStringValue(), " #$!!!value4");
7171

72-
compare("url-value", yaml["url"].getStringValue(), "https://github.com/wsjcpp/wsjcpp-yaml");
73-
compare("issues-value", yaml["issues"].getStringValue(), "https://github.com/wsjcpp/wsjcpp-yaml/issues");
74-
compare("empty-value", yaml["empty"].getStringValue(), "");
72+
compare("url-value", yaml.getRoot()->getElement("url")->getStringValue(), "https://github.com/wsjcpp/wsjcpp-yaml");
73+
compare("issues-value", yaml.getRoot()->getElement("issues")->getStringValue(), "https://github.com/wsjcpp/wsjcpp-yaml/issues");
74+
compare("empty-value", yaml.getRoot()->getElement("empty")->getStringValue(), "");
7575

76-
compare("array-element0-value", yaml["array"][0].getStringValue(), "https://github.com/wsjcpp/wsjcpp-core:v0.0.1");
76+
compare("array-element0-value", yaml.getRoot()->getElement("array")->getElement(0)->getStringValue(), "https://github.com/wsjcpp/wsjcpp-core:v0.0.1");
7777

7878
std::string sSaved = "";
7979
compare("save yaml", yaml.saveToString(sSaved), true);

unit-tests.wsjcpp/src/unit_test_yaml_parser_simple_array.cpp

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -72,30 +72,30 @@ void UnitTestYamlParserSimpleArray::executeTest() {
7272
compare("array-test2-element1-value", pItem->getStringValue(), "value22");
7373
compare("array-test2-element1-comment", pItem->getComment(), "comment v22");
7474

75-
compare("array-test2-element2-value", yaml["array-test2"][2].getStringValue(), "true");
76-
compare("array-test2-element2-line", yaml["array-test2"][2].getPlaceInFile().getLine(), " - true # comment true ");
77-
compare("array-test2-element2-original-number-of-line", yaml["array-test2"][2].getPlaceInFile().getNumberOfLine(), 5);
78-
compare("array-test2-element2-comment", yaml["array-test2"][2].getComment(), "comment true");
79-
80-
compare("array-test2-element3-value", yaml["array-test2"][3].getStringValue(), "falsesome");
81-
compare("array-test2-element3-line", yaml["array-test2"][3].getPlaceInFile().getLine(), " - falsesome ");
82-
compare("array-test2-element3-original-number-of-line", yaml["array-test2"][3].getPlaceInFile().getNumberOfLine(), 7);
83-
compare("array-test2-element3-comment", yaml["array-test2"][3].getComment(), "");
75+
compare("array-test2-element2-value", yaml.getRoot()->getElement("array-test2")->getElement(2)->getStringValue(), "true");
76+
compare("array-test2-element2-line", yaml.getRoot()->getElement("array-test2")->getElement(2)->getPlaceInFile().getLine(), " - true # comment true ");
77+
compare("array-test2-element2-original-number-of-line", yaml.getRoot()->getElement("array-test2")->getElement(2)->getPlaceInFile().getNumberOfLine(), 5);
78+
compare("array-test2-element2-comment", yaml.getRoot()->getElement("array-test2")->getElement(2)->getComment(), "comment true");
79+
80+
compare("array-test2-element3-value", yaml.getRoot()->getElement("array-test2")->getElement(3)->getStringValue(), "falsesome");
81+
compare("array-test2-element3-line", yaml.getRoot()->getElement("array-test2")->getElement(3)->getPlaceInFile().getLine(), " - falsesome ");
82+
compare("array-test2-element3-original-number-of-line", yaml.getRoot()->getElement("array-test2")->getElement(3)->getPlaceInFile().getNumberOfLine(), 7);
83+
compare("array-test2-element3-comment", yaml.getRoot()->getElement("array-test2")->getElement(3)->getComment(), "");
8484

85-
compare("array-test2-element4-value", yaml["array-test2"][4].getStringValue(), "free@free");
86-
compare("array-test2-element4-line", yaml["array-test2"][4].getPlaceInFile().getLine(), " - free@free ");
87-
compare("array-test2-element4-original-number-of-line", yaml["array-test2"][4].getPlaceInFile().getNumberOfLine(), 8);
88-
compare("array-test2-element4-comment", yaml["array-test2"][4].getComment(), "");
89-
90-
compare("array-test2-element5-value", yaml["array-test2"][5].getStringValue(), "");
91-
compare("array-test2-element5-line", yaml["array-test2"][5].getPlaceInFile().getLine(), " - # empty ");
92-
compare("array-test2-element5-original-number-of-line", yaml["array-test2"][5].getPlaceInFile().getNumberOfLine(), 9);
93-
compare("array-test2-element5-comment", yaml["array-test2"][5].getComment(), "empty");
94-
95-
compare("array-test2-element6-value", yaml["array-test2"][6].getStringValue(), "1");
96-
compare("array-test2-element6-line", yaml["array-test2"][6].getPlaceInFile().getLine(), " - 1");
97-
compare("array-test2-element6-original-number-of-line", yaml["array-test2"][6].getPlaceInFile().getNumberOfLine(), 10);
98-
compare("array-test2-element6-comment", yaml["array-test2"][6].getComment(), "");
85+
compare("array-test2-element4-value", yaml.getRoot()->getElement("array-test2")->getElement(4)->getStringValue(), "free@free");
86+
compare("array-test2-element4-line", yaml.getRoot()->getElement("array-test2")->getElement(4)->getPlaceInFile().getLine(), " - free@free ");
87+
compare("array-test2-element4-original-number-of-line", yaml.getRoot()->getElement("array-test2")->getElement(4)->getPlaceInFile().getNumberOfLine(), 8);
88+
compare("array-test2-element4-comment", yaml.getRoot()->getElement("array-test2")->getElement(4)->getComment(), "");
89+
90+
compare("array-test2-element5-value", yaml.getRoot()->getElement("array-test2")->getElement(5)->getStringValue(), "");
91+
compare("array-test2-element5-line", yaml.getRoot()->getElement("array-test2")->getElement(5)->getPlaceInFile().getLine(), " - # empty ");
92+
compare("array-test2-element5-original-number-of-line", yaml.getRoot()->getElement("array-test2")->getElement(5)->getPlaceInFile().getNumberOfLine(), 9);
93+
compare("array-test2-element5-comment", yaml.getRoot()->getElement("array-test2")->getElement(5)->getComment(), "empty");
94+
95+
compare("array-test2-element6-value", yaml.getRoot()->getElement("array-test2")->getElement(6)->getStringValue(), "1");
96+
compare("array-test2-element6-line", yaml.getRoot()->getElement("array-test2")->getElement(6)->getPlaceInFile().getLine(), " - 1");
97+
compare("array-test2-element6-original-number-of-line", yaml.getRoot()->getElement("array-test2")->getElement(6)->getPlaceInFile().getNumberOfLine(), 10);
98+
compare("array-test2-element6-comment", yaml.getRoot()->getElement("array-test2")->getElement(6)->getComment(), "");
9999

100100
compare("param2-value", yaml.getRoot()->getElement("param2")->getStringValue(), "val2");
101101
compare("param2-line", yaml.getRoot()->getElement("param2")->getPlaceInFile().getLine(), "param2: val2 # value 2 ");

0 commit comments

Comments
 (0)