mirror of https://gitlab.com/cppit/jucipp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.5 KiB
43 lines
1.5 KiB
#include "terminal.h" |
|
#include <glib.h> |
|
#include <gtksourceviewmm.h> |
|
|
|
//Requires display server to work |
|
//However, it is possible to use the Broadway backend if the test is run in a pure terminal environment: |
|
//broadwayd& |
|
//make test |
|
|
|
int main() { |
|
auto app = Gtk::Application::create(); |
|
Gsv::init(); |
|
|
|
{ |
|
auto link = Terminal::get().find_link("~/test/test.cc:7:41: error: expected ';' after expression."); |
|
assert(std::get<0>(link) == 0); |
|
assert(std::get<1>(link) == 19); |
|
assert(std::get<2>(link) == "~/test/test.cc"); |
|
assert(std::get<3>(link) == "7"); |
|
assert(std::get<4>(link) == "41"); |
|
} |
|
{ |
|
auto link = Terminal::get().find_link("Assertion failed: (false), function main, file ~/test/test.cc, line 15."); |
|
assert(std::get<0>(link) == 47); |
|
assert(std::get<1>(link) == 70); |
|
assert(std::get<2>(link) == "~/test/test.cc"); |
|
assert(std::get<3>(link) == "15"); |
|
} |
|
{ |
|
auto link = Terminal::get().find_link("test: ~/examples/main.cpp:17: int main(int, char**): Assertion `false' failed."); |
|
assert(std::get<0>(link) == 6); |
|
assert(std::get<1>(link) == 28); |
|
assert(std::get<2>(link) == "~/examples/main.cpp"); |
|
assert(std::get<3>(link) == "17"); |
|
} |
|
{ |
|
auto link = Terminal::get().find_link("ERROR:~/test/test.cc:36:int main(): assertion failed: (false)"); |
|
assert(std::get<0>(link) == 6); |
|
assert(std::get<1>(link) == 23); |
|
assert(std::get<2>(link) == "~/test/test.cc"); |
|
assert(std::get<3>(link) == "36"); |
|
} |
|
}
|
|
|