[Swift] Optional Scalars Preparation (#6028)

* Perpares swift to take optional scalars + adds optional string helper method + disables linters in generated code

* Small fix for generated code

* Update grpc support to alpha 17 for swift
This commit is contained in:
mustiikhalil
2020-07-20 20:38:50 +03:00
committed by GitHub
parent 2e48c8dd31
commit ff1b73128d
12 changed files with 75 additions and 26 deletions

View File

@@ -59,6 +59,27 @@ final class FlatBuffersTests: XCTestCase {
XCTAssertEqual(c.nameVector, [78, 111, 114, 119, 97, 121])
XCTAssertEqual(c.name, country)
}
func testWriteOptionalValues() {
var b = FlatBufferBuilder()
let offset = b.create(string: nil)
createOptionalTable(b: &b, v: nil, off: offset)
let unitArray = b.sizedByteArray
// TODO: - Test function should be adjusted when the generation of optional scalars code is complete
let bb = ByteBuffer(bytes: unitArray)
let table = Table(bb: bb, position: Int32(bb.read(def: UOffset.self, position: bb.reader)) + Int32(bb.reader))
XCTAssertEqual(unitArray, [8, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0])
XCTAssertEqual(table.offset(4) == 0, true)
XCTAssertEqual(table.offset(6) == 0, true)
}
func createOptionalTable(b: inout FlatBufferBuilder, v: Int?, off: Offset<String>) {
let start = b.startTable(with: 2)
b.add(offset: off, at: 6)
b.add(element: v, at: 4)
let root = Offset<UOffset>(offset: b.endTable(at: start))
b.finish(offset: root)
}
}
class Country {