summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'testdata')
-rw-r--r--testdata/dxf/null-polygons.dxf (renamed from testdata/scad/features/null-polygons.dxf)0
-rw-r--r--testdata/scad/dxf/null-polygons.scad2
-rw-r--r--testdata/scad/features/null-polygons.scad2
-rw-r--r--testdata/scad/functions/len-tests.scad12
-rw-r--r--testdata/scad/minimal/allfunctions.scad1
-rw-r--r--testdata/scad/misc/dim-all.dxf (renamed from testdata/scad/features/dim-all.dxf)0
-rw-r--r--testdata/scad/misc/dim-all.scad (renamed from testdata/scad/features/dim-all.scad)0
-rw-r--r--testdata/scad/misc/dxf-export.scad (renamed from testdata/scad/features/dxf-export.scad)0
-rw-r--r--testdata/scad/misc/string-indexing.scad17
-rw-r--r--testdata/scad/misc/string-test.scad (renamed from testdata/scad/features/string-test.scad)0
10 files changed, 32 insertions, 2 deletions
diff --git a/testdata/scad/features/null-polygons.dxf b/testdata/dxf/null-polygons.dxf
index 390e42e..390e42e 100644
--- a/testdata/scad/features/null-polygons.dxf
+++ b/testdata/dxf/null-polygons.dxf
diff --git a/testdata/scad/dxf/null-polygons.scad b/testdata/scad/dxf/null-polygons.scad
new file mode 100644
index 0000000..349ab6a
--- /dev/null
+++ b/testdata/scad/dxf/null-polygons.scad
@@ -0,0 +1,2 @@
+linear_extrude(height=1) import_dxf("../../dxf/null-polygons.dxf");
+translate([0,20,0]) linear_extrude("../../dxf/null-polygons.dxf", height=1);
diff --git a/testdata/scad/features/null-polygons.scad b/testdata/scad/features/null-polygons.scad
deleted file mode 100644
index 4849c15..0000000
--- a/testdata/scad/features/null-polygons.scad
+++ /dev/null
@@ -1,2 +0,0 @@
-linear_extrude() import_dxf("null-polygons.dxf");
-linear_extrude("null-polygons.dxf");
diff --git a/testdata/scad/functions/len-tests.scad b/testdata/scad/functions/len-tests.scad
new file mode 100644
index 0000000..fba7ae1
--- /dev/null
+++ b/testdata/scad/functions/len-tests.scad
@@ -0,0 +1,12 @@
+a=[1,2,3,4];
+b="abcd";
+c=[];
+d="";
+e=[[1,2,3,4],[1,2,3]];
+echo(len(a));
+echo(len(b));
+echo(len(c));
+echo(len(d));
+echo(len(e));
+echo(len(e[1]));
+echo(len(e[2])); \ No newline at end of file
diff --git a/testdata/scad/minimal/allfunctions.scad b/testdata/scad/minimal/allfunctions.scad
index ef21a90..2aebe54 100644
--- a/testdata/scad/minimal/allfunctions.scad
+++ b/testdata/scad/minimal/allfunctions.scad
@@ -24,3 +24,4 @@ a = dxf_dim();
a = dxf_cross();
a = version();
a = version_num();
+a = len();
diff --git a/testdata/scad/features/dim-all.dxf b/testdata/scad/misc/dim-all.dxf
index 6ae7610..6ae7610 100644
--- a/testdata/scad/features/dim-all.dxf
+++ b/testdata/scad/misc/dim-all.dxf
diff --git a/testdata/scad/features/dim-all.scad b/testdata/scad/misc/dim-all.scad
index 454ed11..454ed11 100644
--- a/testdata/scad/features/dim-all.scad
+++ b/testdata/scad/misc/dim-all.scad
diff --git a/testdata/scad/features/dxf-export.scad b/testdata/scad/misc/dxf-export.scad
index 7f4b8cb..7f4b8cb 100644
--- a/testdata/scad/features/dxf-export.scad
+++ b/testdata/scad/misc/dxf-export.scad
diff --git a/testdata/scad/misc/string-indexing.scad b/testdata/scad/misc/string-indexing.scad
new file mode 100644
index 0000000..3dc31c9
--- /dev/null
+++ b/testdata/scad/misc/string-indexing.scad
@@ -0,0 +1,17 @@
+test = "test";
+
+// Correct usage cases
+for(i = [0:len(test)-1]) {
+ echo(test[i]);
+}
+
+// Out of bounds
+echo(test[-1]);
+echo(test[len(test)]);
+
+// Invalid index type
+echo(test["test"]);
+echo(test[true]);
+echo(test[false]);
+echo(test[[0]]);
+echo(test[1.7]); \ No newline at end of file
diff --git a/testdata/scad/features/string-test.scad b/testdata/scad/misc/string-test.scad
index 5ec4cfb..5ec4cfb 100644
--- a/testdata/scad/features/string-test.scad
+++ b/testdata/scad/misc/string-test.scad
contact: Jan Huwald // Impressum