Move Editor class from verify_test.cc to test.cc
[libdcp.git] / test / verify_test.cc
index bc76de753b388b786c8eba8dfd6a9c0a845cc7e9..d7d9aaaec335184c2e285de14f45aec76aede82e 100644 (file)
@@ -153,135 +153,6 @@ write_dcp_with_single_asset (path dir, shared_ptr<dcp::ReelAsset> reel_asset, dc
 }
 
 
-/** Class that can alter a file by searching and replacing strings within it.
- *  On destruction modifies the file whose name was given to the constructor.
- */
-class Editor
-{
-public:
-       Editor (path path)
-               : _path(path)
-       {
-               _content = dcp::file_to_string (_path);
-       }
-
-       ~Editor ()
-       {
-               auto f = fopen(_path.string().c_str(), "w");
-               BOOST_REQUIRE (f);
-               fwrite (_content.c_str(), _content.length(), 1, f);
-               fclose (f);
-       }
-
-       class ChangeChecker
-       {
-       public:
-               ChangeChecker(Editor* editor)
-                       : _editor(editor)
-               {
-                       _old_content = _editor->_content;
-               }
-
-               ~ChangeChecker()
-               {
-                       BOOST_REQUIRE(_old_content != _editor->_content);
-               }
-       private:
-               Editor* _editor;
-               std::string _old_content;
-       };
-
-       void replace (string a, string b)
-       {
-               ChangeChecker cc(this);
-               boost::algorithm::replace_all (_content, a, b);
-       }
-
-       void delete_first_line_containing (string s)
-       {
-               ChangeChecker cc(this);
-               auto lines = as_lines();
-               _content = "";
-               bool done = false;
-               for (auto i: lines) {
-                       if (i.find(s) == string::npos || done) {
-                               _content += i + "\n";
-                       } else {
-                               done = true;
-                       }
-               }
-       }
-
-       void delete_lines (string from, string to)
-       {
-               ChangeChecker cc(this);
-               auto lines = as_lines();
-               bool deleting = false;
-               _content = "";
-               for (auto i: lines) {
-                       if (i.find(from) != string::npos) {
-                               deleting = true;
-                       }
-                       if (!deleting) {
-                               _content += i + "\n";
-                       }
-                       if (deleting && i.find(to) != string::npos) {
-                               deleting = false;
-                       }
-               }
-       }
-
-       void insert (string after, string line)
-       {
-               ChangeChecker cc(this);
-               auto lines = as_lines();
-               _content = "";
-               bool replaced = false;
-               for (auto i: lines) {
-                       _content += i + "\n";
-                       if (!replaced && i.find(after) != string::npos) {
-                               _content += line + "\n";
-                               replaced = true;
-                       }
-               }
-       }
-
-       void delete_lines_after(string after, int lines_to_delete)
-       {
-               ChangeChecker cc(this);
-               auto lines = as_lines();
-               _content = "";
-               auto iter = std::find_if(lines.begin(), lines.end(), [after](string const& line) {
-                       return line.find(after) != string::npos;
-               });
-               int to_delete = 0;
-               for (auto i = lines.begin(); i != lines.end(); ++i) {
-                       if (i == iter) {
-                               to_delete = lines_to_delete;
-                               _content += *i + "\n";
-                       } else if (to_delete == 0) {
-                               _content += *i + "\n";
-                       } else {
-                               --to_delete;
-                       }
-               }
-       }
-
-private:
-       friend class ChangeChecker;
-
-       vector<string> as_lines() const
-       {
-               vector<string> lines;
-               boost::algorithm::split(lines, _content, boost::is_any_of("\r\n"), boost::token_compress_on);
-               return lines;
-       }
-
-       path _path;
-       std::string _content;
-};
-
-
 LIBDCP_DISABLE_WARNINGS
 static
 void