blob: c8f297384e02e15fe4b2bf12b683b203b9dcf17c [file] [log] [blame]
// Copyright 2019 The Chromium 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 "third_party/blink/renderer/core/editing/markers/text_fragment_marker_list_impl.h"
#include "third_party/blink/renderer/core/editing/markers/text_fragment_marker.h"
#include "third_party/blink/renderer/core/editing/testing/editing_test_base.h"
namespace blink {
class TextFragmentMarkerListImplTest : public EditingTestBase {
protected:
TextFragmentMarkerListImplTest()
: marker_list_(MakeGarbageCollected<TextFragmentMarkerListImpl>()) {}
DocumentMarker* CreateMarker(unsigned start_offset, unsigned end_offset) {
return MakeGarbageCollected<TextFragmentMarker>(start_offset, end_offset);
}
Persistent<TextFragmentMarkerListImpl> marker_list_;
};
TEST_F(TextFragmentMarkerListImplTest, MarkerType) {
EXPECT_EQ(DocumentMarker::kTextFragment, marker_list_->MarkerType());
}
TEST_F(TextFragmentMarkerListImplTest, Add) {
EXPECT_EQ(0u, marker_list_->GetMarkers().size());
marker_list_->Add(CreateMarker(0, 1));
marker_list_->Add(CreateMarker(1, 2));
EXPECT_EQ(2u, marker_list_->GetMarkers().size());
EXPECT_EQ(0u, marker_list_->GetMarkers()[0]->StartOffset());
EXPECT_EQ(1u, marker_list_->GetMarkers()[0]->EndOffset());
EXPECT_EQ(1u, marker_list_->GetMarkers()[1]->StartOffset());
EXPECT_EQ(2u, marker_list_->GetMarkers()[1]->EndOffset());
}
} // namespace blink