summaryrefslogtreecommitdiff
path: root/test/libapt/sourcelist_test.cc
blob: 9441f56be5457b86088a777e93610b128b12794a (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
#include <config.h>

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

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

#include <gtest/gtest.h>

#include "file-helpers.h"

TEST(SourceListTest,ParseFileDeb822)
{
   FileFd fd;
   std::string tempfile;
   createTemporaryFile("parsefiledeb822.XXXXXX.sources", fd, &tempfile,
      "Types: deb\n"
      "URIs: http://ftp.debian.org/debian\n"
      "Suites: stable\n"
      "Components: 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"
      "Components: main non-free\n");
   fd.Close();

   pkgSourceList sources;
   EXPECT_EQ(true, sources.Read(tempfile));
   EXPECT_EQ(2u, sources.size());

   if (tempfile.empty() == false)
      unlink(tempfile.c_str());
}