File: test_simple.cpp

package info (click to toggle)
graphviz 14.0.5-2
  • links: PTS
  • area: main
  • in suites: forky
  • size: 139,388 kB
  • sloc: ansic: 141,938; cpp: 11,957; python: 7,766; makefile: 4,043; yacc: 3,030; xml: 2,972; tcl: 2,495; sh: 1,388; objc: 1,159; java: 560; lex: 423; perl: 243; awk: 156; pascal: 139; php: 58; ruby: 49; cs: 31; sed: 1
file content (41 lines) | stat: -rw-r--r-- 769 bytes parent folder | download | duplicates (2)
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
#include <cstddef>
#include <string_view>

#include <catch2/catch_all.hpp>

#include <cgraph/cgraph.h>
#include <gvc/gvc.h>

TEST_CASE("digraph without any nodes") {
  auto gvc = gvContextPlugins(lt_preloaded_symbols, false);

  auto dot = "digraph {}";
  auto g = agmemread(dot);

  REQUIRE(g != nullptr);

  {
    const auto rc = gvLayout(gvc, g, "dot");

    REQUIRE(rc == 0);
  }

  char *result = nullptr;
  size_t length = 0;
  {
    const auto rc = gvRenderData(gvc, g, "svg", &result, &length);

    REQUIRE(rc == 0);
  }

  REQUIRE(result != nullptr);
  REQUIRE(length > 0);

  REQUIRE(std::string_view(result, length).find("svg") !=
          std::string_view::npos);

  gvFreeRenderData(result);
  gvFreeLayout(gvc, g);
  agclose(g);
  gvFreeContext(gvc);
}