summaryrefslogtreecommitdiffhomepage
path: root/tests/test-diff.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-diff.cpp')
-rw-r--r--tests/test-diff.cpp199
1 files changed, 0 insertions, 199 deletions
diff --git a/tests/test-diff.cpp b/tests/test-diff.cpp
deleted file mode 100644
index d09c58e..0000000
--- a/tests/test-diff.cpp
+++ /dev/null
@@ -1,199 +0,0 @@
-#include <gtest/gtest.h>
-
-#include <filesystem>
-#include <string>
-#include <system_error>
-
-#include <stdlib.h>
-
-#include <boost/property_tree/ptree.hpp>
-
-#include "libreichwein/file.h"
-
-#include "diff.h"
-
-namespace fs = std::filesystem;
-namespace pt = boost::property_tree;
-using namespace Reichwein;
-
-class DiffTest: public ::testing::Test
-{
-protected:
- DiffTest(){
- }
-
- ~DiffTest(){
- }
-};
-
-TEST_F(DiffTest, constructor)
-{
- // empty constructor
- {
- Diff d{};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>0</end><data/></diff>");
- }
-
- // constructor via xml diff
- {
- EXPECT_THROW(Diff d{""}, std::exception);
- }
- {
- EXPECT_THROW(Diff d{"<diff><begin></begin></diff>"}, std::exception);
- EXPECT_THROW(Diff d{"<diff><end>0</end><data>abc</data></diff>"}, std::exception);
- EXPECT_THROW(Diff d{"<diff><start>0</start><data>abc</data></diff>"}, std::exception);
- EXPECT_THROW(Diff d{"<diff><start>0</start><end>0</end></diff>"}, std::exception);
- EXPECT_THROW(Diff d{"<diff><start>5</start><end>0</end><data>abc</data></diff>"}, std::exception);
- EXPECT_THROW(Diff d{"<diff><start></start><end>0</end><data>abc</data></diff>"}, std::exception);
- }
-
- {
- Diff d{"<diff><start>0</start><end>0</end><data>abc</data></diff>"};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>0</end><data>abc</data></diff>");
- }
-
- {
- Diff d{"<diff><start>5</start><end>5</end><data>abc</data></diff>"};
- EXPECT_EQ(d.get_xml(), "<diff><start>5</start><end>5</end><data>abc</data></diff>");
- }
-
- {
- Diff d{"<diff><start>5</start><end>50</end><data>abc</data></diff>"};
- EXPECT_EQ(d.get_xml(), "<diff><start>5</start><end>50</end><data>abc</data></diff>");
- }
-
- // constructor via ptree
- {
- pt::ptree ptree;
- EXPECT_THROW(Diff d{ptree}, std::exception);
-
- ptree.put("diff.start", 0);
- ptree.put("diff.end", 0);
- ptree.put("diff.data", "abc");
- Diff d{ptree};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>0</end><data>abc</data></diff>");
- }
-
- // constructor via versions
- {
- Diff d{"", ""};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>0</end><data/></diff>");
- }
- {
- Diff d{"a", "a"};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>0</end><data/></diff>");
- }
- {
- Diff d{"a", "b"};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>1</end><data>b</data></diff>");
- }
- {
- Diff d{"0a1", "0b1"};
- EXPECT_EQ(d.get_xml(), "<diff><start>1</start><end>2</end><data>b</data></diff>");
- }
- {
- Diff d{"0abc1", "00b01"};
- EXPECT_EQ(d.get_xml(), "<diff><start>1</start><end>4</end><data>0b0</data></diff>");
- }
- {
- Diff d{"0ab1", "00b01"};
- EXPECT_EQ(d.get_xml(), "<diff><start>1</start><end>3</end><data>0b0</data></diff>");
- }
- {
- Diff d{"0abc1", "00b1"};
- EXPECT_EQ(d.get_xml(), "<diff><start>1</start><end>4</end><data>0b</data></diff>");
- }
- {
- Diff d{"0abc1", ""};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>5</end><data/></diff>");
- }
- {
- Diff d{"bc1", "0abc1"};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>0</end><data>0a</data></diff>");
- }
- {
- Diff d{"0abc1", "0ab"};
- EXPECT_EQ(d.get_xml(), "<diff><start>3</start><end>5</end><data/></diff>");
- }
- {
- Diff d{"0abc1", "0abc123"};
- EXPECT_EQ(d.get_xml(), "<diff><start>5</start><end>5</end><data>23</data></diff>");
- }
- {
- Diff d{"0abc1", "010abc1"};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>0</end><data>01</data></diff>");
- }
- {
- Diff d{"0abc1", "0ac1"};
- EXPECT_EQ(d.get_xml(), "<diff><start>2</start><end>3</end><data/></diff>");
- }
- {
- Diff d{"0abc1", "0abxc1"};
- EXPECT_EQ(d.get_xml(), "<diff><start>3</start><end>3</end><data>x</data></diff>");
- }
- {
- Diff d{"abc", "c"};
- EXPECT_EQ(d.get_xml(), "<diff><start>0</start><end>2</end><data/></diff>");
- }
- {
- Diff d{"aaaa", "aa"};
- EXPECT_EQ(d.get_xml(), "<diff><start>2</start><end>4</end><data/></diff>");
- }
- {
- Diff d{"baaaa", "baa"};
- EXPECT_EQ(d.get_xml(), "<diff><start>3</start><end>5</end><data/></diff>");
- }
- {
- Diff d{"baaaab", "baab"};
- EXPECT_EQ(d.get_xml(), "<diff><start>1</start><end>3</end><data/></diff>");
- }
- {
- Diff d{"baaaab", "baaaaaaab"};
- EXPECT_EQ(d.get_xml(), "<diff><start>1</start><end>1</end><data>aaa</data></diff>");
- }
-}
-
-TEST_F(DiffTest, empty)
-{
- {
- Diff d;
- EXPECT_TRUE(d.empty());
- }
-
- {
- Diff d{"<diff><start>1</start><end>3</end><data/></diff>"};
- EXPECT_FALSE(d.empty());
- }
-
- {
- Diff d{"<diff><start>1</start><end>1</end><data/></diff>"};
- EXPECT_TRUE(d.empty());
- }
-
- {
- Diff d{"<diff><start>1</start><end>1</end><data>abc</data></diff>"};
- EXPECT_FALSE(d.empty());
- }
-
- {
- Diff d{"<diff><start>0</start><end>0</end><data/></diff>"};
- EXPECT_TRUE(d.empty());
- }
-}
-
-TEST_F(DiffTest, diff_create)
-{
- const char* result {diff_create("0abc1", "0ab")};
-
- EXPECT_EQ(std::string(result), "<diff><start>3</start><end>5</end><data/></diff>");
- free((void*)result); // this will be done by javascript side in real scenario
-}
-
-TEST_F(DiffTest, diff_apply)
-{
- const char* result {diff_apply("0abc1", "<diff><start>3</start><end>5</end><data/></diff>")};
-
- EXPECT_EQ(std::string(result), "0ab");
- free((void*)result); // this will be done by javascript side in real scenario
-}
-