1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4  * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 
6 #include "gtest/gtest.h"
7 #include "mozilla/dom/SanitizeRenderer.h"
8 
TEST(SanitizeRenderer,TestRadeonTM)9 TEST(SanitizeRenderer, TestRadeonTM)
10 {
11   std::string renderer(
12       "AMD Radeon (TM) RX 460 Graphics (POLARIS11, DRM 3.35.0, "
13       "5.4.0-65-generic, LLVM 11.0.0)");
14   std::string expectation("AMD Radeon (TM) RX 460 Graphics (POLARIS11)");
15   mozilla::dom::SanitizeRenderer(renderer);
16   EXPECT_EQ(renderer, expectation);
17 }
18 
TEST(SanitizeRenderer,TestRadeon)19 TEST(SanitizeRenderer, TestRadeon)
20 {
21   std::string renderer(
22       "AMD Radeon RX 5700 (NAVI10, DRM 3.35.0, 5.4.0-65-generic, LLVM 11.0.0)");
23   std::string expectation("AMD Radeon RX 5700 (NAVI10)");
24   mozilla::dom::SanitizeRenderer(renderer);
25   EXPECT_EQ(renderer, expectation);
26 }
27 
TEST(SanitizeRenderer,TestRadeonWithoutGeneration)28 TEST(SanitizeRenderer, TestRadeonWithoutGeneration)
29 {
30   std::string renderer(
31       "AMD Radeon RX 5700 (DRM 3.35.0, 5.4.0-65-generic, LLVM 11.0.0)");
32   std::string expectation("AMD Radeon RX 5700");
33   mozilla::dom::SanitizeRenderer(renderer);
34   EXPECT_EQ(renderer, expectation);
35 }
36 
TEST(SanitizeRenderer,TestVega)37 TEST(SanitizeRenderer, TestVega)
38 {
39   std::string renderer("Radeon RX Vega");
40   std::string expectation("Radeon RX Vega");
41   mozilla::dom::SanitizeRenderer(renderer);
42   EXPECT_EQ(renderer, expectation);
43 }
44 
TEST(SanitizeRenderer,TestIntel)45 TEST(SanitizeRenderer, TestIntel)
46 {
47   std::string renderer("Mesa DRI Intel(R) HD Graphics 4000 (IVB GT2)");
48   std::string expectation("Mesa DRI Intel(R) HD Graphics 4000 (IVB GT2)");
49   mozilla::dom::SanitizeRenderer(renderer);
50   EXPECT_EQ(renderer, expectation);
51 }
52 
TEST(SanitizeRenderer,TestPipe)53 TEST(SanitizeRenderer, TestPipe)
54 {
55   std::string renderer("llvmpipe (LLVM 11.0.0, 256 bits)");
56   std::string expectation("llvmpipe (LLVM 11.0.0, 256 bits)");
57   mozilla::dom::SanitizeRenderer(renderer);
58   EXPECT_EQ(renderer, expectation);
59 }
60