diff options
| author | Neil <nyamatongwe@gmail.com> | 2017-05-21 10:26:10 +1000 | 
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2017-05-21 10:26:10 +1000 | 
| commit | 8ef4f3d54de1328a1d9753f4317a5d7692a72ae8 (patch) | |
| tree | d0fb1e0c6cbd0a0256066ccb9e1541d3adbdf41c /test/unit/testSplitVector.cxx | |
| parent | 632801dae9d844bd73891a314e99161add3f47fc (diff) | |
| download | scintilla-mirror-8ef4f3d54de1328a1d9753f4317a5d7692a72ae8.tar.gz | |
Make SplitVector work with move-only types like unique_ptr.
Provide InsertEmpty and both const and non-const reference returning operator[].
Add and fix comments.
Diffstat (limited to 'test/unit/testSplitVector.cxx')
| -rw-r--r-- | test/unit/testSplitVector.cxx | 13 | 
1 files changed, 11 insertions, 2 deletions
diff --git a/test/unit/testSplitVector.cxx b/test/unit/testSplitVector.cxx index 3af51c45e..e01810d33 100644 --- a/test/unit/testSplitVector.cxx +++ b/test/unit/testSplitVector.cxx @@ -3,6 +3,7 @@  #include <cstring>  #include <stdexcept> +#include <vector>  #include <algorithm>  #include <memory> @@ -280,11 +281,19 @@ TEST_CASE("SplitVector") {  	}  	SECTION("BufferPointer") { +		// Low-level access to the data  		sv.InsertFromArray(0, testArray, 0, lengthTestArray); +		sv.Insert(0, 99);	// This moves the gap so that BufferPointer() must also move +		REQUIRE(1 == sv.GapPosition()); +		const int lengthAfterInsertion = 1 + lengthTestArray; +		REQUIRE(lengthAfterInsertion == (sv.Length()));  		int *retrievePointer = sv.BufferPointer(); -		for (int i=0; i<sv.Length(); i++) { -			REQUIRE((i+3) == retrievePointer[i]); +		for (int i=1; i<sv.Length(); i++) { +			REQUIRE((i+3-1) == retrievePointer[i]);  		} +		REQUIRE(lengthAfterInsertion == sv.Length()); +		// Gap was moved to end. +		REQUIRE(lengthAfterInsertion == sv.GapPosition());  	}  	SECTION("DeleteBackAndForth") {  | 
