@@ -241,10 +241,77 @@ void TestQgisAppClipboard::pasteWkt()
241
241
QCOMPARE ( point->x (), 125.0 );
242
242
QCOMPARE ( point->y (), 10.0 );
243
243
244
- // clipboard now supports features without geometry
245
- mQgisApp ->clipboard ()->setText ( QStringLiteral ( " MNL 11 282 km \n MNL 11 347 .80000000000001 km " ) );
244
+ // clipboard should support features without geometry
245
+ mQgisApp ->clipboard ()->setText ( QStringLiteral ( " \t MNL \t 11 \t 282 \t km \t\t\t\n\t MNL \t 11 \t 347 .80000000000001\t km \t\t\t " ) );
246
246
features = mQgisApp ->clipboard ()->copyOf ();
247
247
QCOMPARE ( features.length (), 2 );
248
+ QVERIFY ( !features.at ( 0 ).hasGeometry () );
249
+ QCOMPARE ( features.at ( 0 ).attributes ().count (), 7 );
250
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 0 ).toString (), QStringLiteral ( " MNL" ) );
251
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 1 ).toString (), QStringLiteral ( " 11" ) );
252
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 2 ).toString (), QStringLiteral ( " 282" ) );
253
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 3 ).toString (), QStringLiteral ( " km" ) );
254
+ QVERIFY ( features.at ( 0 ).attributes ().at ( 4 ).toString ().isEmpty () );
255
+ QVERIFY ( features.at ( 0 ).attributes ().at ( 5 ).toString ().isEmpty () );
256
+ QVERIFY ( features.at ( 0 ).attributes ().at ( 6 ).toString ().isEmpty () );
257
+ QVERIFY ( !features.at ( 1 ).hasGeometry () );
258
+ QCOMPARE ( features.at ( 1 ).attributes ().count (), 7 );
259
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 0 ).toString (), QStringLiteral ( " MNL" ) );
260
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 1 ).toString (), QStringLiteral ( " 11" ) );
261
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 2 ).toString (), QStringLiteral ( " 347.80000000000001" ) );
262
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 3 ).toString (), QStringLiteral ( " km" ) );
263
+ QVERIFY ( features.at ( 1 ).attributes ().at ( 4 ).toString ().isEmpty () );
264
+ QVERIFY ( features.at ( 1 ).attributes ().at ( 5 ).toString ().isEmpty () );
265
+ QVERIFY ( features.at ( 1 ).attributes ().at ( 6 ).toString ().isEmpty () );
266
+
267
+ mQgisApp ->clipboard ()->setText ( QStringLiteral ( " wkt_geom\t a\t b\t c\n\t MNL\t 11\t 282\t km\t\t\t\n\t MNL\t 11\t 347.80000000000001\t km\t\t\t " ) );
268
+ features = mQgisApp ->clipboard ()->copyOf ();
269
+ QCOMPARE ( features.length (), 2 );
270
+ QVERIFY ( !features.at ( 0 ).hasGeometry () );
271
+ QCOMPARE ( features.at ( 0 ).fields ().count (), 3 );
272
+ QCOMPARE ( features.at ( 0 ).fields ().at ( 0 ).name (), QStringLiteral ( " a" ) );
273
+ QCOMPARE ( features.at ( 0 ).fields ().at ( 1 ).name (), QStringLiteral ( " b" ) );
274
+ QCOMPARE ( features.at ( 0 ).fields ().at ( 2 ).name (), QStringLiteral ( " c" ) );
275
+ QCOMPARE ( features.at ( 0 ).attributes ().count (), 7 );
276
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 0 ).toString (), QStringLiteral ( " MNL" ) );
277
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 1 ).toString (), QStringLiteral ( " 11" ) );
278
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 2 ).toString (), QStringLiteral ( " 282" ) );
279
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 3 ).toString (), QStringLiteral ( " km" ) );
280
+ QVERIFY ( features.at ( 0 ).attributes ().at ( 4 ).toString ().isEmpty () );
281
+ QVERIFY ( features.at ( 0 ).attributes ().at ( 5 ).toString ().isEmpty () );
282
+ QVERIFY ( features.at ( 0 ).attributes ().at ( 6 ).toString ().isEmpty () );
283
+ QVERIFY ( !features.at ( 1 ).hasGeometry () );
284
+ QCOMPARE ( features.at ( 1 ).attributes ().count (), 7 );
285
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 0 ).toString (), QStringLiteral ( " MNL" ) );
286
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 1 ).toString (), QStringLiteral ( " 11" ) );
287
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 2 ).toString (), QStringLiteral ( " 347.80000000000001" ) );
288
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 3 ).toString (), QStringLiteral ( " km" ) );
289
+ QVERIFY ( features.at ( 1 ).attributes ().at ( 4 ).toString ().isEmpty () );
290
+ QVERIFY ( features.at ( 1 ).attributes ().at ( 5 ).toString ().isEmpty () );
291
+ QVERIFY ( features.at ( 1 ).attributes ().at ( 6 ).toString ().isEmpty () );
292
+
293
+ mQgisApp ->clipboard ()->setText ( QStringLiteral ( " wkt_geom\t a\t b\t c\n NULL\t 1\t b\t 2\n NULL\t 3\t c3\t 4\n Point (5 4)\t 2\t b2\t 3" ) );
294
+ features = mQgisApp ->clipboard ()->copyOf ();
295
+ QCOMPARE ( features.length (), 3 );
296
+ QCOMPARE ( features.at ( 0 ).fields ().count (), 3 );
297
+ QCOMPARE ( features.at ( 0 ).fields ().at ( 0 ).name (), QStringLiteral ( " a" ) );
298
+ QCOMPARE ( features.at ( 0 ).fields ().at ( 1 ).name (), QStringLiteral ( " b" ) );
299
+ QCOMPARE ( features.at ( 0 ).fields ().at ( 2 ).name (), QStringLiteral ( " c" ) );
300
+ QVERIFY ( !features.at ( 0 ).hasGeometry () );
301
+ QCOMPARE ( features.at ( 0 ).attributes ().count (), 3 );
302
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 0 ).toString (), QStringLiteral ( " 1" ) );
303
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 1 ).toString (), QStringLiteral ( " b" ) );
304
+ QCOMPARE ( features.at ( 0 ).attributes ().at ( 2 ).toString (), QStringLiteral ( " 2" ) );
305
+ QVERIFY ( !features.at ( 1 ).hasGeometry () );
306
+ QCOMPARE ( features.at ( 1 ).attributes ().count (), 3 );
307
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 0 ).toString (), QStringLiteral ( " 3" ) );
308
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 1 ).toString (), QStringLiteral ( " c3" ) );
309
+ QCOMPARE ( features.at ( 1 ).attributes ().at ( 2 ).toString (), QStringLiteral ( " 4" ) );
310
+ QCOMPARE ( features.at ( 2 ).geometry ().asWkt (), QStringLiteral ( " Point (5 4)" ) );
311
+ QCOMPARE ( features.at ( 2 ).attributes ().count (), 3 );
312
+ QCOMPARE ( features.at ( 2 ).attributes ().at ( 0 ).toString (), QStringLiteral ( " 2" ) );
313
+ QCOMPARE ( features.at ( 2 ).attributes ().at ( 1 ).toString (), QStringLiteral ( " b2" ) );
314
+ QCOMPARE ( features.at ( 2 ).attributes ().at ( 2 ).toString (), QStringLiteral ( " 3" ) );
248
315
}
249
316
250
317
void TestQgisAppClipboard::pasteGeoJson ()
0 commit comments