summaryrefslogtreecommitdiff
path: root/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough
diff options
context:
space:
mode:
Diffstat (limited to 'www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough')
-rw-r--r--www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/README.md17
-rw-r--r--www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/close-enough-test.js35
-rw-r--r--www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/close-enough.html14
-rw-r--r--www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/qunit-close-enough.js32
4 files changed, 98 insertions, 0 deletions
diff --git a/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/README.md b/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/README.md
new file mode 100644
index 00000000..d490b250
--- /dev/null
+++ b/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/README.md
@@ -0,0 +1,17 @@
+Close-Enough - A QUnit Addon For Number Approximations
+================================
+
+This addon for QUnit adds close and notClose assertion methods, to test that
+numbers are close enough (or different enough) from an expected number, with
+a specified accuracy.
+
+Usage:
+
+ close(actual, expected, maxDifference, message)
+ notClose(actual, expected, minDifference, message)
+
+Where:
+
+ * maxDifference: the maximum inclusive difference allowed between the actual and expected numbers
+ * minDifference: the minimum exclusive difference allowed between the actual and expected numbers
+ * actual, expected, message: The usual
diff --git a/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/close-enough-test.js b/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/close-enough-test.js
new file mode 100644
index 00000000..fc6a9a82
--- /dev/null
+++ b/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/close-enough-test.js
@@ -0,0 +1,35 @@
+test("Close Numbers", function () {
+ var halfPi = Math.PI / 2,
+ sqrt2 = Math.sqrt(2);
+
+ QUnit.close(7, 7, 0);
+ QUnit.close(7, 7.1, 0.1);
+ QUnit.close(7, 7.1, 0.2);
+
+ QUnit.close(3.141, Math.PI, 0.001);
+ QUnit.close(3.1, Math.PI, 0.1);
+
+ QUnit.close(halfPi, 1.57, 0.001);
+
+ QUnit.close(sqrt2, 1.4142, 0.0001);
+
+ QUnit.close(Infinity, Infinity, 1);
+});
+
+test("Distant Numbers", function () {
+ var halfPi = Math.PI / 2,
+ sqrt2 = Math.sqrt(2);
+
+ QUnit.notClose(6, 7, 0);
+ QUnit.notClose(7, 7.2, 0.1);
+ QUnit.notClose(7, 7.2, 0.19999999999);
+
+ QUnit.notClose(3.141, Math.PI, 0.0001);
+ QUnit.notClose(3.1, Math.PI, 0.001);
+
+ QUnit.notClose(halfPi, 1.57, 0.0001);
+
+ QUnit.notClose(sqrt2, 1.4142, 0.00001);
+
+ QUnit.notClose(Infinity, -Infinity, 5);
+}); \ No newline at end of file
diff --git a/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/close-enough.html b/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/close-enough.html
new file mode 100644
index 00000000..f5683201
--- /dev/null
+++ b/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/close-enough.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="UTF-8" />
+ <title>QUnit Test Suite - Close Enough Addon</title>
+ <link rel="stylesheet" href="../../qunit/qunit.css" type="text/css" media="screen">
+ <script type="text/javascript" src="../../qunit/qunit.js"></script>
+ <script type="text/javascript" src="qunit-close-enough.js"></script>
+ <script type="text/javascript" src="close-enough-test.js"></script>
+</head>
+<body>
+ <div id="qunit"></div>
+</body>
+</html>
diff --git a/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/qunit-close-enough.js b/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/qunit-close-enough.js
new file mode 100644
index 00000000..ddb5a584
--- /dev/null
+++ b/www/crm/wp-content/plugins/civicrm/civicrm/bower_components/qunit/addons/close-enough/qunit-close-enough.js
@@ -0,0 +1,32 @@
+QUnit.extend( QUnit, {
+ /**
+ * Checks that the first two arguments are equal, or are numbers close enough to be considered equal
+ * based on a specified maximum allowable difference.
+ *
+ * @example close(3.141, Math.PI, 0.001);
+ *
+ * @param Number actual
+ * @param Number expected
+ * @param Number maxDifference (the maximum inclusive difference allowed between the actual and expected numbers)
+ * @param String message (optional)
+ */
+ close: function(actual, expected, maxDifference, message) {
+ var passes = (actual === expected) || Math.abs(actual - expected) <= maxDifference;
+ QUnit.push(passes, actual, expected, message);
+ },
+
+ /**
+ * Checks that the first two arguments are numbers with differences greater than the specified
+ * minimum difference.
+ *
+ * @example notClose(3.1, Math.PI, 0.001);
+ *
+ * @param Number actual
+ * @param Number expected
+ * @param Number minDifference (the minimum exclusive difference allowed between the actual and expected numbers)
+ * @param String message (optional)
+ */
+ notClose: function(actual, expected, minDifference, message) {
+ QUnit.push(Math.abs(actual - expected) > minDifference, actual, expected, message);
+ }
+}); \ No newline at end of file