|  | /* | 
|  | * Copyright 2014 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 "sky/engine/config.h" | 
|  |  | 
|  | #include "sky/engine/wtf/text/StringBuffer.h" | 
|  |  | 
|  | #include <gtest/gtest.h> | 
|  |  | 
|  | namespace { | 
|  |  | 
|  |  | 
|  | TEST(StringBuffer, Initial) | 
|  | { | 
|  | StringBuffer<LChar> buf1; | 
|  | EXPECT_EQ(0u, buf1.length()); | 
|  | EXPECT_FALSE(buf1.characters()); | 
|  |  | 
|  | StringBuffer<LChar> buf2(0); | 
|  | EXPECT_EQ(0u, buf2.length()); | 
|  | EXPECT_FALSE(buf2.characters()); | 
|  |  | 
|  | StringBuffer<LChar> buf3(1); | 
|  | EXPECT_EQ(1u, buf3.length()); | 
|  | EXPECT_TRUE(buf3.characters()); | 
|  | } | 
|  |  | 
|  | TEST(StringBuffer, shrink) | 
|  | { | 
|  | StringBuffer<LChar> buf(2); | 
|  | EXPECT_EQ(2u, buf.length()); | 
|  | buf[0] = 'a'; | 
|  | buf[1] = 'b'; | 
|  |  | 
|  | buf.shrink(1); | 
|  | EXPECT_EQ(1u, buf.length()); | 
|  | EXPECT_EQ('a', buf[0]); | 
|  |  | 
|  | buf.shrink(0); | 
|  | EXPECT_EQ(0u, buf.length()); | 
|  | } | 
|  |  | 
|  | } // namespace |