summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Pitcher <bradpitcher@gmail.com>2011-11-13 20:15:28 (GMT)
committerBrad Pitcher <bradpitcher@gmail.com>2011-11-13 20:15:28 (GMT)
commitaf2d4223df8640dea8a7d5a79db1d89aab392269 (patch)
tree7a66364294a6d2f3b0a788e4e586c9e41f471e05
parentdcf4b83306d0ebf50a43aedba4f2be1c169a7152 (diff)
string indexing tests
-rw-r--r--testdata/scad/misc/string-indexing.scad17
-rw-r--r--tests/CMakeLists.txt3
-rw-r--r--tests/regression/echotest/string-indexing-expected.txt11
3 files changed, 30 insertions, 1 deletions
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/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 31420b3..5eb03eb 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -396,7 +396,8 @@ list(APPEND ECHO_FILES ${FUNCTION_FILES}
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/parser-tests.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/builtin-tests.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/dim-all.scad
- ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/string-test.scad)
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/string-test.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/string-indexing.scad)
# Add echotest tests to CTest
add_cmdline_test(echotest txt ${ECHO_FILES})
diff --git a/tests/regression/echotest/string-indexing-expected.txt b/tests/regression/echotest/string-indexing-expected.txt
new file mode 100644
index 0000000..3fcdfa4
--- /dev/null
+++ b/tests/regression/echotest/string-indexing-expected.txt
@@ -0,0 +1,11 @@
+ECHO: "t"
+ECHO: "e"
+ECHO: "s"
+ECHO: "t"
+ECHO: undef
+ECHO: undef
+ECHO: undef
+ECHO: undef
+ECHO: undef
+ECHO: undef
+ECHO: "e"
contact: Jan Huwald // Impressum