<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,7 @@
+Screw.Matchers.argWhichWill = function(matcher, expected) {
+  return {argumentMatcher: true, matcher: matcher, expected: expected};
+};
+
 Screw.Stub = (function() {
     var self = {};
     var stubbedObjects = [];
@@ -61,7 +65,12 @@ Screw.Stub = (function() {
                 return false;
             } else {
                 for (var i=0; i &lt; args.length; i++) {
-                    if (args[i] !== private.expectedArguments[i]) {
+                    var expected = private.expectedArguments[i];
+                    var actual = args[i];
+                    if (expected.argumentMatcher) {
+                        if (!expected.matcher.match(expected.expected, actual))
+                          return false;
+                    } else if (actual !== expected) {
                         return false;
                     }
                 };</diff>
      <filename>lib/screw.stub.js</filename>
    </modified>
    <modified>
      <diff>@@ -68,6 +68,12 @@ Screw.Unit(function() {
                 expect(obj.pizza(&quot;cheese&quot;)).to(equal, &quot;yummy&quot;);
                 expect(obj.pizza.validate).to_not(raise);
             });
+            
+            it(&quot;should match arguments using matchers&quot;, function() {
+                Screw.Stub.shouldReceive(obj, &quot;pizza&quot;).withArguments(argWhichWill(match, /sausage/));
+                obj.pizza(&quot;turkey sausage&quot;);
+                expect(obj.pizza.validate).to_not(raise);
+            });
 
             it(&quot;should only validate once&quot;, function() {
                 Screw.Stub.shouldReceive(obj, &quot;pizza&quot;);</diff>
      <filename>spec/stub_spec.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>93b49fbf167f4feeb909368ab5cc2f9549089e9a</id>
    </parent>
  </parents>
  <author>
    <name>Peter Jaros</name>
    <email>peeja@dropio.com</email>
  </author>
  <url>http://github.com/trotter/screw-unit/commit/5a18badee9c78ce264025d1cf0c1084f2f1709fe</url>
  <id>5a18badee9c78ce264025d1cf0c1084f2f1709fe</id>
  <committed-date>2009-04-21T15:18:04-07:00</committed-date>
  <authored-date>2009-04-21T15:18:04-07:00</authored-date>
  <message>Add argument matchers (argWhichWill).</message>
  <tree>ccd9447b42678e27f9b8d359229e2da1c323663d</tree>
  <committer>
    <name>Peter Jaros</name>
    <email>peeja@dropio.com</email>
  </committer>
</commit>
