Skip to content

Commit 1de81b1

Browse files
authored
Updates CI for iOS 15 (#54)
* Targets Add Keyboard button correctly * - Markdown snapshots use iOS 15 - Markdown sample loaded locally * Updates snapshot for font traits * Fixes emoji test * Fixes selection change test * Fixes two-stage test * Updates snapshot for NSAttributedString key test * CI script uses iPhone 13 * CI snapshots * Removes unnecessary CI trigger * Snapshots based on CI * CI snapshots for AppKit * More descriptive AppKit artifact names * CI snapshots * Uses script to silence notifications from the command line * Targets Big Sur specifically
1 parent aba4318 commit 1de81b1

16 files changed

+51
-51
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
name: Continuous Integration
22

33
on:
4-
push:
5-
branches: [ main ]
64
pull_request:
7-
branches: [ main ]
5+
branches: [main]
86

97
env:
108
BUNDLE_IDENTIFIER: com.kylenazario.Essayist
119
TEST_PROJECT_PATH: ./Tests/Essayist/Essayist.xcodeproj
1210
TEST_PROJECT_NAME: Essayist
1311

1412
jobs:
15-
1613
linting:
1714
name: Linting
18-
runs-on: macos-latest
15+
runs-on: macos-11
1916

2017
steps:
2118
- name: Checkout
@@ -25,20 +22,16 @@ jobs:
2522

2623
appkit:
2724
name: AppKit Tests
28-
runs-on: macos-latest
25+
runs-on: macos-11
2926

3027
steps:
3128
- name: Checkout
3229
uses: actions/checkout@v2
3330
- uses: actions/checkout@v2
34-
- uses: actions/setup-node@v2
35-
with:
36-
node-version: '14'
3731
- name: Turn on Do Not Disturb
3832
run: |
39-
npm i -g do-not-disturb-cli
40-
do-not-disturb on
41-
do-not-disturb status
33+
brew install vitorgalvao/tiny-scripts/calm-notifications
34+
calm-notifications on
4235
- name: Change to testing branch
4336
env:
4437
XCODEPROJ: Tests/Essayist/Essayist.xcodeproj/project.pbxproj
@@ -53,22 +46,20 @@ jobs:
5346
if: failure()
5447
uses: actions/upload-artifact@v2
5548
with:
56-
name: macOS-failing-snapshots
49+
name: macOS-non-matching-snapshots
5750
path: /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/com.kylenazario.macOS-EssayistUITests.xctrunner/macOS_EssayistUITests
5851
if-no-files-found: ignore
5952
- name: Save existing/new macOS snapshots
6053
if: failure()
6154
uses: actions/upload-artifact@v2
6255
with:
63-
name: macOS-new-snapshots
56+
name: macOS-existing-or-new-snapshots
6457
path: /Users/runner/work/HighlightedTextEditor/HighlightedTextEditor/Tests/Essayist/macOS-EssayistUITests/__Snapshots__
6558
if-no-files-found: ignore
6659

67-
68-
6960
uikit:
7061
name: UIKit Tests
71-
runs-on: macos-latest
62+
runs-on: macos-11
7263

7364
steps:
7465
- name: Checkout
@@ -81,7 +72,7 @@ jobs:
8172
sed -i '' "s/kyle-n/${GITHUB_ACTOR//\//\\/}/g" $XCODEPROJ
8273
- name: Boot Simulator
8374
env:
84-
IOS_SIM_NAME: iPhone 12
75+
IOS_SIM_NAME: iPhone 13
8576
run: |
8677
IOS_SIM_UDID=`xcrun simctl list | grep -w "$IOS_SIM_NAME" | awk 'match($0, /\(([-0-9A-F]+)\)/) { print substr( $0, RSTART + 1, RLENGTH - 2 )}' | head -1`
8778
SIMULATOR_PATH='/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator'
@@ -101,7 +92,7 @@ jobs:
10192
- name: Run UIKit tests
10293
run: |
10394
xcodebuild -resolvePackageDependencies -project "$TEST_PROJECT_PATH"
104-
xcodebuild test -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 12' -scheme "$TEST_PROJECT_NAME (iOS)" -project $TEST_PROJECT_PATH
95+
xcodebuild test -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 13' -scheme "$TEST_PROJECT_NAME (iOS)" -project $TEST_PROJECT_PATH
10596
killall Simulator
10697
- name: Save non-matching iOS snapshots
10798
if: failure()

Tests/Essayist/Essayist.xcodeproj/project.pbxproj

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,17 @@
1212
99095E23256EE1AD0048EB2F /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99095E0E256EE1AB0048EB2F /* ContentView.swift */; };
1313
99095E24256EE1AE0048EB2F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 99095E0F256EE1AD0048EB2F /* Assets.xcassets */; };
1414
99095E25256EE1AE0048EB2F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 99095E0F256EE1AD0048EB2F /* Assets.xcassets */; };
15+
99171271277A76B100643A2D /* MarkdownSample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99171270277A76B100643A2D /* MarkdownSample.swift */; };
16+
99171272277A76B100643A2D /* MarkdownSample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99171270277A76B100643A2D /* MarkdownSample.swift */; };
17+
99171273277A76B100643A2D /* MarkdownSample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99171270277A76B100643A2D /* MarkdownSample.swift */; };
18+
99171274277A76B100643A2D /* MarkdownSample.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99171270277A76B100643A2D /* MarkdownSample.swift */; };
1519
993CE97525C1E8DB00497085 /* macOS_EssayistUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993CE97425C1E8DB00497085 /* macOS_EssayistUITests.swift */; };
1620
993CE98025C1E91E00497085 /* TestViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F378F5256F025000C5DF2F /* TestViews.swift */; };
1721
993CE98125C1E91E00497085 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 994FB3D3256EEB3F008F0208 /* Models.swift */; };
1822
993CE98225C1E91E00497085 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 994FB3CD256EE80C008F0208 /* String.swift */; };
1923
993CE98325C1E91E00497085 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9957D65225741DD7004194BD /* View.swift */; };
2024
993CE98925C1E93200497085 /* SnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = 993CE98825C1E93200497085 /* SnapshotTesting */; };
2125
993CE98B25C1E93200497085 /* HighlightedTextEditor in Frameworks */ = {isa = PBXBuildFile; productRef = 993CE98A25C1E93200497085 /* HighlightedTextEditor */; };
22-
993CE98C25C1E96800497085 /* MarkdownSample.md in Resources */ = {isa = PBXBuildFile; fileRef = 994FB3E7256EF9B8008F0208 /* MarkdownSample.md */; };
2326
993CE99D25C2063200497085 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 99095E0F256EE1AD0048EB2F /* Assets.xcassets */; };
2427
993CE9A225C2063400497085 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 99095E0F256EE1AD0048EB2F /* Assets.xcassets */; };
2528
994FB3C2256EE54A008F0208 /* iOS_EssayistUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 994FB3C1256EE54A008F0208 /* iOS_EssayistUITests.swift */; };
@@ -29,12 +32,9 @@
2932
994FB3D5256EEB3F008F0208 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 994FB3D3256EEB3F008F0208 /* Models.swift */; };
3033
994FB3DD256EF068008F0208 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 994FB3CD256EE80C008F0208 /* String.swift */; };
3134
994FB3E3256EF903008F0208 /* SnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = 994FB3E2256EF903008F0208 /* SnapshotTesting */; };
32-
994FB3E8256EF9B8008F0208 /* MarkdownSample.md in Resources */ = {isa = PBXBuildFile; fileRef = 994FB3E7256EF9B8008F0208 /* MarkdownSample.md */; };
3335
994FF6E4257B342E00B9858A /* HighlightedTextEditor in Frameworks */ = {isa = PBXBuildFile; productRef = 994FF6E3257B342E00B9858A /* HighlightedTextEditor */; };
3436
994FF6EA257B343800B9858A /* HighlightedTextEditor in Frameworks */ = {isa = PBXBuildFile; productRef = 994FF6E9257B343800B9858A /* HighlightedTextEditor */; };
3537
994FF6EC257B344300B9858A /* HighlightedTextEditor in Frameworks */ = {isa = PBXBuildFile; productRef = 994FF6EB257B344300B9858A /* HighlightedTextEditor */; };
36-
994FF701257BD18D00B9858A /* MarkdownSample.md in Resources */ = {isa = PBXBuildFile; fileRef = 994FB3E7256EF9B8008F0208 /* MarkdownSample.md */; };
37-
994FF706257BD18E00B9858A /* MarkdownSample.md in Resources */ = {isa = PBXBuildFile; fileRef = 994FB3E7256EF9B8008F0208 /* MarkdownSample.md */; };
3838
9957D65325741DD7004194BD /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9957D65225741DD7004194BD /* View.swift */; };
3939
9957D65425741DD7004194BD /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9957D65225741DD7004194BD /* View.swift */; };
4040
9957D65525741DD7004194BD /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9957D65225741DD7004194BD /* View.swift */; };
@@ -72,6 +72,7 @@
7272
99095E1C256EE1AD0048EB2F /* Essayist.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Essayist.app; sourceTree = BUILT_PRODUCTS_DIR; };
7373
99095E1E256EE1AD0048EB2F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
7474
99095E1F256EE1AD0048EB2F /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = "<group>"; };
75+
99171270277A76B100643A2D /* MarkdownSample.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownSample.swift; sourceTree = "<group>"; };
7576
993CE97225C1E8DB00497085 /* macOS-EssayistUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "macOS-EssayistUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
7677
993CE97425C1E8DB00497085 /* macOS_EssayistUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = macOS_EssayistUITests.swift; sourceTree = "<group>"; };
7778
993CE97625C1E8DB00497085 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -80,7 +81,6 @@
8081
994FB3C3256EE54A008F0208 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8182
994FB3CD256EE80C008F0208 /* String.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = String.swift; sourceTree = "<group>"; };
8283
994FB3D3256EEB3F008F0208 /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Models.swift; sourceTree = "<group>"; };
83-
994FB3E7256EF9B8008F0208 /* MarkdownSample.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = MarkdownSample.md; sourceTree = "<group>"; };
8484
9957D65225741DD7004194BD /* View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = "<group>"; };
8585
99F378F5256F025000C5DF2F /* TestViews.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestViews.swift; sourceTree = "<group>"; };
8686
99FF579025C1CF2200959C72 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
@@ -128,12 +128,12 @@
128128
99095E07256EE1AB0048EB2F = {
129129
isa = PBXGroup;
130130
children = (
131-
99F378F5256F025000C5DF2F /* TestViews.swift */,
132131
994FB3D3256EEB3F008F0208 /* Models.swift */,
133132
994FB3CC256EE7FE008F0208 /* System Extensions */,
134133
99095E0C256EE1AB0048EB2F /* Shared */,
135134
99095E16256EE1AD0048EB2F /* iOS */,
136135
99095E1D256EE1AD0048EB2F /* macOS */,
136+
9917126F277A768F00643A2D /* Shared Test */,
137137
994FB3C0256EE549008F0208 /* iOS-EssayistUITests */,
138138
993CE97325C1E8DB00497085 /* macOS-EssayistUITests */,
139139
99095E15256EE1AD0048EB2F /* Products */,
@@ -181,6 +181,15 @@
181181
path = macOS;
182182
sourceTree = "<group>";
183183
};
184+
9917126F277A768F00643A2D /* Shared Test */ = {
185+
isa = PBXGroup;
186+
children = (
187+
99F378F5256F025000C5DF2F /* TestViews.swift */,
188+
99171270277A76B100643A2D /* MarkdownSample.swift */,
189+
);
190+
path = "Shared Test";
191+
sourceTree = "<group>";
192+
};
184193
993CE97325C1E8DB00497085 /* macOS-EssayistUITests */ = {
185194
isa = PBXGroup;
186195
children = (
@@ -195,7 +204,6 @@
195204
children = (
196205
994FB3C1256EE54A008F0208 /* iOS_EssayistUITests.swift */,
197206
994FB3C3256EE54A008F0208 /* Info.plist */,
198-
994FB3E7256EF9B8008F0208 /* MarkdownSample.md */,
199207
);
200208
path = "iOS-EssayistUITests";
201209
sourceTree = "<group>";
@@ -359,7 +367,6 @@
359367
buildActionMask = 2147483647;
360368
files = (
361369
99095E24256EE1AE0048EB2F /* Assets.xcassets in Resources */,
362-
994FF701257BD18D00B9858A /* MarkdownSample.md in Resources */,
363370
);
364371
runOnlyForDeploymentPostprocessing = 0;
365372
};
@@ -369,7 +376,6 @@
369376
files = (
370377
99FF579725C1D0D700959C72 /* Main.storyboard in Resources */,
371378
99095E25256EE1AE0048EB2F /* Assets.xcassets in Resources */,
372-
994FF706257BD18E00B9858A /* MarkdownSample.md in Resources */,
373379
);
374380
runOnlyForDeploymentPostprocessing = 0;
375381
};
@@ -378,7 +384,6 @@
378384
buildActionMask = 2147483647;
379385
files = (
380386
993CE9A225C2063400497085 /* Assets.xcassets in Resources */,
381-
993CE98C25C1E96800497085 /* MarkdownSample.md in Resources */,
382387
);
383388
runOnlyForDeploymentPostprocessing = 0;
384389
};
@@ -387,7 +392,6 @@
387392
buildActionMask = 2147483647;
388393
files = (
389394
993CE99D25C2063200497085 /* Assets.xcassets in Resources */,
390-
994FB3E8256EF9B8008F0208 /* MarkdownSample.md in Resources */,
391395
);
392396
runOnlyForDeploymentPostprocessing = 0;
393397
};
@@ -404,6 +408,7 @@
404408
99095E20256EE1AD0048EB2F /* EssayistApp.swift in Sources */,
405409
994FB3D4256EEB3F008F0208 /* Models.swift in Sources */,
406410
99F378F6256F025000C5DF2F /* TestViews.swift in Sources */,
411+
99171271277A76B100643A2D /* MarkdownSample.swift in Sources */,
407412
);
408413
runOnlyForDeploymentPostprocessing = 0;
409414
};
@@ -417,6 +422,7 @@
417422
9957D65425741DD7004194BD /* View.swift in Sources */,
418423
994FB3D5256EEB3F008F0208 /* Models.swift in Sources */,
419424
99F378F7256F025000C5DF2F /* TestViews.swift in Sources */,
425+
99171272277A76B100643A2D /* MarkdownSample.swift in Sources */,
420426
);
421427
runOnlyForDeploymentPostprocessing = 0;
422428
};
@@ -428,6 +434,7 @@
428434
993CE98125C1E91E00497085 /* Models.swift in Sources */,
429435
993CE98225C1E91E00497085 /* String.swift in Sources */,
430436
993CE98325C1E91E00497085 /* View.swift in Sources */,
437+
99171274277A76B100643A2D /* MarkdownSample.swift in Sources */,
431438
993CE97525C1E8DB00497085 /* macOS_EssayistUITests.swift in Sources */,
432439
);
433440
runOnlyForDeploymentPostprocessing = 0;
@@ -440,6 +447,7 @@
440447
99F37902256F033700C5DF2F /* Models.swift in Sources */,
441448
9957D65525741DD7004194BD /* View.swift in Sources */,
442449
994FB3DD256EF068008F0208 /* String.swift in Sources */,
450+
99171273277A76B100643A2D /* MarkdownSample.swift in Sources */,
443451
994FB3C2256EE54A008F0208 /* iOS_EssayistUITests.swift in Sources */,
444452
);
445453
runOnlyForDeploymentPostprocessing = 0;

