TEST(FirebaseObjectTest, JsonLiteral) { EXPECT_EQ(bool(FirebaseObject("true")), true); EXPECT_EQ(bool(FirebaseObject("false")), false); EXPECT_EQ(int(FirebaseObject("42")), 42); EXPECT_EQ(float(FirebaseObject("43.0")), 43.0); EXPECT_EQ(String(FirebaseObject("\"foo\"")), "foo"); }
TEST(FirebaseObjectTest, JsonObject) { { const JsonObject& obj = FirebaseObject("{\"foo\":\"bar\"}"); String foo = obj["foo"]; EXPECT_EQ(foo, "bar"); } { String foo = FirebaseObject("{\"foo\":\"bar\"}")["foo"]; EXPECT_EQ(foo, "bar"); } }
float FirebaseArduino::getFloat(const String& path) { auto get = FirebaseGet(host_, auth_, path.c_str(), http_.get()); error_ = get.error(); if (failed()) { return 0.0f; } return FirebaseObject(get.response().c_str()).getFloat(); }
FirebaseObject FirebaseArduino::readEvent() { auto client = http_->getStreamPtr(); String type = client->readStringUntil('\n').substring(7);; String event = client->readStringUntil('\n').substring(6); client->readStringUntil('\n'); // consume separator FirebaseObject obj = FirebaseObject(event.c_str()); obj.getJsonVariant().asObject()["type"] = type; return obj; }