diff options
Diffstat (limited to 'core/fxcrt/pdfium_span_unittest.cpp')
-rw-r--r-- | core/fxcrt/pdfium_span_unittest.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/core/fxcrt/pdfium_span_unittest.cpp b/core/fxcrt/pdfium_span_unittest.cpp new file mode 100644 index 0000000000..177bc4097e --- /dev/null +++ b/core/fxcrt/pdfium_span_unittest.cpp @@ -0,0 +1,30 @@ +// Copyright 2018 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "testing/gtest/include/gtest/gtest.h" +#include "third_party/base/span.h" +#include "third_party/base/stl_util.h" + +// Tests PDFium-modifications to base::span. The name of this file is +// chosen to avoid collisions with base's span_unittest.cc + +TEST(PdfiumSpan, EmptySpan) { + int stuff[] = {1, 2, 3}; + pdfium::span<int> stuff_span(stuff); + pdfium::span<int> empty_first_span = stuff_span.first(0); + pdfium::span<int> empty_last_span = stuff_span.last(0); + pdfium::span<int> empty_sub_span1 = stuff_span.subspan(0, 0); + pdfium::span<int> empty_sub_span2 = stuff_span.subspan(3, 0); + EXPECT_TRUE(empty_first_span.empty()); + EXPECT_TRUE(empty_last_span.empty()); + EXPECT_TRUE(empty_sub_span1.empty()); + EXPECT_TRUE(empty_sub_span2.empty()); +} + +TEST(PdfiumSpan, EmptySpanDeath) { + int stuff[] = {1, 2, 3}; + pdfium::span<int> stuff_span(stuff); + pdfium::span<int> empty_span = stuff_span.last(0); + EXPECT_DEATH(empty_span[0] += 1, ".*"); +} |