]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Numerical improvements to matcher
authorEvert Timberg <evert.timberg+github@gmail.com>
Wed, 27 Apr 2016 23:46:15 +0000 (19:46 -0400)
committerEvert Timberg <evert.timberg+github@gmail.com>
Wed, 27 Apr 2016 23:46:15 +0000 (19:46 -0400)
test/mockContext.js

index 08d6101aa9e376bd4708f6b17bd51c02d9910a22..14cd1eec9adbb76bab41c6888f958e52ff9dff75 100644 (file)
        function toBeCloseToPixel() {
                return {
                        compare: function(actual, expected) {
-                               var result = (!isNaN(actual) && !isNaN(expected))?
-                                       Math.abs(actual - expected) < 2 :       // 2 pixels tolerance
-                                       false;
+                               var result = false;
+
+                               if (!isNaN(actual) && !isNaN(expected)) {
+                                       var diff = Math.abs(actual - expected);
+                                       var A = Math.abs(actual);
+                                       var B = Math.abs(expected);
+                                       var percentDiff = 0.005; // 0.5% diff
+                                       result = (diff <= (A > B ? A : B) * percentDiff) || diff < 2; // 2 pixels is fine
+                               }
 
                                return { pass: result };
                        }
 
        window.addDefaultMatchers = function(jasmine) {
                jasmine.addMatchers({
-                       toBeCloseToPixel: toBeCloseToPixel
+                       toBeCloseToPixel: toBeCloseToPixel,
                });
        }