From 5b24b191ee7a9b0160b98ee2b8d3978fcc2b91f7 Mon Sep 17 00:00:00 2001 From: Nate Cook Date: Fri, 22 Apr 2016 11:37:32 -0500 Subject: [PATCH 1/3] Expanded string slicing test --- test/1_stdlib/subString.swift | 115 +++++++++++++++++++++++++++++++--- 1 file changed, 105 insertions(+), 10 deletions(-) diff --git a/test/1_stdlib/subString.swift b/test/1_stdlib/subString.swift index 5c5edbe7509b1..19569bd102158 100644 --- a/test/1_stdlib/subString.swift +++ b/test/1_stdlib/subString.swift @@ -1,15 +1,110 @@ -// RUN: %target-run-simple-swift | FileCheck %s +// RUN: rm -rf %t +// RUN: mkdir -p %t +// RUN: %target-build-swift %s -o %t/a.out +// RUN: %target-run %t/a.out // REQUIRES: executable_test -func test(_ s: String) { - print(s) - var s2 = s[s.index(s.startIndex, offsetBy: 2)..( + _ x: S, _ y: T, _ i: S.Index) { + + expectEqual(x[i], y[i]) +} + +let s = "abcdefg" + +SubstringTests.test("String") { + let s1 = s[s.index(s.startIndex, offsetBy: 2) ..< + s.index(s.startIndex, offsetBy: 4)] + let s2 = s1[s1.startIndex.. Date: Mon, 2 May 2016 12:50:23 -0500 Subject: [PATCH 2/3] Make string slicing tests standalone --- test/1_stdlib/subString.swift | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/1_stdlib/subString.swift b/test/1_stdlib/subString.swift index 19569bd102158..db8833329292b 100644 --- a/test/1_stdlib/subString.swift +++ b/test/1_stdlib/subString.swift @@ -16,9 +16,8 @@ func checkMatch Date: Mon, 2 May 2016 12:59:26 -0500 Subject: [PATCH 3/3] Move mutations after all index tests --- test/1_stdlib/subString.swift | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/test/1_stdlib/subString.swift b/test/1_stdlib/subString.swift index db8833329292b..f38ab93348a3d 100644 --- a/test/1_stdlib/subString.swift +++ b/test/1_stdlib/subString.swift @@ -39,15 +39,12 @@ SubstringTests.test("CharacterView") checkMatch(s.characters, t, t.index(after: t.startIndex)) checkMatch(s.characters, t, t.index(before: t.endIndex)) - t.replaceSubrange(t.startIndex...t.startIndex, with: ["C"]) - expectEqual(String(t), "Cdefg") - expectEqual(s, "abcdefg") - checkMatch(s.characters, t, u.startIndex) checkMatch(t, u, u.startIndex) checkMatch(t, u, u.index(after: u.startIndex)) checkMatch(t, u, u.index(before: u.endIndex)) + t.replaceSubrange(t.startIndex...t.startIndex, with: ["C"]) u.replaceSubrange(u.startIndex...u.startIndex, with: ["E"]) expectEqual(String(u), "Efg") expectEqual(String(t), "Cdefg") @@ -65,15 +62,12 @@ SubstringTests.test("UnicodeScalars") checkMatch(s.unicodeScalars, t, t.index(after: t.startIndex)) checkMatch(s.unicodeScalars, t, t.index(before: t.endIndex)) - t.replaceSubrange(t.startIndex...t.startIndex, with: ["C"]) - expectEqual(String(t), "Cdefg") - expectEqual(s, "abcdefg") - checkMatch(s.unicodeScalars, t, u.startIndex) checkMatch(t, u, u.startIndex) checkMatch(t, u, u.index(after: u.startIndex)) checkMatch(t, u, u.index(before: u.endIndex)) + t.replaceSubrange(t.startIndex...t.startIndex, with: ["C"]) u.replaceSubrange(u.startIndex...u.startIndex, with: ["E"]) expectEqual(String(u), "Efg") expectEqual(String(t), "Cdefg")