blob: 03bb2f68521c5bca1b43c15666c5e81355d61946 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/core/html/forms/form_data.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace blink {
TEST(FormDataTest, append) {
FormData* fd = FormData::Create(UTF8Encoding());
fd->append("test\n1", "value\n1");
fd->append("test\r2", nullptr, "filename");
const FormData::Entry& entry1 = *fd->Entries()[0];
EXPECT_EQ("test\n1", entry1.name());
EXPECT_EQ("value\n1", entry1.Value());
const FormData::Entry& entry2 = *fd->Entries()[1];
EXPECT_EQ("test\r2", entry2.name());
}
TEST(FormDataTest, AppendFromElement) {
FormData* fd = FormData::Create(UTF8Encoding());
fd->AppendFromElement("Atomic\nNumber", 1);
fd->AppendFromElement("Periodic\nTable", nullptr);
fd->AppendFromElement("Noble\nGas", "He\rNe\nAr\r\nKr");
const FormData::Entry& entry1 = *fd->Entries()[0];
EXPECT_EQ("Atomic\r\nNumber", entry1.name());
EXPECT_EQ("1", entry1.Value());
const FormData::Entry& entry2 = *fd->Entries()[1];
EXPECT_EQ("Periodic\r\nTable", entry2.name());
const FormData::Entry& entry3 = *fd->Entries()[2];
EXPECT_EQ("Noble\r\nGas", entry3.name());
EXPECT_EQ("He\r\nNe\r\nAr\r\nKr", entry3.Value());
}
TEST(FormDataTest, get) {
FormData* fd = FormData::Create(UTF8Encoding());
fd->append("name1", "value1");
FileOrUSVString result;
fd->get("name1", result);
EXPECT_TRUE(result.IsUSVString());
EXPECT_EQ("value1", result.GetAsUSVString());
const FormData::Entry& entry = *fd->Entries()[0];
EXPECT_EQ("name1", entry.name());
EXPECT_EQ("value1", entry.Value());
}
TEST(FormDataTest, getAll) {
FormData* fd = FormData::Create(UTF8Encoding());
fd->append("name1", "value1");
HeapVector<FormDataEntryValue> results = fd->getAll("name1");
EXPECT_EQ(1u, results.size());
EXPECT_TRUE(results[0].IsUSVString());
EXPECT_EQ("value1", results[0].GetAsUSVString());
EXPECT_EQ(1u, fd->size());
}
TEST(FormDataTest, has) {
FormData* fd = FormData::Create(UTF8Encoding());
fd->append("name1", "value1");
EXPECT_TRUE(fd->has("name1"));
EXPECT_EQ(1u, fd->size());
}
} // namespace blink