mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[sourcekit] Merge SourceKit into the Swift repo.
The code goes into its own sub-tree under 'tools' but tests go under 'test', so that running 'check-swift' will also run all the SourceKit tests. SourceKit is disabled on non-darwin platforms.
This commit is contained in:
33
unittests/SourceKit/Support/ImmutableTextBufferTest.cpp
Normal file
33
unittests/SourceKit/Support/ImmutableTextBufferTest.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#include "SourceKit/Support/ImmutableTextBuffer.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace SourceKit;
|
||||
using namespace llvm;
|
||||
|
||||
TEST(EditableTextBuffer, Updates) {
|
||||
const char *Text = "hello world";
|
||||
|
||||
EditableTextBufferManager BufMgr;
|
||||
EditableTextBufferRef EdBuf = BufMgr.getOrCreateBuffer("/a/test", Text);
|
||||
ImmutableTextBufferRef Buf = EdBuf->getBuffer();
|
||||
|
||||
EXPECT_EQ(Buf->getText(), Text);
|
||||
|
||||
Buf = EdBuf->insert(6, "all ")->getBuffer();
|
||||
EXPECT_EQ(Buf->getText(), "hello all world");
|
||||
|
||||
Buf = EdBuf->erase(9, 6)->getBuffer();
|
||||
EXPECT_EQ(Buf->getText(), "hello all");
|
||||
|
||||
Buf = EdBuf->replace(0, 5, "yo")->getBuffer();
|
||||
EXPECT_EQ(Buf->getText(), "yo all");
|
||||
|
||||
EdBuf = BufMgr.resetBuffer("/a/test", Text);
|
||||
EdBuf->insert(6, "all ");
|
||||
EdBuf->erase(9, 6);
|
||||
EdBuf->replace(0, 5, "yo");
|
||||
Buf = EdBuf->getSnapshot()->getBuffer();
|
||||
EXPECT_EQ(Buf->getText(), "yo all");
|
||||
|
||||
EXPECT_EQ(Buf->getFilename(), "/a/test");
|
||||
}
|
||||
Reference in New Issue
Block a user