blob: 1e59d0ed29944114dfab53416e0b817bb5f1b49c [file] [log] [blame]
#include <rive/file.hpp>
#include <rive/node.hpp>
#include <rive/shapes/rectangle.hpp>
#include <rive/shapes/shape.hpp>
#include <rive/shapes/paint/stroke.hpp>
#include <rive/shapes/paint/solid_color.hpp>
#include <rive/shapes/paint/color.hpp>
#include <utils/no_op_renderer.hpp>
#include "rive_file_reader.hpp"
#include <catch.hpp>
#include <cstdio>
TEST_CASE("A 0 scale path will trim with no crash", "[file]")
{
auto file = ReadRiveFile("../../test/assets/trim.riv");
auto artboard = file->artboard();
auto node = artboard->find<rive::Node>("I");
REQUIRE(node != nullptr);
REQUIRE(node->scaleX() != 0);
REQUIRE(node->scaleY() != 0);
artboard->advance(0.0f);
rive::NoOpRenderer renderer;
artboard->draw(&renderer);
// Now set scale to 0 and make sure it doesn't crash.
node->scaleX(0.0f);
node->scaleY(0.0f);
artboard->advance(0.0f);
artboard->draw(&renderer);
}