You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add this to test/components/nearest_point_on_line_test.dart:
test('nearest_point_on_line -- linestring with one point', () {
final start = Point(coordinates: Position.of([-122.457175, 37.720033]));
final line = LineString(coordinates: [
start.coordinates,
]);
final snapped = nearestPointOnLine(line, start);
expect(snapped.geometry, start);
expect(snapped.properties!['dist'], 0);
});
Then run dart test:
test\components\nearest_point_on_line_test.dart: nearest_point_on_line -- linestring with one point [E]
Null check operator used on a null value
package:turf/src/nearest_point_on_line.dart 151:17 _nearestPointOnLine
package:turf/src/nearest_point_on_line.dart 206:10 nearestPointOnLine
test\components\nearest_point_on_line_test.dart 234:21 main.<fn>
Comparing to turf.js
npm install @turf/turf
Create index.js:
const turf = require('@turf/turf');
var line = turf.lineString([[-24, 43]]);
console.log(line);
node index.js:
C:\..\turf\node_modules\@turf\helpers\dist\js\index.js:294
throw new Error("coordinates must be an array of two or more positions");
^
Error: coordinates must be an array of two or more positions
at Object.lineString (_C:\.._\turf\node_modules\@turf\helpers\dist\js\index.js:294:15)
at Object.<anonymous> (C:\..\turf\index.js:3:17)
at Module._compile (node:internal/modules/cjs/loader:1376:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
at Module.load (node:internal/modules/cjs/loader:1207:32)
at Module._load (node:internal/modules/cjs/loader:1023:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)
at node:internal/main/run_main_module:28:49
Node.js v20.11.0
Expected / discussion
I expect that either LineString reject creating lines with less than 2 coordinates or that methods like nearset_point_on_line throws or return null.
In turf.js this is rejected when the LineString is created and there is a comment next to the line in turf_dart where it fails saying that LineString should have at least two coordinates.
The text was updated successfully, but these errors were encountered:
Steps to reproduce
Add this to
test/components/nearest_point_on_line_test.dart
:Then run
dart test
:Comparing to turf.js
Create index.js:
node index.js
:Expected / discussion
I expect that either LineString reject creating lines with less than 2 coordinates or that methods like nearset_point_on_line throws or return null.
In turf.js this is rejected when the LineString is created and there is a comment next to the line in turf_dart where it fails saying that LineString should have at least two coordinates.
The text was updated successfully, but these errors were encountered: