summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-12-22 09:13:36 +0100
committerAndreas Rumpf <rumpf_a@web.de>2016-12-22 09:13:36 +0100
commit0f9d746da59606066be14c1821285466dcf60945 (patch)
tree6aecc11f265d9d42ff9c5b87263d4fee1cd3c0d5
parent7bd473c59b9c54aca18b85efd78d484e0306c7be (diff)
parent7ee3cdc88d246fd31d32fbda88355d07519eeb89 (diff)
downloadNim-0f9d746da59606066be14c1821285466dcf60945.tar.gz
Merge branch 'devel' of github.com:nim-lang/Nim into devel
-rw-r--r--lib/pure/strutils.nim2
-rw-r--r--tests/stdlib/tsplit2.nim19
2 files changed, 21 insertions, 0 deletions
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim
index 14877eb4d..8b5db49ed 100644
--- a/lib/pure/strutils.nim
+++ b/lib/pure/strutils.nim
@@ -808,6 +808,8 @@ proc split*(s: string, sep: string, maxsplit: int = -1): seq[string] {.noSideEff
   ##
   ## Substrings are separated by the string `sep`. This is a wrapper around the
   ## `split iterator <#split.i,string,string>`_.
+  doAssert(sep.len > 0)
+  
   accumulateResult(split(s, sep, maxsplit))
 
 proc rsplit*(s: string, seps: set[char] = Whitespace,
diff --git a/tests/stdlib/tsplit2.nim b/tests/stdlib/tsplit2.nim
new file mode 100644
index 000000000..7fd9dda74
--- /dev/null
+++ b/tests/stdlib/tsplit2.nim
@@ -0,0 +1,19 @@
+discard """
+  file: "tsplit2.nim"
+  output: "true"
+"""
+import strutils
+
+var s = ""
+for w in split("|abc|xy|z", {'|'}):
+  s.add("#")
+  s.add(w)
+
+try:
+  discard "hello".split("")
+  echo "false"
+except AssertionError:
+  echo "true"
+
+#OUT true
+