diff --git a/src/mockobject/Controller.winxed b/src/mockobject/Controller.winxed index 92878a7b..d88f55ad 100644 --- a/src/mockobject/Controller.winxed +++ b/src/mockobject/Controller.winxed @@ -58,7 +58,7 @@ namespace Rosella { namespace MockObject function get_attr_str(var proxy, string name) { for (var expect in self.expectations) { - if (expect.__can_match_get_attr()) { + if (expect.__can_match_get_attr(name)) { expect.__match(); return expect.__run_will_behavior(); } @@ -70,7 +70,7 @@ namespace Rosella { namespace MockObject function set_attr_str(var proxy, string name, var value) { for (var expect in self.expectations) { - if (expect.type == "set_attribute" && expect.name == name && expect.__can_match_set_attr(value)) { + if (expect.__can_match_set_attr(name, value)) { expect.__match(); expect.__run_will_behavior(); // everything besides "throw" is ignored return; diff --git a/src/mockobject/Expectation.winxed b/src/mockobject/Expectation.winxed index abd10251..32e0e789 100644 --- a/src/mockobject/Expectation.winxed +++ b/src/mockobject/Expectation.winxed @@ -202,10 +202,12 @@ namespace Rosella { namespace MockObject // Do the thing we say we will function __run_will_behavior() { + if (self.will_behavior == null) + return null; if (self.will_behavior == "return") return self.will_value; if (self.will_behavior == "throw") - die(self.will_behavior); + die(self.will_value); return null; } }