summaryrefslogtreecommitdiff
path: root/test/libapt/sourcelist_test.cc
blob: 747ab4957f7eb374616ef00b1a6251aeb433ee63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <config.h>

#include <apt-pkg/sourcelist.h>
#include <apt-pkg/fileutl.h>

#include <string>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

#include <gtest/gtest.h>

#include "file-helpers.h"

class SourceList : public pkgSourceList {
   public:
      using pkgSourceList::ParseFileDeb822;
};

TEST(SourceListTest,ParseFileDeb822)
{
   FileFd fd;
   char * tempfile = NULL;
   createTemporaryFile("parsefiledeb822", fd, &tempfile,
      "Types: deb\n"
      "URIs: http://ftp.debian.org/debian\n"
      "Suites: stable\n"
      "Sections: main\n"
      "Description: short\n"
      " long description that can be very long\n"
      "\n"
      "Types: deb\n"
      "URIs: http://ftp.debian.org/debian\n"
      "Suites: unstable\n"
      "Sections: main non-free\n");
   fd.Close();

   SourceList sources;
   EXPECT_EQ(2, sources.ParseFileDeb822(tempfile));
   EXPECT_EQ(2, sources.size());

   unlink(tempfile);
}