@@ -45,15 +45,15 @@ TEST(FirebaseObjectTest, GetInt) {
45
45
46
46
TEST (FirebaseObjectTest, GetFloat) {
47
47
{
48
- FirebaseObject obj (" 43.0 " );
49
- EXPECT_EQ (43 , obj.getFloat ());
48
+ FirebaseObject obj (" 43.1 " );
49
+ EXPECT_FLOAT_EQ (43.1 , obj.getFloat ());
50
50
EXPECT_TRUE (obj.success ());
51
51
EXPECT_FALSE (obj.failed ());
52
52
EXPECT_EQ (obj.error (), " " );
53
53
}
54
54
{
55
55
FirebaseObject obj (" 43" );
56
- EXPECT_EQ (43 , obj.getFloat ());
56
+ EXPECT_FLOAT_EQ (43 , obj.getFloat ());
57
57
EXPECT_TRUE (obj.success ());
58
58
EXPECT_FALSE (obj.failed ());
59
59
EXPECT_EQ (obj.error (), " " );
@@ -112,6 +112,59 @@ TEST(FirebaseObjectTest, GetStringFailure) {
112
112
EXPECT_EQ (obj.error (), " failed to convert to string" );
113
113
}
114
114
115
+ TEST (FirebaseObjectTest, GetTwice) {
116
+ {
117
+ FirebaseObject obj (" {\" foo\" :\" bar\" }" );
118
+ EXPECT_EQ (obj.getString (" hop" ), " " );
119
+ EXPECT_FALSE (obj.success ());
120
+ EXPECT_TRUE (obj.failed ());
121
+ EXPECT_EQ (obj.error (), " failed to convert to string" );
122
+
123
+ EXPECT_EQ (obj.getString (" foo" ), " bar" );
124
+ EXPECT_TRUE (obj.success ());
125
+ EXPECT_FALSE (obj.failed ());
126
+ EXPECT_EQ (obj.error (), " " );
127
+ }
128
+ {
129
+ FirebaseObject obj (" {\" foo\" : 42}" );
130
+ EXPECT_EQ (obj.getInt (" hop" ), 0 );
131
+ EXPECT_FALSE (obj.success ());
132
+ EXPECT_TRUE (obj.failed ());
133
+ EXPECT_EQ (obj.error (), " failed to convert to number" );
134
+
135
+ EXPECT_EQ (obj.getInt (" foo" ), 42 );
136
+ EXPECT_TRUE (obj.success ());
137
+ EXPECT_FALSE (obj.failed ());
138
+ EXPECT_EQ (obj.error (), " " );
139
+ }
140
+ {
141
+ FirebaseObject obj (" {\" foo\" : true}" );
142
+ EXPECT_EQ (obj.getBool (" hop" ), 0 );
143
+ EXPECT_FALSE (obj.success ());
144
+ EXPECT_TRUE (obj.failed ());
145
+ EXPECT_EQ (obj.error (), " failed to convert to bool" );
146
+
147
+ EXPECT_EQ (obj.getBool (" foo" ), true );
148
+ EXPECT_TRUE (obj.success ());
149
+ EXPECT_FALSE (obj.failed ());
150
+ EXPECT_EQ (obj.error (), " " );
151
+ }
152
+ {
153
+ FirebaseObject obj (" {\" foo\" : 43.1}" );
154
+ EXPECT_FLOAT_EQ (obj.getFloat (" hop" ), 0 );
155
+ EXPECT_FALSE (obj.success ());
156
+ EXPECT_TRUE (obj.failed ());
157
+ EXPECT_EQ (obj.error (), " failed to convert to number" );
158
+
159
+ EXPECT_FLOAT_EQ (obj.getFloat (" foo" ), 43.1 );
160
+ EXPECT_TRUE (obj.success ());
161
+ EXPECT_FALSE (obj.failed ());
162
+ EXPECT_EQ (obj.error (), " " );
163
+ }
164
+ }
165
+
166
+
167
+
115
168
int main (int argc, char **argv) {
116
169
::testing::InitGoogleTest (&argc, argv);
117
170
return RUN_ALL_TESTS ();
0 commit comments