| // Copyright 2015 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Flags: --expose-natives-as natives |
| // Test the MaxSimple and MinSimple internal methods in runtime.js |
| |
| var MaxSimple = natives.ImportNow("MaxSimple"); |
| var MinSimple = natives.ImportNow("MinSimple"); |
| |
| function checkEvaluations(target) { |
| var evaluations = 0; |
| var observedNumber = { |
| valueOf: function() { |
| evaluations++; |
| return 0; |
| } |
| }; |
| target(observedNumber, observedNumber); |
| return evaluations; |
| } |
| |
| assertEquals(1, MaxSimple(-1, 1)); |
| assertEquals(2, checkEvaluations(MaxSimple)); |
| |
| assertEquals(-1, MinSimple(-1, 1)); |
| assertEquals(2, checkEvaluations(MinSimple)); |