diff options
author | Zufu Liu <unknown> | 2021-06-21 13:34:23 +1000 |
---|---|---|
committer | Zufu Liu <unknown> | 2021-06-21 13:34:23 +1000 |
commit | 5b3faa208ea29e45c6d845760bb902c3a9f057da (patch) | |
tree | 44b2c5eab8d575b55828916b9c060608e2dd8ffa /test/unit/testDocument.cxx | |
parent | c728c19ed80302772be1c32c6c842aa30839c152 (diff) | |
download | scintilla-mirror-5b3faa208ea29e45c6d845760bb902c3a9f057da.tar.gz |
Add tests for CharacterCategoryMap, RESearch, and Document.
Diffstat (limited to 'test/unit/testDocument.cxx')
-rw-r--r-- | test/unit/testDocument.cxx | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/test/unit/testDocument.cxx b/test/unit/testDocument.cxx new file mode 100644 index 000000000..983074daf --- /dev/null +++ b/test/unit/testDocument.cxx @@ -0,0 +1,59 @@ +/** @file testDocument.cxx + ** Unit Tests for Scintilla internal data structures + **/ + +#include <cstddef> +#include <cstring> +#include <stdexcept> +#include <string_view> +#include <vector> +#include <optional> +#include <algorithm> +#include <memory> + +#include "ScintillaTypes.h" + +#include "ILoader.h" +#include "ILexer.h" + +#include "Debugging.h" + +#include "CharacterCategoryMap.h" +#include "Position.h" +#include "SplitVector.h" +#include "Partitioning.h" +#include "RunStyles.h" +#include "CellBuffer.h" +#include "CharClassify.h" +#include "Decoration.h" +#include "CaseFolder.h" +#include "Document.h" + +#include "catch.hpp" + +using namespace Scintilla; +using namespace Scintilla::Internal; + +// Test Document. + +TEST_CASE("Document") { + + const char sText[] = "Scintilla"; + const Sci::Position sLength = static_cast<Sci::Position>(strlen(sText)); + + Document doc(DocumentOption::Default); + + SECTION("InsertOneLine") { + const Sci::Position length = doc.InsertString(0, sText, sLength); + REQUIRE(sLength == doc.Length()); + REQUIRE(length == sLength); + REQUIRE(1 == doc.LinesTotal()); + REQUIRE(0 == doc.LineStart(0)); + REQUIRE(0 == doc.LineFromPosition(0)); + REQUIRE(sLength == doc.LineStart(1)); + REQUIRE(0 == doc.LineFromPosition(static_cast<int>(sLength))); + REQUIRE(doc.CanUndo()); + REQUIRE(!doc.CanRedo()); + } + +} |