17242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci/*
27242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci * Copyright 2014 The Chromium Authors. All rights reserved.
37242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci * Use of this source code is governed by a BSD-style license that can be
47242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci * found in the LICENSE file.
57242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci */
67242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
77242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "config.h"
87242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
97242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "wtf/text/StringBuffer.h"
107242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
117242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include <gtest/gtest.h>
127242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
137242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccinamespace {
147242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
157242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
167242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano TucciTEST(StringBuffer, Initial)
177242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci{
187242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    StringBuffer<LChar> buf1;
197242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_EQ(0u, buf1.length());
207242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_FALSE(buf1.characters());
217242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
227242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    StringBuffer<LChar> buf2(0);
237242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_EQ(0u, buf2.length());
247242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_FALSE(buf2.characters());
257242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
267242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    StringBuffer<LChar> buf3(1);
277242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_EQ(1u, buf3.length());
287242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_TRUE(buf3.characters());
297242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}
307242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
317242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano TucciTEST(StringBuffer, shrink)
327242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci{
337242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    StringBuffer<LChar> buf(2);
347242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_EQ(2u, buf.length());
357242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    buf[0] = 'a';
367242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    buf[1] = 'b';
377242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
387242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    buf.shrink(1);
397242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_EQ(1u, buf.length());
407242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_EQ('a', buf[0]);
417242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
427242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    buf.shrink(0);
437242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci    EXPECT_EQ(0u, buf.length());
447242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}
457242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci
467242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci} // namespace
47