1/* 2 * Copyright 2014 The Chromium Authors. All rights reserved. 3 * Use of this source code is governed by a BSD-style license that can be 4 * found in the LICENSE file. 5 */ 6 7#include "config.h" 8 9#include "wtf/text/StringBuffer.h" 10 11#include <gtest/gtest.h> 12 13namespace { 14 15 16TEST(StringBuffer, Initial) 17{ 18 StringBuffer<LChar> buf1; 19 EXPECT_EQ(0u, buf1.length()); 20 EXPECT_FALSE(buf1.characters()); 21 22 StringBuffer<LChar> buf2(0); 23 EXPECT_EQ(0u, buf2.length()); 24 EXPECT_FALSE(buf2.characters()); 25 26 StringBuffer<LChar> buf3(1); 27 EXPECT_EQ(1u, buf3.length()); 28 EXPECT_TRUE(buf3.characters()); 29} 30 31TEST(StringBuffer, shrink) 32{ 33 StringBuffer<LChar> buf(2); 34 EXPECT_EQ(2u, buf.length()); 35 buf[0] = 'a'; 36 buf[1] = 'b'; 37 38 buf.shrink(1); 39 EXPECT_EQ(1u, buf.length()); 40 EXPECT_EQ('a', buf[0]); 41 42 buf.shrink(0); 43 EXPECT_EQ(0u, buf.length()); 44} 45 46} // namespace 47