#include <iostream>#include <fstream>#include <string>#include <stdio.h>#include <string.h>#include <unistd.h>#include "Logger.h"#include "Article.h"Go to the source code of this file.
Functions | |
| int | checkArticle (const char *artfn) |
| int | main (int argc, char *argv[]) |
Variables | |
| char * | articleList [] = { "article5283", "article9621", "article9622" } |
| Logger | slog |
| Article | art1 |
|
|
Definition at line 19 of file cArticle.cc. References art1, Article::c_str(), Article::getfield(), Article::has_field(), Article::length(), Article::read(), Article::setfield(), Article::settext(), and Article::write(). Referenced by main().
00020 {
00021 char buf[256];
00022 int la1;
00023 ifstream is;
00024 ofstream os;
00025 Article *art2;
00026
00027 sprintf(buf, "%s.in", artfn);
00028 is.open(buf);
00029 art1.read(is);
00030 is.close();
00031 la1 = art1.length();
00032
00033 art2 = new Article(art1);
00034 if (strcmp(art1.c_str(), art2->c_str()))
00035 return -11;
00036 if (la1 != art1.length() || la1 != art2->length())
00037 return -12;
00038
00039 art1.settext(art2->gettext());
00040 if (strcmp(art1.c_str(), art2->c_str()))
00041 return -21;
00042 if (la1 != art1.length() || la1 != art2->length())
00043 return -22;
00044
00045 strcpy(buf, artfn);
00046 strcat(buf, ".out");
00047 os.open(buf);
00048 art2->write(os);
00049 os.close();
00050
00051 sprintf(buf, "%s.in", artfn);
00052 is.open(buf);
00053 art1.read(is);
00054 is.close();
00055 la1 = art1.length();
00056
00057 delete art2;
00058 art2 = new Article(0, art1.c_str(), art1.length());
00059 if (strcmp(art1.c_str(), art2->c_str()))
00060 return -31;
00061 if (la1 != art1.length() || la1 != art2->length())
00062 return -32;
00063
00064 if (!art1.has_field("from:"))
00065 return -41;
00066 if (!art2->has_field("FROM:"))
00067 return -42;
00068
00069 if (art1.has_field("foobar:"))
00070 return -51;
00071
00072 //Xref: news.tuwien.ac.at at.tuwien.admins:892 at.tuwien.tunet:1520 at.tuwien.general:5283 at.tuwien.edvz.neuigkeiten:531
00073
00074 if (art1.getfield("dummy:") != "dummy")
00075 return -61;
00076 if (art2->getfield("DuMmY:", 1) != "dummy: dummy")
00077 return -71;
00078
00079 art1.setfield("dummy:", "dummy: dummy2\r\n");
00080 art1.setfield("dummy2:", "dummy2: dummy2\r\n");
00081 if (!strcmp(art1.c_str(), art2->c_str()))
00082 return -81;
00083 if (la1 == art1.length())
00084 return -82;
00085 if (art1.getfield("dummy:") != "dummy2")
00086 return -83;
00087 if (art1.getfield("dummy2:") != "dummy2")
00088 return -84;
00089
00090 return 0;
00091 }
|
|
||||||||||||
|
Definition at line 93 of file cArticle.cc. References articleList, checkArticle(), and ef.
00094 {
00095 char **al = articleList;
00096 int e, ef = 0, i, j = sizeof(articleList) / sizeof(articleList[0]);
00097
00098 chdir(getenv("srcdir"));
00099 if (argc > 1) {
00100 al = argv + 1;
00101 j = argc - 1;
00102 }
00103
00104 cout << "cArticle:\n";
00105 for (i = 0; i < j; i++) {
00106 if ((e = checkArticle(al[i])) < 0) {
00107 cout << "checkArticle(" << al[i] <<
00108 ") failed with: " << e << endl;
00109 ef++;
00110 } else {
00111 cout << "checkArticle(" << al[i] <<
00112 ") succeeded\n";
00113 }
00114 }
00115 if (ef == 0) {
00116 cout << "cArticle: all tests succeeded\n";
00117 exit(0);
00118 } else {
00119 cout << "cArticle: " << ef << " failures\n";
00120 exit(-1);
00121 }
00122 }
|
|
|
Definition at line 17 of file cArticle.cc. Referenced by checkArticle(). |
|
|
Definition at line 14 of file cArticle.cc. Referenced by main(). |
|
1.3.6-20040222