From 672699613e79c24d4e744313f5c0a51400958d8a Mon Sep 17 00:00:00 2001 From: Justin Lau Date: Sun, 5 May 2013 19:54:27 +0800 Subject: [PATCH] Added test cases for #104. Signed-off-by: Justin Lau --- test/compress/issue-143.js | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 test/compress/issue-143.js 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 -- 2.34.1