Aude has submitted this change and it was merged. Change subject: allow globe coordinate precision to be null in JS ......................................................................
allow globe coordinate precision to be null in JS Change-Id: I5a169a1f8c4387da1545ac580c637e56f9297226 --- M DataValues/resources/globeCoordinate.js/src/globeCoordinate.Formatter.js M DataValues/resources/globeCoordinate.js/src/globeCoordinate.GlobeCoordinate.js M DataValues/resources/globeCoordinate.js/tests/globeCoordinate.Formatter.tests.js M DataValues/resources/globeCoordinate.js/tests/globeCoordinate.GlobeCoordinate.tests.js 4 files changed, 37 insertions(+), 6 deletions(-) Approvals: Aude: Verified; Looks good to me, approved diff --git a/DataValues/resources/globeCoordinate.js/src/globeCoordinate.Formatter.js b/DataValues/resources/globeCoordinate.js/src/globeCoordinate.Formatter.js index 51bfe81..2d1d777 100644 --- a/DataValues/resources/globeCoordinate.js/src/globeCoordinate.Formatter.js +++ b/DataValues/resources/globeCoordinate.js/src/globeCoordinate.Formatter.js @@ -90,10 +90,19 @@ * @return {string} */ decimal: function( gc ) { + var latitude = gc.getLatitude(); + var longitude = gc.getLongitude(); + var precision = gc.getPrecision(); + + if( gc.getPrecision() ) { + latitude = globeCoordinate.toDecimal( latitude, precision ); + longitude = globeCoordinate.toDecimal( longitude, precision ); + } + return '' - + globeCoordinate.toDecimal( gc.getLatitude(), gc.getPrecision() ) + + latitude + this._options.latLongCombinator - + globeCoordinate.toDecimal( gc.getLongitude(), gc.getPrecision() ); + + longitude; }, /** diff --git a/DataValues/resources/globeCoordinate.js/src/globeCoordinate.GlobeCoordinate.js b/DataValues/resources/globeCoordinate.js/src/globeCoordinate.GlobeCoordinate.js index ab6f358..73742ee 100644 --- a/DataValues/resources/globeCoordinate.js/src/globeCoordinate.GlobeCoordinate.js +++ b/DataValues/resources/globeCoordinate.js/src/globeCoordinate.GlobeCoordinate.js @@ -27,12 +27,11 @@ if( !gcDef || typeof gcDef !== 'object' || gcDef.latitude === undefined || gcDef.longitude === undefined - || gcDef.precision === undefined ) { throw new Error( 'No proper globe coordinate definition given' ); } - if( !isValidPrecision( gcDef.precision ) ) { + if( gcDef.precision && !isValidPrecision( gcDef.precision ) ) { throw new Error( 'No valid precision given' ); } diff --git a/DataValues/resources/globeCoordinate.js/tests/globeCoordinate.Formatter.tests.js b/DataValues/resources/globeCoordinate.js/tests/globeCoordinate.Formatter.tests.js index a856994..77320c9 100644 --- a/DataValues/resources/globeCoordinate.js/tests/globeCoordinate.Formatter.tests.js +++ b/DataValues/resources/globeCoordinate.js/tests/globeCoordinate.Formatter.tests.js @@ -15,12 +15,14 @@ var decimalTexts = { '1, 1': new GlobeCoordinate( { latitude: 1, longitude: 1, precision: 1 } ), '-10, -1.5': new GlobeCoordinate( { latitude: -10, longitude: -1.5, precision: 0.1 } ), - '20, 0': new GlobeCoordinate( { latitude: 24, longitude: -1.5, precision: 10 } ) + '20, 0': new GlobeCoordinate( { latitude: 24, longitude: -1.5, precision: 10 } ), + '15, 20' : new GlobeCoordinate( { latitude: 15, longitude: 20 } ) }, degreeTexts= { '1°N, 1°E': new GlobeCoordinate( { latitude: 1, longitude: 1, precision: 1 } ), '10°0\'S, 2°30\'W': new GlobeCoordinate( { latitude: -10, longitude: -2.5, precision: 0.1 } ), - '20°N, 0°W': new GlobeCoordinate( { latitude: 24, longitude: -1.5, precision: 10 } ) + '20°N, 0°W': new GlobeCoordinate( { latitude: 24, longitude: -1.5, precision: 10 } ), + '1°0\'0"N, 1°0\'0"E': new GlobeCoordinate( { latitude: 1, longitude: 1 } ) }; var formatter = new Formatter( { format: 'decimal' } ); diff --git a/DataValues/resources/globeCoordinate.js/tests/globeCoordinate.GlobeCoordinate.tests.js b/DataValues/resources/globeCoordinate.js/tests/globeCoordinate.GlobeCoordinate.tests.js index 1ddb754..542770c 100644 --- a/DataValues/resources/globeCoordinate.js/tests/globeCoordinate.GlobeCoordinate.tests.js +++ b/DataValues/resources/globeCoordinate.js/tests/globeCoordinate.GlobeCoordinate.tests.js @@ -68,6 +68,27 @@ 'Verified iso6709()' ); + // test with no precision provided + c = new globeCoordinate.GlobeCoordinate( { latitude: 20, longitude: 25.5 } ); + + assert.equal( + c.getLatitude(), + 20, + 'Verified getLatitude()' + ); + + assert.equal( + c.getLongitude(), + 25.5, + 'Verified getLatitude()' + ); + + assert.equal( + c.getPrecision(), + null, + 'Verified precision is null' + ); + } ); QUnit.test( 'equals()', function( assert ) { -- To view, visit https://gerrit.wikimedia.org/r/84328 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I5a169a1f8c4387da1545ac580c637e56f9297226 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/DataValues Gerrit-Branch: mw1.22-wmf16 Gerrit-Owner: Aude <aude.w...@gmail.com> Gerrit-Reviewer: Aude <aude.w...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits