mirror of
https://github.com/dankamongmen/notcurses
synced 2025-03-10 01:29:05 -04:00
tester: enable Visual tests #325
This commit is contained in:
parent
26a68096c8
commit
0bab14f654
@ -45,7 +45,7 @@ tria_blit_ascii(ncplane* nc, int placey, int placex, int linesize,
|
||||
}else{
|
||||
cell_set_fg_rgb(c, rgbbase_up[rpos], rgbbase_up[1], rgbbase_up[bpos]);
|
||||
cell_set_bg_rgb(c, rgbbase_up[rpos], rgbbase_up[1], rgbbase_up[bpos]);
|
||||
if(cell_load(nc, c, "X") <= 0){
|
||||
if(cell_load(nc, c, " ") <= 0){
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
@ -594,6 +594,7 @@ nc_err_e ncvisual_decode(ncvisual* nc){
|
||||
|
||||
static ncvisual*
|
||||
ncvisual_open(const char* filename, nc_err_e* ncerr){
|
||||
*ncerr = NCERR_SUCCESS;
|
||||
ncvisual* ncv = ncvisual_create(1);
|
||||
if(ncv == nullptr){
|
||||
// fprintf(stderr, "Couldn't create %s (%s)\n", filename, strerror(errno));
|
||||
@ -603,15 +604,14 @@ ncvisual_open(const char* filename, nc_err_e* ncerr){
|
||||
memset(ncv, 0, sizeof(*ncv));
|
||||
int averr = avformat_open_input(&ncv->fmtctx, filename, nullptr, nullptr);
|
||||
if(averr < 0){
|
||||
// fprintf(stderr, "Couldn't open %s (%s)\n", filename, av_err2str(*averr));
|
||||
//fprintf(stderr, "Couldn't open %s (%d)\n", filename, averr);
|
||||
*ncerr = averr2ncerr(averr);
|
||||
ncvisual_destroy(ncv);
|
||||
return nullptr;
|
||||
}
|
||||
averr = avformat_find_stream_info(ncv->fmtctx, nullptr);
|
||||
if(averr < 0){
|
||||
/*fprintf(stderr, "Error extracting stream info from %s (%s)\n", filename,
|
||||
av_err2str(*averr));*/
|
||||
//fprintf(stderr, "Error extracting stream info from %s (%d)\n", filename, averr);
|
||||
*ncerr = averr2ncerr(averr);
|
||||
ncvisual_destroy(ncv);
|
||||
return nullptr;
|
||||
@ -707,7 +707,7 @@ ncvisual* ncplane_visual_open(ncplane* nc, const char* filename, nc_err_e* ncerr
|
||||
}
|
||||
|
||||
ncvisual* ncvisual_from_file(notcurses* nc, const char* filename,
|
||||
nc_err_e* ncerr, int y, int x, ncscale_e style){
|
||||
nc_err_e* ncerr, int y, int x, ncscale_e style){
|
||||
ncvisual* ncv = ncvisual_open(filename, ncerr);
|
||||
if(ncv == nullptr){
|
||||
return nullptr;
|
||||
@ -727,6 +727,7 @@ ncvisual* ncvisual_from_file(notcurses* nc, const char* filename,
|
||||
// up playback.
|
||||
int ncvisual_stream(notcurses* nc, ncvisual* ncv, nc_err_e* ncerr,
|
||||
float timescale, streamcb streamer, void* curry){
|
||||
*ncerr = NCERR_SUCCESS;
|
||||
int frame = 1;
|
||||
ncv->timescale = timescale;
|
||||
struct timespec begin; // time we started
|
||||
@ -850,6 +851,7 @@ bool notcurses_canopen(const notcurses* nc __attribute__ ((unused))){
|
||||
|
||||
static ncvisual*
|
||||
ncvisual_open(const char* filename, nc_err_e* err){
|
||||
*ncerr = NCERR_SUCCESS;
|
||||
ncvisual* ncv = ncvisual_create(1);
|
||||
if(ncv == nullptr){
|
||||
*err = NCERR_NOMEM;
|
||||
@ -985,6 +987,7 @@ nc_err_e ncvisual_decode(ncvisual* nc){
|
||||
|
||||
int ncvisual_stream(struct notcurses* nc, struct ncvisual* ncv, nc_err_e* ncerr,
|
||||
float timescale, streamcb streamer, void* curry){
|
||||
*ncerr = NCERR_SUCCESS;
|
||||
int frame = 1;
|
||||
ncv->timescale = timescale;
|
||||
struct timespec begin; // time we started
|
||||
|
@ -1,13 +1,10 @@
|
||||
#include "main.h"
|
||||
#include <vector>
|
||||
|
||||
TEST_CASE("Multimedia") {
|
||||
TEST_CASE("Visual") {
|
||||
if(getenv("TERM") == nullptr){
|
||||
return;
|
||||
}
|
||||
if(!enforce_utf8()){
|
||||
return;
|
||||
}
|
||||
notcurses_options nopts{};
|
||||
nopts.inhibit_alternate_screen = true;
|
||||
nopts.suppress_banner = true;
|
||||
@ -133,7 +130,7 @@ TEST_CASE("Multimedia") {
|
||||
std::vector<uint32_t> rgba(dimx * dimy * 2, 0x88bbccff);
|
||||
auto ncv = ncvisual_from_rgba(nc_, rgba.data(), dimy * 2, dimx * 4, dimx);
|
||||
REQUIRE(ncv);
|
||||
CHECK(dimx * dimy == ncvisual_render(ncv, 0, 0, -1, -1));
|
||||
CHECK(0 < ncvisual_render(ncv, 0, 0, -1, -1));
|
||||
CHECK(0 == notcurses_render(nc_));
|
||||
ncvisual_destroy(ncv);
|
||||
CHECK(0 == notcurses_render(nc_));
|
||||
@ -145,7 +142,7 @@ TEST_CASE("Multimedia") {
|
||||
std::vector<uint32_t> rgba(dimx * dimy * 2, 0x88bbccff);
|
||||
auto ncv = ncvisual_from_bgra(nc_, rgba.data(), dimy * 2, dimx * 4, dimx);
|
||||
REQUIRE(ncv);
|
||||
CHECK(dimx * dimy == ncvisual_render(ncv, 0, 0, -1, -1));
|
||||
CHECK(0 < ncvisual_render(ncv, 0, 0, -1, -1));
|
||||
CHECK(0 == notcurses_render(nc_));
|
||||
ncvisual_destroy(ncv);
|
||||
CHECK(0 == notcurses_render(nc_));
|
||||
|
Loading…
x
Reference in New Issue
Block a user