Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorAlessandro Ranellucci <aar@cpan.org>2015-01-05 22:07:47 +0300
committerAlessandro Ranellucci <aar@cpan.org>2015-01-05 22:07:47 +0300
commit3332282767248b6ceecc21d05cd35ccef7b09c8c (patch)
treefdce41ef7c935156345ef55bef6b624a07576041 /t
parent47e4e8bb66740af791e56b36f0ecb67143a94b3b (diff)
Unit test for pressure advance. #2470
Diffstat (limited to 't')
-rw-r--r--t/pressure.t39
1 files changed, 39 insertions, 0 deletions
diff --git a/t/pressure.t b/t/pressure.t
new file mode 100644
index 000000000..fe4f05fb7
--- /dev/null
+++ b/t/pressure.t
@@ -0,0 +1,39 @@
+use Test::More tests => 1;
+use strict;
+use warnings;
+
+BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+}
+
+use List::Util qw();
+use Slic3r;
+use Slic3r::Geometry qw();
+use Slic3r::Test;
+
+{
+ my $config = Slic3r::Config->new_from_defaults;
+ $config->set('pressure_advance', 10);
+ $config->set('retract_length', [1]);
+
+ my $print = Slic3r::Test::init_print('20mm_cube', config => $config, duplicate => 2);
+ my $retracted = 0;
+ my $extruding_before_full_unretract = 0;
+ Slic3r::GCode::Reader->new->parse(Slic3r::Test::gcode($print), sub {
+ my ($self, $cmd, $args, $info) = @_;
+
+ if ($info->{extruding} && $info->{dist_XY}) {
+ $extruding_before_full_unretract if $retracted != 0;
+ } elsif ($info->{extruding}) {
+ $retracted += -$info->{dist_E};
+ } elsif ($info->{retracting}) {
+ $retracted += -$info->{dist_E};
+ }
+ });
+
+ ok !$extruding_before_full_unretract, 'not extruding before complete unretract';
+}
+
+
+__END__