1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-09-11 17:15:34 +03:00
This commit is contained in:
Tae Won Ha 2020-09-18 23:14:20 +02:00
parent 61d092e516
commit ac6bfb35cc
No known key found for this signature in database
GPG Key ID: E40743465B5B8B44
8 changed files with 94 additions and 101 deletions

View File

@ -9,9 +9,17 @@ let package = Package(
.library(name: "NvimView", targets: ["NvimView"]),
],
dependencies: [
.package(name: "MessagePack", url: "https://github.com/a2/MessagePack.swift", .upToNextMinor(from: "4.0.0")),
.package(
name: "MessagePack",
url: "https://github.com/a2/MessagePack.swift",
.upToNextMinor(from: "4.0.0")
),
.package(url: "https://github.com/ReactiveX/RxSwift", .upToNextMinor(from: "5.1.1")),
.package(name: "NvimServerTypes", url: "https://github.com/qvacua/neovim", .exact("0.1.0-types")),
.package(
name: "NvimServerTypes",
url: "https://github.com/qvacua/neovim",
.exact("0.1.0-types")
),
.package(name: "RxPack", path: "../RxPack"),
.package(name: "Commons", path: "../Commons"),
.package(url: "https://github.com/Quick/Nimble", .upToNextMinor(from: "8.1.1")),

View File

@ -4,13 +4,12 @@
*/
import Cocoa
import XCTest
import Nimble
import XCTest
@testable import NvimView
class CellAttributesCollectionTest: XCTestCase {
func testSetDefaultAttributes() {
let attrs = CellAttributes(
fontTrait: [], foreground: 1, background: 2, special: 3, reverse: true

View File

@ -9,14 +9,16 @@ import Nimble
// I don't know why the font returned by Typesetter is not equal to the font
// it should be equal to. This is a workaround.
func equalFont(_ expectedValue: NSFont?) -> Predicate<NSFont> {
return Predicate { actualExpression in
Predicate { actualExpression in
let msg = ExpectationMessage.expectedActualValueTo(
"equal <\(String(describing: expectedValue))>"
)
if let actualValue = try actualExpression.evaluate() {
return PredicateResult(
bool: NSFont(name: actualValue.fontName,
size: actualValue.pointSize) == expectedValue!,
bool: NSFont(
name: actualValue.fontName,
size: actualValue.pointSize
) == expectedValue!,
message: msg
)
} else {

View File

@ -4,13 +4,12 @@
*/
import Cocoa
import XCTest
import Nimble
import XCTest
@testable import NvimView
class TypesetterWithoutLigaturesTest: XCTestCase {
// GH-709
func testHindi() {
let runs = typesetter.fontGlyphRunsWithoutLigatures(
@ -49,8 +48,10 @@ class TypesetterWithoutLigaturesTest: XCTestCase {
}
))
self.assertEmojiMarker(run: runs[3],
xPosition: offset.x + 18 * defaultWidth)
self.assertEmojiMarker(
run: runs[3],
xPosition: offset.x + 18 * defaultWidth
)
}
func testSimpleAsciiChars() {
@ -72,8 +73,10 @@ class TypesetterWithoutLigaturesTest: XCTestCase {
}
))
self.assertEmojiMarker(run: runs[1],
xPosition: offset.x + 13 * defaultWidth)
self.assertEmojiMarker(
run: runs[1],
xPosition: offset.x + 13 * defaultWidth
)
}
func testAccentedChars() {
@ -95,8 +98,10 @@ class TypesetterWithoutLigaturesTest: XCTestCase {
}
))
self.assertEmojiMarker(run: runs[1],
xPosition: offset.x + 23 * defaultWidth)
self.assertEmojiMarker(
run: runs[1],
xPosition: offset.x + 23 * defaultWidth
)
}
func testCombiningChars() {
@ -116,7 +121,7 @@ class TypesetterWithoutLigaturesTest: XCTestCase {
expect(run.glyphs).to(haveCount(1))
expect(run.positions).to(equal(
[
CGPoint(x: offset.x + 10 * defaultWidth, y: offset.y)
CGPoint(x: offset.x + 10 * defaultWidth, y: offset.y),
]
))
@ -157,8 +162,10 @@ class TypesetterWithoutLigaturesTest: XCTestCase {
]
))
self.assertEmojiMarker(run: runs[5],
xPosition: offset.x + 16 * defaultWidth)
self.assertEmojiMarker(
run: runs[5],
xPosition: offset.x + 16 * defaultWidth
)
}
func testSimpleEmojis() {
@ -306,7 +313,7 @@ class TypesetterWithoutLigaturesTest: XCTestCase {
expect(run.glyphs).to(haveCount(1))
expect(run.positions).to(equal(
[
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y)
CGPoint(x: offset.x + 1 * defaultWidth, y: offset.y),
]
))
@ -365,7 +372,6 @@ class TypesetterWithoutLigaturesTest: XCTestCase {
}
class TypesetterWithLigaturesTest: XCTestCase {
func testSimpleAsciiChars() {
let runs = typesetter.fontGlyphRunsWithLigatures(
nvimUtf16Cells: emojiMarked(Array(repeating: "a", count: 20)),
@ -385,8 +391,10 @@ class TypesetterWithLigaturesTest: XCTestCase {
}
))
self.assertEmojiMarker(run: runs[1],
xPosition: offset.x + 21 * defaultWidth)
self.assertEmojiMarker(
run: runs[1],
xPosition: offset.x + 21 * defaultWidth
)
}
func testAccentedChars() {
@ -668,13 +676,13 @@ private let offset = CGPoint(x: 7, y: 8)
private let typesetter = Typesetter()
private func asciiMarked(_ strings: [String]) -> [[Unicode.UTF16.CodeUnit]] {
return utf16Chars(strings + ["a"])
utf16Chars(strings + ["a"])
}
private func emojiMarked(_ strings: [String]) -> [[Unicode.UTF16.CodeUnit]] {
return utf16Chars(strings + ["\u{1F600}"])
utf16Chars(strings + ["\u{1F600}"])
}
private func utf16Chars(_ array: [String]) -> [[Unicode.UTF16.CodeUnit]] {
return array.map { Array($0.utf16) }
array.map { Array($0.utf16) }
}

View File

@ -4,13 +4,12 @@
*/
import Cocoa
import XCTest
import Nimble
import XCTest
@testable import NvimView
class UGridTest: XCTestCase {
private let ugrid = UGrid()
func testFlatCharIndex() {
@ -26,14 +25,14 @@ class UGridTest: XCTestCase {
self.ugrid.recomputeFlatIndices(rowStart: 0, rowEndInclusive: 2)
expect(self.ugrid.cells.reduce(into: []) { result, row in
return result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
rowResult.append(cell.flatCharIndex)
})
}).to(equal(
[
0, 1, 1, 2, 3, 4, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
]
))
@ -47,14 +46,14 @@ class UGridTest: XCTestCase {
self.ugrid.recomputeFlatIndices(rowStart: 0, rowEndInclusive: 2)
expect(self.ugrid.cells.reduce(into: []) { result, row in
return result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
rowResult.append(cell.flatCharIndex)
})
}).to(equal(
[
0, 1, 1, 2, 3, 4, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
]
))
@ -68,14 +67,14 @@ class UGridTest: XCTestCase {
self.ugrid.recomputeFlatIndices(rowStart: 0, rowEndInclusive: 2)
expect(self.ugrid.cells.reduce(into: []) { result, row in
return result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
result.append(contentsOf: row.reduce(into: []) { rowResult, cell in
rowResult.append(cell.flatCharIndex)
})
}).to(equal(
[
0, 1, 1, 2, 3, 4, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 25
17, 18, 19, 20, 21, 22, 23, 24, 25, 25,
]
))
}
@ -91,7 +90,7 @@ class UGridTest: XCTestCase {
chunk: Array("0123456789".compactMap { String($0) }),
attrIds: [
0, -1, 2, 3, 4, 5, 6, 7, 8,
CellAttributesCollection.reversedDefaultAttributesId
CellAttributesCollection.reversedDefaultAttributesId,
]
)
self.ugrid.unmarkCell(at: Position(row: 9, column: 0))
@ -116,7 +115,7 @@ class UGridTest: XCTestCase {
chunk: Array("0123456789".compactMap { String($0) }),
attrIds: [
0, -1, 2, 3, 4, 5, 6, 7, 8,
CellAttributesCollection.reversedDefaultAttributesId
CellAttributesCollection.reversedDefaultAttributesId,
]
)
self.ugrid.recomputeFlatIndices(rowStart: 9, rowEndInclusive: 9)
@ -206,13 +205,15 @@ class UGridTest: XCTestCase {
func testLeftBoundaryOfWord() {
self.ugrid.resize(Size(width: 10, height: 2))
self.ugrid.update(row: 0,
startCol: 0,
endCol: 10,
clearCol: 10,
clearAttr: 0,
chunk: " 12 45678 ".compactMap { String($0) },
attrIds: Array<Int>(repeating: 0, count: 10))
self.ugrid.update(
row: 0,
startCol: 0,
endCol: 10,
clearCol: 10,
clearAttr: 0,
chunk: " 12 45678 ".compactMap { String($0) },
attrIds: [Int](repeating: 0, count: 10)
)
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 0, column: 9)))
.to(equal(9))
@ -225,13 +226,15 @@ class UGridTest: XCTestCase {
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 0, column: 0)))
.to(equal(0))
self.ugrid.update(row: 1,
startCol: 0,
endCol: 10,
clearCol: 10,
clearAttr: 0,
chunk: "0123456789".compactMap { String($0) },
attrIds: Array<Int>(repeating: 0, count: 10))
self.ugrid.update(
row: 1,
startCol: 0,
endCol: 10,
clearCol: 10,
clearAttr: 0,
chunk: "0123456789".compactMap { String($0) },
attrIds: [Int](repeating: 0, count: 10)
)
expect(self.ugrid.leftBoundaryOfWord(at: Position(row: 1, column: 0)))
.to(equal(0))
@ -239,13 +242,15 @@ class UGridTest: XCTestCase {
func testRightBoundaryOfWord() {
self.ugrid.resize(Size(width: 10, height: 2))
self.ugrid.update(row: 0,
startCol: 0,
endCol: 10,
clearCol: 10,
clearAttr: 0,
chunk: " 12345 78 ".compactMap { String($0) },
attrIds: Array<Int>(repeating: 0, count: 10))
self.ugrid.update(
row: 0,
startCol: 0,
endCol: 10,
clearCol: 10,
clearAttr: 0,
chunk: " 12345 78 ".compactMap { String($0) },
attrIds: [Int](repeating: 0, count: 10)
)
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 0, column: 9)))
.to(equal(9))
@ -258,13 +263,15 @@ class UGridTest: XCTestCase {
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 0, column: 0)))
.to(equal(0))
self.ugrid.update(row: 1,
startCol: 0,
endCol: 10,
clearCol: 10,
clearAttr: 0,
chunk: "0123456789".compactMap { String($0) },
attrIds: Array<Int>(repeating: 0, count: 10))
self.ugrid.update(
row: 1,
startCol: 0,
endCol: 10,
clearCol: 10,
clearAttr: 0,
chunk: "0123456789".compactMap { String($0) },
attrIds: [Int](repeating: 0, count: 10)
)
expect(self.ugrid.rightBoundaryOfWord(at: Position(row: 1, column: 9)))
.to(equal(9))
}

View File

@ -1,9 +1,9 @@
import XCTest
#if !canImport(ObjectiveC)
public func allTests() -> [XCTestCaseEntry] {
return [
testCase(NvimViewTests.allTests),
public func allTests() -> [XCTestCaseEntry] {
[
testCase(NvimViewTests.allTests),
]
}
}
#endif

View File

@ -210,17 +210,12 @@
1929B067B3247675BCD09218 /* MainWindow+Actions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "MainWindow+Actions.swift"; sourceTree = "<group>"; };
1929B07A4A9209C88380E015 /* PrefPane.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrefPane.swift; sourceTree = "<group>"; };
1929B07F0085B7AE10413346 /* ShortcutsTableSubviews.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsTableSubviews.swift; sourceTree = "<group>"; };
1929B0A888EA54E5C8FD04C7 /* search.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = search.h; path = "../../third-party/libag/include/search.h"; sourceTree = "<group>"; };
1929B0E63986F95E2F8DFF21 /* FileItem+CoreDataClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "FileItem+CoreDataClass.h"; sourceTree = "<group>"; };
1929B0E9B2F018D3E31D4B0B /* ShortcutsPref.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutsPref.swift; sourceTree = "<group>"; };
1929B0EA67C53B49B98182CA /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = log.h; path = "../../third-party/libag/include/log.h"; sourceTree = "<group>"; };
1929B0EB3F49C42A57D083AF /* GeneralPrefReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneralPrefReducer.swift; sourceTree = "<group>"; };
1929B0FBFB766042CF06E463 /* AppearancePref.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearancePref.swift; sourceTree = "<group>"; };
1929B12CE56A9B36980288A4 /* OpenQuicklyReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenQuicklyReducer.swift; sourceTree = "<group>"; };
1929B13E47E7D20EA99EDF92 /* print.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = print.h; path = "../../third-party/libag/include/print.h"; sourceTree = "<group>"; };
1929B13F14CABB7BDCD16B5D /* options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = options.h; path = "../../third-party/libag/include/options.h"; sourceTree = "<group>"; };
1929B14A5949FB64C4B2646F /* KeysPref.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeysPref.swift; sourceTree = "<group>"; };
1929B14F9B30D4A3FA1871A9 /* uthash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = uthash.h; path = "../../third-party/libag/include/uthash.h"; sourceTree = "<group>"; };
1929B1534B8857C519D7C0FB /* FileItem+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "FileItem+CoreDataProperties.h"; sourceTree = "<group>"; };
1929B1558455B3A74D93EF2A /* OpenQuicklyFileViewRow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenQuicklyFileViewRow.swift; sourceTree = "<group>"; };
1929B17B1BC7CA08DC76495C /* FileItem+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "FileItem+CoreDataProperties.m"; sourceTree = "<group>"; };
@ -248,26 +243,21 @@
1929B714EB137AE448CE8ABD /* MainWindow+Delegates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "MainWindow+Delegates.swift"; sourceTree = "<group>"; };
1929B71A92C24FEFE79A851E /* OpenQuicklyWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenQuicklyWindow.swift; sourceTree = "<group>"; };
1929B71B4BB6550F5BC6D4CF /* MainWindow+CustomTitle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "MainWindow+CustomTitle.swift"; sourceTree = "<group>"; };
1929B77CD37F201AEDD6E703 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = config.h; path = "../../third-party/libag/include/config.h"; sourceTree = "<group>"; };
1929B7A68B7109CEFAF105E8 /* AppDelegateReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegateReducer.swift; sourceTree = "<group>"; };
1929B7F7A4B3FD52263D211D /* Defs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Defs.swift; sourceTree = "<group>"; };
1929B8241CDE58F7AAF89AE4 /* PrefUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrefUtils.swift; sourceTree = "<group>"; };
1929B84E4B53B05F5434E464 /* lang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lang.h; path = "../../third-party/libag/include/lang.h"; sourceTree = "<group>"; };
1929B85023B042C485409CE1 /* HtmlPreviewTool.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HtmlPreviewTool.swift; sourceTree = "<group>"; };
1929B88B5FA08E897A3C2168 /* KeysPrefReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeysPrefReducer.swift; sourceTree = "<group>"; };
1929B93256AF7F9137223E36 /* DefaultShortcuts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DefaultShortcuts.swift; sourceTree = "<group>"; };
1929B9695325580C7100B44C /* ignore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ignore.h; path = "../../third-party/libag/include/ignore.h"; sourceTree = "<group>"; };
1929B98192F6873508F8D76A /* FileItem+CoreDataClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "FileItem+CoreDataClass.m"; sourceTree = "<group>"; };
1929B9AF20D7BD6E5C975128 /* FoundationCommons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationCommons.swift; sourceTree = "<group>"; };
1929BA05F1FE30CA74F006C4 /* CssUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CssUtils.swift; sourceTree = "<group>"; };
1929BA43449BA41666CD55ED /* BufferList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BufferList.swift; sourceTree = "<group>"; };
1929BA5854064776A5C38257 /* decompress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = decompress.h; path = "../../third-party/libag/include/decompress.h"; sourceTree = "<group>"; };
1929BA5C7099CDEB04B76BA4 /* FileBrowser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileBrowser.swift; sourceTree = "<group>"; };
1929BADEB143008EFA6F3318 /* NetUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetUtils.h; sourceTree = "<group>"; };
1929BB2AD21A10A0ECA66A5E /* ToolsPref.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToolsPref.swift; sourceTree = "<group>"; };
1929BB55946DAEBF55D24048 /* GeneralPref.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneralPref.swift; sourceTree = "<group>"; };
1929BB6608B4F0E037CA0F4C /* States.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = States.swift; sourceTree = "<group>"; };
1929BB75BEF0ADFD00619A45 /* scandir.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scandir.h; path = "../../third-party/libag/include/scandir.h"; sourceTree = "<group>"; };
1929BBE0A534F2F6009D31BE /* AdvencedPref.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AdvencedPref.swift; sourceTree = "<group>"; };
1929BBF0944940845485A512 /* RpcEvents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RpcEvents.swift; sourceTree = "<group>"; };
1929BC2F05E9A5C0DB039739 /* Theme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
@ -282,7 +272,6 @@
1929BE168F31344B69E61B62 /* PrefWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrefWindow.swift; sourceTree = "<group>"; };
1929BE37AA2843779CAFA76F /* MarkdownPreviewReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MarkdownPreviewReducer.swift; sourceTree = "<group>"; };
1929BE5AEA3D0980860EED50 /* HtmlPreviewToolReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HtmlPreviewToolReducer.swift; sourceTree = "<group>"; };
1929BE6AB18FA655A8A9DA73 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = util.h; path = "../../third-party/libag/include/util.h"; sourceTree = "<group>"; };
1929BED01F5D94BFCA4CF80F /* AppearancePrefReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearancePrefReducer.swift; sourceTree = "<group>"; };
1929BF230875DED6CD7AB3EB /* ShortcutItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShortcutItem.swift; sourceTree = "<group>"; };
1929BFB0F294F3714D5E095F /* MarkdownToolReducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MarkdownToolReducer.swift; sourceTree = "<group>"; };
@ -427,24 +416,6 @@
name = "File Browser";
sourceTree = "<group>";
};
1929B180CD479C16EE70BE41 /* the_silver_searcher */ = {
isa = PBXGroup;
children = (
1929B77CD37F201AEDD6E703 /* config.h */,
1929BA5854064776A5C38257 /* decompress.h */,
1929B9695325580C7100B44C /* ignore.h */,
1929B84E4B53B05F5434E464 /* lang.h */,
1929B0EA67C53B49B98182CA /* log.h */,
1929B13F14CABB7BDCD16B5D /* options.h */,
1929B13E47E7D20EA99EDF92 /* print.h */,
1929BB75BEF0ADFD00619A45 /* scandir.h */,
1929B0A888EA54E5C8FD04C7 /* search.h */,
1929B14F9B30D4A3FA1871A9 /* uthash.h */,
1929BE6AB18FA655A8A9DA73 /* util.h */,
);
name = the_silver_searcher;
sourceTree = "<group>";
};
1929B2C6D0242153758A138A /* Shortcuts */ = {
isa = PBXGroup;
children = (
@ -777,7 +748,6 @@
4BF70EC323D1B3F9009E51E9 /* FuzzyMatcherPool.swift */,
4BF70EE023D1B5B3009E51E9 /* FileScanBaton.h */,
4BF70EDF23D1B5B3009E51E9 /* FileScanBaton.m */,
1929B180CD479C16EE70BE41 /* the_silver_searcher */,
1929BAD7FC1CCB6E95D6C098 /* ccls */,
1929BA1E1547FE22A342BFD4 /* Core Data */,
);

View File

@ -3,13 +3,12 @@
* See LICENSE
*/
import XCTest
import Nimble
import RxSwift
import RxTest
import XCTest
class RxSwiftCommonsTest: XCTestCase {
func testMapOmittingNil() {
let scheduler = TestScheduler(initialClock: 0)
@ -21,7 +20,7 @@ class RxSwiftCommonsTest: XCTestCase {
next(230, 4),
next(240, 5),
next(260, 6),
completed(300)
completed(300),
]
)
@ -31,7 +30,7 @@ class RxSwiftCommonsTest: XCTestCase {
next(210, 2),
next(230, 4),
next(260, 6),
completed(300)
completed(300),
]
XCTAssertEqual(res.events, correctMessages)