diff options
Diffstat (limited to 'testdata')
| -rw-r--r-- | testdata/modulecache-tests/README.txt | 31 | ||||
| -rw-r--r-- | testdata/modulecache-tests/includemissing.scad | 2 | ||||
| -rw-r--r-- | testdata/modulecache-tests/includemissingsub.scad | 2 | ||||
| -rw-r--r-- | testdata/scad/features/background-modifier.scad | 5 | ||||
| -rw-r--r-- | testdata/scad/features/highlight-and-background-modifier.scad | 31 | ||||
| -rw-r--r-- | testdata/scad/features/highlight-modifier.scad | 5 | ||||
| -rw-r--r-- | testdata/scad/features/linear_extrude-scale-tests.scad | 17 | ||||
| -rw-r--r-- | testdata/scad/features/linear_extrude-scale-zero-tests.scad | 56 | ||||
| -rw-r--r-- | testdata/scad/features/linear_extrude-tests.scad | 11 | 
9 files changed, 136 insertions, 24 deletions
| diff --git a/testdata/modulecache-tests/README.txt b/testdata/modulecache-tests/README.txt index 277cff8..ce341ca 100644 --- a/testdata/modulecache-tests/README.txt +++ b/testdata/modulecache-tests/README.txt @@ -72,10 +72,39 @@ o Compile (F5) - Verify that you get a circular disc  o Edit radius.scad: Change RADIUS  o Compile (F5) - Verify that the disc changed size -Test9: Circular include +Test10: Circular include  ------  o Open circularincludemain.scad  o Compile (F5)  o Verify that OpenSCAD won't hang or crash +Test11: Missing include file appears +------ +o rm missing.scad +o Open includemissing.scad +o Compile (F5) +o Verify that you get: WARNING: Can't open 'use' file 'missing.scad'. +o echo "module missing() { sphere(10); }" >  missing.scad +o rm missing.scad +o Reload and Compile (F4) - verify that the sphere is gone + +Test12: Missing include file in subpath appears +------ +o rm subdir/missingsub.scad +o Open includemissingsub.scad +o Compile (F5) +o Verify that you get: WARNING: Can't open include file 'subdir/missingsub.scad'. +o echo "module missingsub() { sphere(10); }" >  subdir/missingsub.scad +o rm subdir/missingsub.scad +o Reload and Compile (F4) - verify that the sphere is gone + +Test13: Missing library file appears +------- +o rm missing.scad +o Open usemissing.scad +o Compile (F5) +o Verify that you get: WARNING: Can't open 'use' file 'missing.scad'. +o echo "module missing() { sphere(10); }" >  missing.scad +o rm missing.scad +o Compile (F5) - verify that the sphere is gone diff --git a/testdata/modulecache-tests/includemissing.scad b/testdata/modulecache-tests/includemissing.scad new file mode 100644 index 0000000..d8a165f --- /dev/null +++ b/testdata/modulecache-tests/includemissing.scad @@ -0,0 +1,2 @@ +include <missing.scad> +missing(); diff --git a/testdata/modulecache-tests/includemissingsub.scad b/testdata/modulecache-tests/includemissingsub.scad new file mode 100644 index 0000000..50acffe --- /dev/null +++ b/testdata/modulecache-tests/includemissingsub.scad @@ -0,0 +1,2 @@ +include <subdir/missingsub.scad> +missingsub(); diff --git a/testdata/scad/features/background-modifier.scad b/testdata/scad/features/background-modifier.scad index 5430472..d67270e 100644 --- a/testdata/scad/features/background-modifier.scad +++ b/testdata/scad/features/background-modifier.scad @@ -3,3 +3,8 @@ difference() {    %cylinder(h=30, r=6, center=true);  }  %if (true) cube([25,6,3], center=true); + +%translate([0,-9,0]) difference() { +  color("green") cube([10,4,10], center=true); +  color("red") translate([0,-2,0]) sphere(3); +} diff --git a/testdata/scad/features/highlight-and-background-modifier.scad b/testdata/scad/features/highlight-and-background-modifier.scad index 5dca703..d97408b 100644 --- a/testdata/scad/features/highlight-and-background-modifier.scad +++ b/testdata/scad/features/highlight-and-background-modifier.scad @@ -1,10 +1,31 @@  difference() {    sphere(r=10);    %#cylinder(h=30, r=6, center=true); -  %#if (true) cube([6,25,3], center=true); +  %#if (true) cube([25,6,3], center=true);  } -translate([13,0,0]) difference() { -  sphere(r=10); -  #%cylinder(h=30, r=6, center=true); -  #%if (true) cube([6,25,3], center=true); +%#translate([0,-9,0]) difference() { +  color("green") cube([10,4,10], center=true); +  color("red") translate([0,-2,0]) sphere(3); +} +%translate([13,0,0]){ +  difference() { +    sphere(r=10); +    cylinder(h=30, r=6, center=true); +    if (true) cube([25,6,3], center=true); +  } +  #translate([0,-9,0]) difference() { +    color("green") cube([10,4,10], center=true); +    color("red") translate([0,-2,0]) sphere(3); +  } +} +#translate([26,0,0]){ +  difference() { +    sphere(r=10); +    cylinder(h=30, r=6, center=true); +    if (true) cube([25,6,3], center=true); +  } +  %translate([0,-9,0]) difference() { +    color("green") cube([10,4,10], center=true); +    color("red") translate([0,-2,0]) sphere(3); +  }  } diff --git a/testdata/scad/features/highlight-modifier.scad b/testdata/scad/features/highlight-modifier.scad index f228d08..2141f58 100644 --- a/testdata/scad/features/highlight-modifier.scad +++ b/testdata/scad/features/highlight-modifier.scad @@ -3,3 +3,8 @@ difference() {    #cylinder(h=30, r=6, center=true);  }  #if (true) cube([25,6,3], center=true); + +#translate([0,-9,0]) difference() { +  color("green") cube([10,4,10], center=true); +  color("red") translate([0,-2,0]) sphere(3); +} diff --git a/testdata/scad/features/linear_extrude-scale-tests.scad b/testdata/scad/features/linear_extrude-scale-tests.scad deleted file mode 100644 index 9a82c9d..0000000 --- a/testdata/scad/features/linear_extrude-scale-tests.scad +++ /dev/null @@ -1,17 +0,0 @@ -difference() { -    linear_extrude(height=40, scale=[0, 0]) { -        square(10, center=true); -        translate([10,0]) circle(10); -    } - translate([0,0,35])   sphere(10); -} - -/* -Test case ideas: -o off-center starting point -o Concave polygon -o Disjoint polygons -o multi-rotation twist -o zero scales, zero scales in only one axis (for the above cases) -o boolean operations on scaled extrusion (including zero scale) -*/ diff --git a/testdata/scad/features/linear_extrude-scale-zero-tests.scad b/testdata/scad/features/linear_extrude-scale-zero-tests.scad new file mode 100644 index 0000000..8a85203 --- /dev/null +++ b/testdata/scad/features/linear_extrude-scale-zero-tests.scad @@ -0,0 +1,56 @@ +// test cases for linear extrude with scale +// by TakeItAndRun 2013 + +// syntax: linear_extrude(height=a, slices=b, twist=c, scale=[x,y]) + +a=3; +b=20; +c=0; +x=1; +y=1; + +module linear_extrudes_of_different_shapes(a=a,b=b,c=c,x=x,y=y) { +  translate(00*[4,0,0]) +  // linear_extrude of shape with hole +  linear_extrude(height=a, slices=b, twist=c, scale=[x,y]) +    difference() { +      square(2,true); square(1,true); +    } +   +  translate(01*[4,0,0]) +  // linear_extrude of disjoint polygons shapes +  linear_extrude(height=a, slices=b, twist=c, scale=[x,y]) { +    translate([1,0,0]) square(1,true); +    translate([-1,0,0]) square(1,true); +  } +   +  translate(02*[4,0,0]) +  // linear_extrude with a coplanar face +  linear_extrude(height=a, slices=b, twist=c, scale=[x,y]) { +    translate([.5,0,0])square(); +    translate([-.5,0,0])square(); +  } +   +  translate(03*[4,0,0]) +  // linear_extrude with internal hole and one coplanar edge +  linear_extrude(height=a, slices=b, twist=c, scale=[x,y]) +  difference() { +    square(2,true); +    translate([-0.5,0,0]) square(1,true); +  } +} + + +// Test varying parameters +translate(00*[0,3,0]) +linear_extrudes_of_different_shapes(c=0,x=0,y=y); +translate(01*[0,3,0]) +linear_extrudes_of_different_shapes(c=0,x=x,y=0); +translate(02*[0,3,0]) +linear_extrudes_of_different_shapes(c=0,x=0,y=0); +translate(03*[0,3,0]) +linear_extrudes_of_different_shapes(c=180,x=0,y=y); +translate(04*[0,3,0]) +linear_extrudes_of_different_shapes(c=180,x=x,y=0); +translate(05*[0,3,0]) +linear_extrudes_of_different_shapes(c=180,x=0,y=0); diff --git a/testdata/scad/features/linear_extrude-tests.scad b/testdata/scad/features/linear_extrude-tests.scad index 67d892f..528eea2 100644 --- a/testdata/scad/features/linear_extrude-tests.scad +++ b/testdata/scad/features/linear_extrude-tests.scad @@ -12,4 +12,13 @@ translate([31.5,2.5,0]) linear_extrude(height=10, twist=-45) polygon(points = [[  translate([0,20,0]) linear_extrude(height=20, twist=45, slices=2) square([10,10]);  translate([19,20,0]) linear_extrude(height=20, twist=45, slices=10) square([10,10]); -translate([-15,0,0]) linear_extrude(5) square([10,10]); +translate([0,-15,0]) linear_extrude(5) square([10,10]); + +// scale given as a scalar +translate([-25,-10,0]) linear_extrude(height=10, scale=2) square(5, center=true); +// scale given as a 3-dim vector +translate([-15,20,0]) linear_extrude(height=20, scale=[4,5,6]) square(10); +// scale is negative +translate([-10,5,0]) linear_extrude(height=15, scale=-2) square(10, center=true); +// scale given as undefined +translate([-15,-15,0]) linear_extrude(height=10, scale=var_undef) square(10); | 
