|
244 | 244 | AG.setsubtype!(fielddefn, AG.OFSTFloat32) |
245 | 245 | return AG.addfielddefn!(layer, fielddefn) |
246 | 246 | end |
| 247 | + AG.createfielddefn("jsonsubfield", AG.OFTString) do fielddefn |
| 248 | + AG.setsubtype!(fielddefn, AG.OFSTJSON) |
| 249 | + return AG.addfielddefn!(layer, fielddefn) |
| 250 | + end |
247 | 251 | AG.createfielddefn("uint1616subfield", AG.OFTInteger) do fielddefn |
248 | 252 | return AG.addfielddefn!(layer, fielddefn) |
249 | 253 | end |
|
255 | 259 | return AG.addfielddefn!(layer, fielddefn) |
256 | 260 | end |
257 | 261 | AG.createfeature(layer) do feature |
| 262 | + geojsonstring = "{ \"type\": \"Polygon\", \"coordinates\": [ [ [ 4, 44 ], [ 5, 44 ], [ 5, 45 ], [ 4, 45 ], [ 4, 44 ] ] ] }" |
258 | 263 | AG.setfield!(feature, 0, Int64(1)) |
259 | 264 | AG.setfield!(feature, 1, Float64(1.0)) |
260 | 265 | AG.setfield!(feature, 2, Int32[1, 2]) |
|
270 | 275 | AG.setfield!(feature, 12, Int8(1)) |
271 | 276 | AG.setfield!(feature, 13, Float32(1.0)) |
272 | 277 | AG.setfield!(feature, 14, Float16(1.0)) |
273 | | - AG.setfield!(feature, 15, UInt16(1.0)) |
274 | | - AG.setfield!(feature, 16, UInt32(1.0)) |
275 | | - AG.setfield!(feature, 17, EnumValue) |
| 278 | + AG.setfield!(feature, 15, geojsonstring) |
| 279 | + AG.setfield!(feature, 16, UInt16(1.0)) |
| 280 | + AG.setfield!(feature, 17, UInt32(1.0)) |
| 281 | + AG.setfield!(feature, 18, EnumValue) |
276 | 282 | for i in 1:AG.nfield(feature) |
277 | 283 | @test !AG.isfieldnull(feature, i - 1) |
278 | 284 | @test AG.isfieldsetandnotnull(feature, i - 1) |
|
289 | 295 | @test AG.getfield(feature, 12) === Int16(1) # Widened from Int8 |
290 | 296 | @test AG.getfield(feature, 13) === Float32(1.0) |
291 | 297 | @test AG.getfield(feature, 14) === Float32(1.0) # Widened from Float16 |
292 | | - @test AG.getfield(feature, 15) === Int32(1) # Widened from UInt16 |
293 | | - @test AG.getfield(feature, 16) === Int64(1) # Widened from UInt32 |
294 | | - @test AG.getfield(feature, 17) === false # Enum is lost |
| 298 | + @test AG.getfield(feature, 15) === geojsonstring |
| 299 | + @test AG.getfield(feature, 16) === Int32(1) # Widened from UInt16 |
| 300 | + @test AG.getfield(feature, 17) === Int64(1) # Widened from UInt32 |
| 301 | + @test AG.getfield(feature, 18) === false # Enum is lost |
295 | 302 |
|
296 | 303 | AG.addfeature(layer) do newfeature |
297 | 304 | AG.setfrom!(newfeature, feature) |
|
0 commit comments