blob: 5a6e3239cdbe2a1be429de73616e96af91c04af9 [file] [log] [blame]
// Copyright 2017 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 "core/editing/markers/CompositionMarkerListImpl.h"
#include "core/editing/EditingTestBase.h"
#include "core/editing/markers/CompositionMarker.h"
namespace blink {
class CompositionMarkerListImplTest : public EditingTestBase {
protected:
CompositionMarkerListImplTest()
: marker_list_(new CompositionMarkerListImpl()) {}
DocumentMarker* CreateMarker(unsigned start_offset, unsigned end_offset) {
return new CompositionMarker(start_offset, end_offset, Color::kBlack, false,
Color::kBlack);
}
Persistent<CompositionMarkerListImpl> marker_list_;
};
// CompositionMarkerListImpl shouldn't merge markers with touching endpoints
TEST_F(CompositionMarkerListImplTest, 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