Aude has uploaded a new change for review.
https://gerrit.wikimedia.org/r/84328
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(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DataValues
refs/changes/28/84328/1
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: newchange
Gerrit-Change-Id: I5a169a1f8c4387da1545ac580c637e56f9297226
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/DataValues
Gerrit-Branch: mw1.22-wmf16
Gerrit-Owner: Aude <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits