From: Justin Lau Date: Sun, 5 May 2013 11:54:27 +0000 (+0800) Subject: Added test cases for #104. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=672699613e79c24d4e744313f5c0a51400958d8a;p=UglifyJS.git Added test cases for #104. Signed-off-by: Justin Lau --- diff --git a/test/compress/issue-143.js b/test/compress/issue-143.js new file mode 100644 index 00000000..4c79790b --- /dev/null +++ b/test/compress/issue-143.js @@ -0,0 +1,48 @@ +/** + * There was an incorrect sort behaviour documented in issue #143: + * (x = f(…)) <= x → x >= (x = f(…)) + * + * For example, let the equation be: + * (a = parseInt('100')) <= a + * + * If a was an integer and has the value of 99, + * (a = parseInt('100')) <= a → 100 <= 100 → true + * + * When transformed incorrectly: + * a >= (a = parseInt('100')) → 99 >= 100 → false + */ + +tranformation_sort_order_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) == a } + expect: { (a = parseInt('100')) == a } +} + +tranformation_sort_order_unequal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) != a } + expect: { (a = parseInt('100')) != a } +} + +tranformation_sort_order_lesser_or_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) <= a } + expect: { (a = parseInt('100')) <= a } +} +tranformation_sort_order_greater_or_equal: { + options = { + comparisons: true, + }; + + input: { (a = parseInt('100')) >= a } + expect: { (a = parseInt('100')) >= a } +} \ No newline at end of file