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

Reply via email to