mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-20 15:27:32 +09:00
Update NSS to 3.32.1-RTM
This commit is contained in:
parent
f29876f120
commit
c91ef9012b
512 changed files with 83203 additions and 16839 deletions
92
security/nss/gtests/certdb_gtest/alg1485_unittest.cc
Normal file
92
security/nss/gtests/certdb_gtest/alg1485_unittest.cc
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* 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 <stdint.h>
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
#include "nss.h"
|
||||
#include "scoped_ptrs.h"
|
||||
|
||||
namespace nss_test {
|
||||
|
||||
typedef struct AVATestValuesStr {
|
||||
std::string avaString;
|
||||
bool expectedResult;
|
||||
} AVATestValues;
|
||||
|
||||
typedef struct AVACompareValuesStr {
|
||||
std::string avaString1;
|
||||
std::string avaString2;
|
||||
SECComparison expectedResult;
|
||||
} AVACompareValues;
|
||||
|
||||
class Alg1485Test : public ::testing::Test {};
|
||||
|
||||
class Alg1485ParseTest : public Alg1485Test,
|
||||
public ::testing::WithParamInterface<AVATestValues> {};
|
||||
|
||||
class Alg1485CompareTest
|
||||
: public Alg1485Test,
|
||||
public ::testing::WithParamInterface<AVACompareValues> {};
|
||||
|
||||
static const AVATestValues kAVATestStrings[] = {
|
||||
{"CN=Marshall T. Rose, O=Dover Beach Consulting, L=Santa Clara, "
|
||||
"ST=California, C=US",
|
||||
true},
|
||||
{"C=HU,L=Budapest,O=Organization,CN=Example - Qualified Citizen "
|
||||
"CA,2.5.4.97=VATHU-10",
|
||||
true},
|
||||
{"C=HU,L=Budapest,O=Example,CN=Example - Qualified Citizen "
|
||||
"CA,OID.2.5.4.97=VATHU-10",
|
||||
true},
|
||||
{"CN=Somebody,L=Set,O=Up,C=US,1=The,2=Bomb", true},
|
||||
{"OID.2.5.4.6=😑", true},
|
||||
{"2.5.4.6=😑", true},
|
||||
{"OID.moocow=😑", false}, // OIDs must be numeric
|
||||
{"3.2=bad", false}, // OIDs cannot be overly large; 3 is too big
|
||||
{"256.257=bad", false}, // Still too big
|
||||
{"YO=LO", false}, // Unknown Tag, 'YO'
|
||||
{"CN=Tester,ZZ=Top", false}, // Unknown tag, 'ZZ'
|
||||
// These tests are disabled pending Bug 1363416
|
||||
// { "01.02.03=Nope", false }, // Numbers not in minimal form
|
||||
// { "000001.0000000001=👌", false },
|
||||
// { "CN=Somebody,L=Set,O=Up,C=US,01=The,02=Bomb", false },
|
||||
};
|
||||
|
||||
static const AVACompareValues kAVACompareStrings[] = {
|
||||
{"CN=Max, O=Mozilla, ST=Berlin", "CN=Max, O=Mozilla, ST=Berlin, C=DE",
|
||||
SECLessThan},
|
||||
{"CN=Max, O=Mozilla, ST=Berlin, C=DE", "CN=Max, O=Mozilla, ST=Berlin",
|
||||
SECGreaterThan},
|
||||
{"CN=Max, O=Mozilla, ST=Berlin, C=DE", "CN=Max, O=Mozilla, ST=Berlin, C=DE",
|
||||
SECEqual},
|
||||
{"CN=Max1, O=Mozilla, ST=Berlin, C=DE",
|
||||
"CN=Max2, O=Mozilla, ST=Berlin, C=DE", SECLessThan},
|
||||
{"CN=Max, O=Mozilla, ST=Berlin, C=DE", "CN=Max, O=Mozilla, ST=Berlin, C=US",
|
||||
SECLessThan},
|
||||
};
|
||||
|
||||
TEST_P(Alg1485ParseTest, TryParsingAVAStrings) {
|
||||
const AVATestValues& param(GetParam());
|
||||
|
||||
ScopedCERTName certName(CERT_AsciiToName(param.avaString.c_str()));
|
||||
ASSERT_EQ(certName != nullptr, param.expectedResult);
|
||||
}
|
||||
|
||||
TEST_P(Alg1485CompareTest, CompareAVAStrings) {
|
||||
const AVACompareValues& param(GetParam());
|
||||
ScopedCERTName a(CERT_AsciiToName(param.avaString1.c_str()));
|
||||
ScopedCERTName b(CERT_AsciiToName(param.avaString2.c_str()));
|
||||
ASSERT_TRUE(a && b);
|
||||
EXPECT_EQ(param.expectedResult, CERT_CompareName(a.get(), b.get()));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(ParseAVAStrings, Alg1485ParseTest,
|
||||
::testing::ValuesIn(kAVATestStrings));
|
||||
INSTANTIATE_TEST_CASE_P(CompareAVAStrings, Alg1485CompareTest,
|
||||
::testing::ValuesIn(kAVACompareStrings));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue