Skip to content
Snippets Groups Projects
Commit 26422704 authored by Dave Townsend's avatar Dave Townsend
Browse files

Bug 1893340: Test nsINIParser for string and section deletion a=dmeehan

parent ba1295a1
No related branches found
No related tags found
No related merge requests found
......@@ -242,7 +242,6 @@ nsresult nsINIParser::DeleteString(const char* aSection, const char* aKey) {
mSections.Remove(aSection);
} else {
mSections.InsertOrUpdate(aSection, std::move(val->next));
delete val;
}
return NS_OK;
}
......
/* -*- 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;
}
......@@ -25,6 +25,7 @@ UNIFIED_SOURCES += [
"TestGCPostBarriers.cpp",
"TestID.cpp",
"TestIDUtils.cpp",
"TestINIParser.cpp",
"TestInputStreamLengthHelper.cpp",
"TestJSHolderMap.cpp",
"TestLogCommandLineHandler.cpp",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment