Caster.waitFor 'then' parameter is now optional
Showing
1 changed file
with
13 additions
and
9 deletions
... | @@ -636,9 +636,10 @@ | ... | @@ -636,9 +636,10 @@ |
636 | /** | 636 | /** |
637 | * Waits until a function returns true to process a next step. | 637 | * Waits until a function returns true to process a next step. |
638 | * | 638 | * |
639 | * @param Function testFx A function to be evaluated for returning condition satisfecit | 639 | * @param Function testFx A function to be evaluated for returning condition satisfecit |
640 | * @param Function then The next step to perform | 640 | * @param Function then The next step to perform (optional) |
641 | * @param Number timeout The max amount of time to wait, in milliseconds | 641 | * @param Function onTimeout A callback function to call on timeout (optional) |
642 | * @param Number timeout The max amount of time to wait, in milliseconds (optional) | ||
642 | * @return Casper | 643 | * @return Casper |
643 | */ | 644 | */ |
644 | waitFor: function(testFx, then, onTimeout, timeout) { | 645 | waitFor: function(testFx, then, onTimeout, timeout) { |
... | @@ -646,8 +647,8 @@ | ... | @@ -646,8 +647,8 @@ |
646 | if (typeof testFx !== "function") { | 647 | if (typeof testFx !== "function") { |
647 | this.die("waitUntil() needs a test function"); | 648 | this.die("waitUntil() needs a test function"); |
648 | } | 649 | } |
649 | if (typeof then !== "function") { | 650 | if (then && typeof then !== "function") { |
650 | this.die("waitUntil() needs a next step definition"); | 651 | this.die("waitUntil() next step definition must be a function"); |
651 | } | 652 | } |
652 | this.delayedExecution = true; | 653 | this.delayedExecution = true; |
653 | var start = new Date().getTime(); | 654 | var start = new Date().getTime(); |
... | @@ -667,7 +668,9 @@ | ... | @@ -667,7 +668,9 @@ |
667 | clearInterval(interval); | 668 | clearInterval(interval); |
668 | } else { | 669 | } else { |
669 | self.log("waitFor() finished in " + (new Date().getTime() - start) + "ms.", "info"); | 670 | self.log("waitFor() finished in " + (new Date().getTime() - start) + "ms.", "info"); |
670 | self.then(then); | 671 | if (then) { |
672 | self.then(then); | ||
673 | } | ||
671 | clearInterval(interval); | 674 | clearInterval(interval); |
672 | } | 675 | } |
673 | } | 676 | } |
... | @@ -680,8 +683,9 @@ | ... | @@ -680,8 +683,9 @@ |
680 | * remote DOM to process a next step. | 683 | * remote DOM to process a next step. |
681 | * | 684 | * |
682 | * @param String selector A CSS3 selector | 685 | * @param String selector A CSS3 selector |
683 | * @param Function then The next step to perform | 686 | * @param Function then The next step to perform (optional) |
684 | * @param Number timeout The max amount of time to wait, in milliseconds | 687 | * @param Function onTimeout A callback function to call on timeout (optional) |
688 | * @param Number timeout The max amount of time to wait, in milliseconds (optional) | ||
685 | * @return Casper | 689 | * @return Casper |
686 | */ | 690 | */ |
687 | waitForSelector: function(selector, then, onTimeout, timeout) { | 691 | waitForSelector: function(selector, then, onTimeout, timeout) { |
... | @@ -715,7 +719,7 @@ | ... | @@ -715,7 +719,7 @@ |
715 | * @return Boolean | 719 | * @return Boolean |
716 | */ | 720 | */ |
717 | this.click = function(selector) { | 721 | this.click = function(selector) { |
718 | var elem = document.querySelector(selector); | 722 | var elem = this.findOne(selector); |
719 | if (!elem) { | 723 | if (!elem) { |
720 | return false; | 724 | return false; |
721 | } | 725 | } | ... | ... |
-
Please register or sign in to post a comment