1
0
Fork 0
firefox/xpcom/tests/gtest/TestINIParser.cpp
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

60 lines
1.4 KiB
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsCOMPtr.h"
#include "gtest/gtest.h"
#include "mozilla/gtest/MozAssertions.h"
#include "nsINIParser.h"
TEST(INIParser, DeleteString)
{
nsINIParser* parser = new nsINIParser();
nsresult rv = parser->InitFromString(
"[sec]\r\
key1=val1\r\
key2=val2\r\
key3=val3\r\
key4=val4"_ns);
EXPECT_NS_SUCCEEDED(rv);
rv = parser->DeleteString("sec", "key3");
EXPECT_NS_SUCCEEDED(rv);
rv = parser->DeleteString("sec", "key4");
EXPECT_NS_SUCCEEDED(rv);
rv = parser->DeleteString("sec", "key1");
EXPECT_NS_SUCCEEDED(rv);
rv = parser->DeleteString("sec", "key2");
EXPECT_NS_SUCCEEDED(rv);
delete parser;
}
TEST(INIParser, DeleteSection)
{
nsINIParser* parser = new nsINIParser();
nsresult rv = parser->InitFromString(
"[sec1]\r\
key=val\r\
\r\
[sec2]\r\
key=val\r\
[sec3]\r\
key=val\r\
[sec4]\r\
key=val"_ns);
EXPECT_NS_SUCCEEDED(rv);
rv = parser->DeleteSection("sec3");
EXPECT_NS_SUCCEEDED(rv);
rv = parser->DeleteSection("sec4");
EXPECT_NS_SUCCEEDED(rv);
rv = parser->DeleteSection("sec1");
EXPECT_NS_SUCCEEDED(rv);
rv = parser->DeleteSection("sec2");
EXPECT_NS_SUCCEEDED(rv);
delete parser;
}