summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/unittests/Support/TrigramIndexTest.cpp
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
commitb64793999546ed8adebaeebd9d8345d18db8927d (patch)
tree4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/unittests/Support/TrigramIndexTest.cpp
parentAdd support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff)
downloadwireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz
wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/unittests/Support/TrigramIndexTest.cpp')
-rw-r--r--gnu/llvm/unittests/Support/TrigramIndexTest.cpp132
1 files changed, 0 insertions, 132 deletions
diff --git a/gnu/llvm/unittests/Support/TrigramIndexTest.cpp b/gnu/llvm/unittests/Support/TrigramIndexTest.cpp
deleted file mode 100644
index df42c1efd8a..00000000000
--- a/gnu/llvm/unittests/Support/TrigramIndexTest.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-//===- TrigramIndexTest.cpp - Unit tests for TrigramIndex -----------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Support/TrigramIndex.h"
-#include "llvm/ADT/STLExtras.h"
-#include "gtest/gtest.h"
-
-#include <string>
-#include <vector>
-
-using namespace llvm;
-
-namespace {
-
-class TrigramIndexTest : public ::testing::Test {
-protected:
- std::unique_ptr<TrigramIndex> makeTrigramIndex(
- std::vector<std::string> Rules) {
- std::unique_ptr<TrigramIndex> TI =
- make_unique<TrigramIndex>();
- for (auto &Rule : Rules)
- TI->insert(Rule);
- return TI;
- }
-};
-
-TEST_F(TrigramIndexTest, Empty) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({});
- EXPECT_FALSE(TI->isDefeated());
- EXPECT_TRUE(TI->isDefinitelyOut("foo"));
-}
-
-TEST_F(TrigramIndexTest, Basic) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"*hello*", "*wor.d*"});
- EXPECT_FALSE(TI->isDefeated());
- EXPECT_TRUE(TI->isDefinitelyOut("foo"));
-}
-
-TEST_F(TrigramIndexTest, NoTrigramsInRules) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"b.r", "za*az"});
- EXPECT_TRUE(TI->isDefeated());
- EXPECT_FALSE(TI->isDefinitelyOut("foo"));
- EXPECT_FALSE(TI->isDefinitelyOut("bar"));
- EXPECT_FALSE(TI->isDefinitelyOut("zakaz"));
-}
-
-TEST_F(TrigramIndexTest, NoTrigramsInARule) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"*hello*", "*wo.ld*"});
- EXPECT_TRUE(TI->isDefeated());
- EXPECT_FALSE(TI->isDefinitelyOut("foo"));
-}
-
-TEST_F(TrigramIndexTest, RepetitiveRule) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"*bar*bar*bar*bar*bar", "bar*bar"});
- EXPECT_FALSE(TI->isDefeated());
- EXPECT_TRUE(TI->isDefinitelyOut("foo"));
- EXPECT_TRUE(TI->isDefinitelyOut("bar"));
- EXPECT_FALSE(TI->isDefinitelyOut("barbara"));
- EXPECT_FALSE(TI->isDefinitelyOut("bar+bar"));
-}
-
-TEST_F(TrigramIndexTest, PopularTrigram) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"*aaa*", "*aaaa*", "*aaaaa*", "*aaaaa*", "*aaaaaa*"});
- EXPECT_TRUE(TI->isDefeated());
-}
-
-TEST_F(TrigramIndexTest, PopularTrigram2) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"class1.h", "class2.h", "class3.h", "class4.h", "class.h"});
- EXPECT_TRUE(TI->isDefeated());
-}
-
-TEST_F(TrigramIndexTest, TooComplicatedRegex) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"[0-9]+"});
- EXPECT_TRUE(TI->isDefeated());
-}
-
-TEST_F(TrigramIndexTest, TooComplicatedRegex2) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"foo|bar"});
- EXPECT_TRUE(TI->isDefeated());
-}
-
-TEST_F(TrigramIndexTest, EscapedSymbols) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"*c\\+\\+*", "*hello\\\\world*", "a\\tb", "a\\0b"});
- EXPECT_FALSE(TI->isDefeated());
- EXPECT_FALSE(TI->isDefinitelyOut("c++"));
- EXPECT_TRUE(TI->isDefinitelyOut("c\\+\\+"));
- EXPECT_FALSE(TI->isDefinitelyOut("hello\\world"));
- EXPECT_TRUE(TI->isDefinitelyOut("hello\\\\world"));
- EXPECT_FALSE(TI->isDefinitelyOut("atb"));
- EXPECT_TRUE(TI->isDefinitelyOut("a\\tb"));
- EXPECT_TRUE(TI->isDefinitelyOut("a\tb"));
- EXPECT_FALSE(TI->isDefinitelyOut("a0b"));
-}
-
-TEST_F(TrigramIndexTest, Backreference1) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"*foo\\1*"});
- EXPECT_TRUE(TI->isDefeated());
-}
-
-TEST_F(TrigramIndexTest, Backreference2) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"*foo\\2*"});
- EXPECT_TRUE(TI->isDefeated());
-}
-
-TEST_F(TrigramIndexTest, Sequence) {
- std::unique_ptr<TrigramIndex> TI =
- makeTrigramIndex({"class1.h", "class2.h", "class3.h", "class4.h"});
- EXPECT_FALSE(TI->isDefeated());
- EXPECT_FALSE(TI->isDefinitelyOut("class1"));
- EXPECT_TRUE(TI->isDefinitelyOut("class.h"));
- EXPECT_TRUE(TI->isDefinitelyOut("class"));
-}
-
-} // namespace