From db754dca4d8fb2811b5c89e0a6a6e485a1aca019 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Sun, 23 Dec 2012 15:56:13 +0100 Subject: [PATCH] Add unit test to check that nested config options work --- t/custom_gcode.t | 57 +++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/t/custom_gcode.t b/t/custom_gcode.t index ea36c0cf1..69ab8fac8 100644 --- a/t/custom_gcode.t +++ b/t/custom_gcode.t @@ -1,4 +1,4 @@ -use Test::More tests => 1; +use Test::More tests => 2; use strict; use warnings; @@ -10,32 +10,43 @@ BEGIN { use Slic3r; use Slic3r::Test; -my $config = Slic3r::Config->new_from_defaults; - -my $test = sub { - my ($conf) = @_; - $conf ||= $config; +{ + my $config = Slic3r::Config->new_from_defaults; - my $print = Slic3r::Test::init_print('2x20x10', config => $conf); - - my $last_move_was_z_change = 0; - Slic3r::Test::GCodeReader->new(gcode => Slic3r::Test::gcode($print))->parse(sub { - my ($self, $cmd, $args, $info) = @_; + my $test = sub { + my ($conf) = @_; + $conf ||= $config; - if ($last_move_was_z_change && $cmd ne $config->layer_gcode) { - fail 'custom layer G-code was not applied after Z change'; - } - if (!$last_move_was_z_change && $cmd eq $config->layer_gcode) { - fail 'custom layer G-code was not applied after Z change'; - } + my $print = Slic3r::Test::init_print('2x20x10', config => $conf); - $last_move_was_z_change = (defined $info->{dist_Z} && $info->{dist_Z} > 0); - }); + my $last_move_was_z_change = 0; + Slic3r::Test::GCodeReader->new(gcode => Slic3r::Test::gcode($print))->parse(sub { + my ($self, $cmd, $args, $info) = @_; + + if ($last_move_was_z_change && $cmd ne $config->layer_gcode) { + fail 'custom layer G-code was not applied after Z change'; + } + if (!$last_move_was_z_change && $cmd eq $config->layer_gcode) { + fail 'custom layer G-code was not applied after Z change'; + } + + $last_move_was_z_change = (defined $info->{dist_Z} && $info->{dist_Z} > 0); + }); + + 1; + }; - 1; -}; + $config->set('layer_gcode', '_MY_CUSTOM_GCODE_'); + ok $test->(), "custom layer G-code is applied after Z move and before other moves"; +} -$config->set('layer_gcode', '_MY_CUSTOM_GCODE_'); -ok $test->(), "custom layer G-code is applied after Z move and before other moves"; +#========================================================== + +{ + my $config = Slic3r::Config->new_from_defaults; + is $config->replace_options('[temperature_[foo]]', { foo => '0' }), + 200, + "nested config options"; +} __END__