110097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar//===- llvm/unittest/Support/formatted_raw_ostream_test.cpp ---------------===//
210097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar//
310097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar//                     The LLVM Compiler Infrastructure
410097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar//
510097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar// This file is distributed under the University of Illinois Open Source
610097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar// License. See LICENSE.TXT for details.
710097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar//
810097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar//===----------------------------------------------------------------------===//
910097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar
105a88dda4be791426ab4d20a6a6c9c65d66614a27Chandler Carruth#include "llvm/Support/FormattedStream.h"
1110097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar#include "llvm/ADT/SmallString.h"
1210097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar#include "llvm/Support/raw_ostream.h"
135a88dda4be791426ab4d20a6a6c9c65d66614a27Chandler Carruth#include "gtest/gtest.h"
1410097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar
1510097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbarusing namespace llvm;
1610097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar
1710097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbarnamespace {
1810097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar
1910097bd023acd750cff72a9f422608fce2ad81ddDaniel DunbarTEST(formatted_raw_ostreamTest, Test_Tell) {
2010097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar  // Check offset when underlying stream has buffer contents.
2110097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar  SmallString<128> A;
2210097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar  raw_svector_ostream B(A);
2310097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar  formatted_raw_ostream C(B);
2410097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar  char tmp[100] = "";
2510097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar
2610097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar  for (unsigned i = 0; i != 3; ++i) {
2710097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar    C.write(tmp, 100);
2810097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar
2910097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar    EXPECT_EQ(100*(i+1), (unsigned) C.tell());
3010097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar  }
3110097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar}
3210097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar
3310097bd023acd750cff72a9f422608fce2ad81ddDaniel Dunbar}
34