jenkins-bot has submitted this change and it was merged.
Change subject: [time.js] added time.Time.maxPrecision and tests
......................................................................
[time.js] added time.Time.maxPrecision and tests
Change-Id: I305a68dd2ee26284196bbc54ae637747fd6f0d37
---
M DataValues/DataValues.tests.qunit.php
M DataValues/resources/time.js/src/time.Time.js
M DataValues/resources/time.js/tests/time.Time.knowsPrecision.tests.js
A DataValues/resources/time.js/tests/time.Time.maxPrecision.tests.js
4 files changed, 66 insertions(+), 0 deletions(-)
Approvals:
Henning Snater: Looks good to me, approved
jenkins-bot: Verified
diff --git a/DataValues/DataValues.tests.qunit.php
b/DataValues/DataValues.tests.qunit.php
index ffdd3f7..3e8a0ab 100644
--- a/DataValues/DataValues.tests.qunit.php
+++ b/DataValues/DataValues.tests.qunit.php
@@ -83,6 +83,7 @@
'time.js.tests' => array(
'scripts' => array(
'resources/time.js/tests/time.Time.knowsPrecision.tests.js',
+
'resources/time.js/tests/time.Time.maxPrecision.tests.js',
),
'dependencies' => array(
'time.js',
diff --git a/DataValues/resources/time.js/src/time.Time.js
b/DataValues/resources/time.js/src/time.Time.js
index 9f91d91..ca9d25d 100644
--- a/DataValues/resources/time.js/src/time.Time.js
+++ b/DataValues/resources/time.js/src/time.Time.js
@@ -243,6 +243,15 @@
};
/**
+ * Returns the highest possible precision from the time.Time.PRECISION
enum.
+ *
+ * @returns {Number}
+ */
+ Time.maxPrecision = function() {
+ return Time.PRECISION.SECOND;
+ };
+
+ /**
* All supported calendar models
* @type {Object}
*/
diff --git
a/DataValues/resources/time.js/tests/time.Time.knowsPrecision.tests.js
b/DataValues/resources/time.js/tests/time.Time.knowsPrecision.tests.js
index 1f77e57..861add6 100644
--- a/DataValues/resources/time.js/tests/time.Time.knowsPrecision.tests.js
+++ b/DataValues/resources/time.js/tests/time.Time.knowsPrecision.tests.js
@@ -24,6 +24,10 @@
QUnit.test( 'invalid precisions', function( assert ) {
assert.ok(
+ !Time.knowsPrecision( Time.maxPrecision() + 1 ),
+ 'Precision above highest precision is an unknown
precision'
+ );
+ assert.ok(
!Time.knowsPrecision( 'foo' ),
'Random string is not a known precision'
);
diff --git a/DataValues/resources/time.js/tests/time.Time.maxPrecision.tests.js
b/DataValues/resources/time.js/tests/time.Time.maxPrecision.tests.js
new file mode 100644
index 0000000..0186454
--- /dev/null
+++ b/DataValues/resources/time.js/tests/time.Time.maxPrecision.tests.js
@@ -0,0 +1,52 @@
+/**
+ * @since 0.1
+ * @file
+ * @ingroup Time.js
+ *
+ * @licence GNU GPL v2+
+ * @author Daniel Werner
+ */
+( function( QUnit, jQuery, Time ) {
+ 'use strict';
+
+ QUnit.module( 'Time.js: time.Time.maxPrecision' );
+
+ QUnit.test( 'time.Time.maxPrecision() return value', function( assert )
{
+ var maxPrecision = Time.maxPrecision();
+
+ assert.ok(
+ typeof maxPrecision === 'number',
+ 'returns a number'
+ );
+
+ assert.ok(
+ !isNaN( maxPrecision ),
+ 'return value is not NaN'
+ );
+ } );
+
+ QUnit.test( 'maxPrecision accuracy', function( assert ) {
+ var precisionKey, precision,
+ maxDetermined = Number.NEGATIVE_INFINITY;
+
+ for( precisionKey in Time.PRECISION ) {
+ precision = Time.PRECISION[ precisionKey ];
+
+ assert.ok(
+ precision <= Time.maxPrecision(),
+ 'precision "' + precisionKey + '" smaller or
equal time.Time.maxPrecision()'
+ );
+
+ if( precision > maxDetermined ) {
+ maxDetermined = precision;
+ }
+ }
+
+ assert.strictEqual(
+ Time.maxPrecision(),
+ maxDetermined,
+ 'time.Time.maxPrecision() returns highest number within
the precision enum'
+ );
+ } );
+
+}( QUnit, jQuery, time.Time ) );
--
To view, visit https://gerrit.wikimedia.org/r/63988
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I305a68dd2ee26284196bbc54ae637747fd6f0d37
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/DataValues
Gerrit-Branch: master
Gerrit-Owner: Daniel Werner <[email protected]>
Gerrit-Reviewer: Henning Snater <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits