Skip to content

Commit b2c2373

Browse files
build(deps): bump compnerd/gha-setup-swift from 0.0.1 to 0.1.0 (#126)
* build(deps): bump compnerd/gha-setup-swift from 0.0.1 to 0.1.0 Bumps [compnerd/gha-setup-swift](https://github.com/compnerd/gha-setup-swift) from 0.0.1 to 0.1.0. - [Release notes](https://github.com/compnerd/gha-setup-swift/releases) - [Commits](compnerd/gha-setup-swift@v0.0.1...v0.1.0) --- updated-dependencies: - dependency-name: compnerd/gha-setup-swift dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * fix query test decoding double as string * Update ci.yml --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Corey <[email protected]>
1 parent 5f2c5f4 commit b2c2373

File tree

2 files changed

+45
-12
lines changed

2 files changed

+45
-12
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ concurrency:
1717

1818
jobs:
1919
test:
20-
timeout-minutes: 15
20+
timeout-minutes: 20
2121
runs-on: macos-13
2222
strategy:
2323
matrix:
@@ -63,7 +63,7 @@ jobs:
6363
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }}
6464

6565
spm-test:
66-
timeout-minutes: 15
66+
timeout-minutes: 20
6767
runs-on: macos-13
6868
steps:
6969
- uses: actions/checkout@v3
@@ -97,7 +97,7 @@ jobs:
9797
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }}
9898

9999
xcode-test-5_5:
100-
timeout-minutes: 15
100+
timeout-minutes: 20
101101
needs: linux
102102
runs-on: macos-12
103103
steps:
@@ -133,7 +133,7 @@ jobs:
133133
runs-on: windows-latest
134134
steps:
135135
- uses: actions/checkout@v3
136-
- uses: compnerd/gha-setup-swift@v0.0.1
136+
- uses: compnerd/gha-setup-swift@v0.1.0
137137
with:
138138
branch: swift-5.8-release
139139
tag: 5.8-RELEASE

Tests/ParseSwiftTests/ParseQueryTests.swift

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,19 @@ import XCTest
1212

1313
class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
1414

15+
enum QueryTestError: Error, CustomStringConvertible {
16+
17+
case couldNotDecodeAsString
18+
19+
var description: String {
20+
switch self {
21+
case .couldNotDecodeAsString:
22+
return "Could not decode to String"
23+
}
24+
}
25+
26+
}
27+
1528
struct GameScore: ParseObject, ParseQueryScorable {
1629
//: These are required by ParseObject
1730
var objectId: String?
@@ -77,6 +90,14 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
7790
try await ParseStorage.shared.deleteAll()
7891
}
7992

93+
func encodeDoubleAsString(_ double: Double) throws -> String {
94+
let encodedDouble = try ParseCoding.jsonEncoder().encode(double)
95+
guard let decodedDouble = String(data: encodedDouble, encoding: .utf8) else {
96+
throw QueryTestError.couldNotDecodeAsString
97+
}
98+
return decodedDouble
99+
}
100+
80101
// MARK: Initialization
81102
func testConstructors() {
82103
let query = Query<GameScore>()
@@ -2934,23 +2955,35 @@ class ParseQueryTests: XCTestCase { // swiftlint:disable:this type_body_length
29342955

29352956
#if !os(Linux) && !os(Android) && !os(Windows)
29362957
func testWhereKeyWithinPolygonPoints() throws {
2958+
let latitude1 = 10.1
2959+
let longitude1 = 20.1
2960+
let latitude2 = 20.1
2961+
let longitude2 = 30.1
2962+
let latitude3 = 30.1
2963+
let longitude3 = 40.1
29372964
// swiftlint:disable:next line_length
2938-
let expected = "{\"yolo\":{\"$geoWithin\":{\"$polygon\":[{\"__type\":\"GeoPoint\",\"latitude\":10.1,\"longitude\":20.100000000000001},{\"__type\":\"GeoPoint\",\"latitude\":20.100000000000001,\"longitude\":30.100000000000001},{\"__type\":\"GeoPoint\",\"latitude\":30.100000000000001,\"longitude\":40.100000000000001}]}}}"
2939-
let geoPoint1 = try ParseGeoPoint(latitude: 10.1, longitude: 20.1)
2940-
let geoPoint2 = try ParseGeoPoint(latitude: 20.1, longitude: 30.1)
2941-
let geoPoint3 = try ParseGeoPoint(latitude: 30.1, longitude: 40.1)
2965+
let expected = "{\"yolo\":{\"$geoWithin\":{\"$polygon\":[{\"__type\":\"GeoPoint\",\"latitude\":\(try encodeDoubleAsString(latitude1)),\"longitude\":\(try encodeDoubleAsString(longitude1))},{\"__type\":\"GeoPoint\",\"latitude\":\(try encodeDoubleAsString(latitude2)),\"longitude\":\(try encodeDoubleAsString(longitude2))},{\"__type\":\"GeoPoint\",\"latitude\":\(try encodeDoubleAsString(latitude3)),\"longitude\":\(try encodeDoubleAsString(longitude3))}]}}}"
2966+
let geoPoint1 = try ParseGeoPoint(latitude: latitude1, longitude: longitude1)
2967+
let geoPoint2 = try ParseGeoPoint(latitude: latitude2, longitude: longitude2)
2968+
let geoPoint3 = try ParseGeoPoint(latitude: latitude3, longitude: longitude3)
29422969
let polygon = [geoPoint1, geoPoint2, geoPoint3]
29432970
let constraint = withinPolygon(key: "yolo", points: polygon)
29442971
let query = GameScore.query(constraint)
29452972
XCTAssertEqual(query.where.description, expected)
29462973
}
29472974

29482975
func testWhereKeyWithinPolygon() throws {
2976+
let latitude1 = 10.1
2977+
let longitude1 = 20.1
2978+
let latitude2 = 20.1
2979+
let longitude2 = 30.1
2980+
let latitude3 = 30.1
2981+
let longitude3 = 40.1
29492982
// swiftlint:disable:next line_length
2950-
let expected = "{\"yolo\":{\"$geoWithin\":{\"$polygon\":{\"__type\":\"Polygon\",\"coordinates\":[[20.100000000000001,10.1],[30.100000000000001,20.100000000000001],[40.100000000000001,30.100000000000001]]}}}}"
2951-
let geoPoint1 = try ParseGeoPoint(latitude: 10.1, longitude: 20.1)
2952-
let geoPoint2 = try ParseGeoPoint(latitude: 20.1, longitude: 30.1)
2953-
let geoPoint3 = try ParseGeoPoint(latitude: 30.1, longitude: 40.1)
2983+
let expected = "{\"yolo\":{\"$geoWithin\":{\"$polygon\":{\"__type\":\"Polygon\",\"coordinates\":[[\(try encodeDoubleAsString(longitude1)),\(try encodeDoubleAsString(latitude1))],[\(try encodeDoubleAsString(longitude2)),\(try encodeDoubleAsString(latitude2))],[\(try encodeDoubleAsString(longitude3)),\(try encodeDoubleAsString(latitude3))]]}}}}"
2984+
let geoPoint1 = try ParseGeoPoint(latitude: latitude1, longitude: longitude1)
2985+
let geoPoint2 = try ParseGeoPoint(latitude: latitude2, longitude: longitude2)
2986+
let geoPoint3 = try ParseGeoPoint(latitude: latitude3, longitude: longitude3)
29542987
let polygon = try ParsePolygon(geoPoint1, geoPoint2, geoPoint3)
29552988
let constraint = withinPolygon(key: "yolo", polygon: polygon)
29562989
let query = GameScore.query(constraint)

0 commit comments

Comments
 (0)