Tests/Essayist/iOS-EssayistUITests/MarkdownSample.md renamed to Tests/Essayist/Shared Test/MarkdownSample.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
//
2+
// MarkdownSample.swift
3+
// Essayist
4+
//
5+
// Created by Kyle Nazario on 12/27/21.
6+
//
7+
8+
let markdownSample = """
19
<!-- courtesy markdown-it.github.io -->
210
311
# h1 Heading 8-)
@@ -26,7 +34,7 @@ __This is bold text__
2634
2735
_This is italic text_
2836
29-
~~Strikethrough~~
37+
~Strikethrough~
3038
3139
<aside>html tag</aside>
3240
@@ -114,4 +122,4 @@ Like links, Images also have a footnote style syntax
114122
With a reference later in the document defining the URL location:
115123
116124
[id]: https://octodex.github.com/images/dojocat.jpg "The Dojocat"
117-
125+
"""

Tests/Essayist/TestViews.swift renamed to Tests/Essayist/Shared Test/TestViews.swift

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,12 @@
88
import HighlightedTextEditor
99
import SwiftUI
1010

11-
let markdownFileURL =
12-
URL(
13-
// swiftlint:disable:next line_length
14-
string: "https://raw.githubusercontent.com/kyle-n/HighlightedTextEditor/main/Tests/Essayist/iOS-EssayistUITests/MarkdownSample.md"
15-
)!
16-
let markdown = try! String(contentsOf: markdownFileURL, encoding: .utf8)
17-
1811
struct MarkdownEditorA: View {
1912
@State var text: String
2013

2114
init() {
22-
let end = markdown.index(of: "## Blockquotes")!
23-
let firstPart = String(markdown.prefix(upTo: end))
15+
let end = markdownSample.index(of: "## Blockquotes")!
16+
let firstPart = String(markdownSample.prefix(upTo: end))
2417
_text = State<String>(initialValue: firstPart)
2518
}
2619

@@ -33,9 +26,9 @@ struct MarkdownEditorB: View {
3326
@State var text: String
3427

3528
init() {
36-
let endOfFirstPart = markdown.index(of: "## Blockquotes")!
37-
let endOfSecondPart = markdown.index(of: "\n\n## Tables")!
38-
let secondPart = String(markdown[endOfFirstPart..<endOfSecondPart])
29+
let endOfFirstPart = markdownSample.index(of: "## Blockquotes")!
30+
let endOfSecondPart = markdownSample.index(of: "\n\n## Tables")!
31+
let secondPart = String(markdownSample[endOfFirstPart..<endOfSecondPart])
3932
_text = State<String>(initialValue: secondPart)
4033
}
4134

@@ -48,8 +41,8 @@ struct MarkdownEditorC: View {
4841
@State var text: String
4942

5043
init() {
51-
let endOfSecondPart = markdown.index(of: "\n\n## Tables")!
52-
let thirdPart = String(markdown[endOfSecondPart..<markdown.endIndex])
44+
let endOfSecondPart = markdownSample.index(of: "\n\n## Tables")!
45+
let thirdPart = String(markdownSample[endOfSecondPart..<markdownSample.endIndex])
5346
_text = State<String>(initialValue: thirdPart)
5447
}
5548

-137 Bytes
Loading
270 Bytes
Loading
485 Bytes
Loading
62 Bytes
Loading
227 Bytes
Loading

Tests/Essayist/iOS-EssayistUITests/iOS_EssayistUITests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class iOS_EssayistUITests: XCTestCase {
2525
settings.tables.firstMatch.staticTexts["General"].tap()
2626
settings.tables.firstMatch.staticTexts["Keyboard"].tap()
2727
settings.tables.firstMatch.staticTexts["Keyboards"].tap()
28-
settings.tables.firstMatch.staticTexts["Add New Keyboard..."].tap()
28+
settings.tables.firstMatch.staticTexts["Add New Keyboard"].tap()
2929
settings.tables.firstMatch.staticTexts["Chinese, Simplified"].tap()
3030
settings.tables.firstMatch.staticTexts["Pinyin – 10 Key"].tap()
3131
settings.buttons["Done"].tap()
@@ -162,17 +162,16 @@ class iOS_EssayistUITests: XCTestCase {
162162

163163
selectKeyboard(.pinyin10Key)
164164

165-
app.keys["拼音"].tap()
166165
app.keys["A B C "].tap()
167166
app.keys["D E F "].tap()
168167
app.keys["M N O "].tap()
169-
app.collectionViews.staticTexts[""].tap()
168+
app.collectionViews.staticTexts[""].tap()
170169

171170
let targetText = """
172171
1. A
173172
2. B
174173
175-
Test
174+
Test
176175
"""
177176

178177
XCTAssertEqual(hlteTextView.value as! String, targetText)
@@ -207,7 +206,7 @@ class iOS_EssayistUITests: XCTestCase {
207206
app.keys["t"].tap()
208207
textView.doubleTap()
209208

210-
let selectedRangeDisplay = app.staticTexts["5"]
209+
let selectedRangeDisplay = app.staticTexts["4"]
211210
let selectionChangesDisplay = app.staticTexts["0 3"]
212211
let selectedRangeExists = selectedRangeDisplay.waitForExistence(timeout: 2)
213212
let selectionChangesExists = selectionChangesDisplay.waitForExistence(timeout: 2)
@@ -270,6 +269,7 @@ class iOS_EssayistUITests: XCTestCase {
270269
textView.tap()
271270
textView.doubleTap()
272271
app.menuItems["Paste"].tap()
272+
sleep(1)
273273

274274
let textViewContent = textView.value as! String
275275
XCTAssertEqual(textViewContent, "💩")

0 commit comments

Comments
 (0)