summaryrefslogtreecommitdiff
path: root/unittests/Support/BinaryStreamTest.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-05-02 18:30:13 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-05-02 18:30:13 +0000
commita303c417bbdb53703c2c17398b08486bde78f1f6 (patch)
tree98366d6b93d863cefdc53f16c66c0c5ae7fb2261 /unittests/Support/BinaryStreamTest.cpp
parent12f3ca4cdb95b193af905a00e722a4dcb40b3de3 (diff)
Notes
Diffstat (limited to 'unittests/Support/BinaryStreamTest.cpp')
-rw-r--r--unittests/Support/BinaryStreamTest.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/unittests/Support/BinaryStreamTest.cpp b/unittests/Support/BinaryStreamTest.cpp
index 1e646a6cf9001..74c51e382d99d 100644
--- a/unittests/Support/BinaryStreamTest.cpp
+++ b/unittests/Support/BinaryStreamTest.cpp
@@ -358,12 +358,14 @@ TEST_F(BinaryStreamTest, VarStreamArray) {
struct StringExtractor {
public:
- Error operator()(BinaryStreamRef Stream, uint32_t &Len, StringRef &Item) {
- if (Index == 0)
+ typedef uint32_t ContextType;
+ static Error extract(BinaryStreamRef Stream, uint32_t &Len, StringRef &Item,
+ uint32_t *Index) {
+ if (*Index == 0)
Len = strlen("1. Test");
- else if (Index == 1)
+ else if (*Index == 1)
Len = strlen("2. Longer Test");
- else if (Index == 2)
+ else if (*Index == 2)
Len = strlen("3. Really Long Test");
else
Len = strlen("4. Super Extra Longest Test Of All");
@@ -372,16 +374,14 @@ TEST_F(BinaryStreamTest, VarStreamArray) {
return EC;
Item =
StringRef(reinterpret_cast<const char *>(Bytes.data()), Bytes.size());
- ++Index;
+ ++(*Index);
return Error::success();
}
-
- private:
- uint32_t Index = 0;
};
for (auto &Stream : Streams) {
- VarStreamArray<StringRef, StringExtractor> Array(*Stream.Input);
+ uint32_t Context = 0;
+ VarStreamArray<StringRef, StringExtractor> Array(*Stream.Input, &Context);
auto Iter = Array.begin();
ASSERT_EQ("1. Test", *Iter++);
ASSERT_EQ("2. Longer Test", *Iter++);