Updated Javadoc to show that for boolean text expressions the expected value has to be honored as well.
diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/PropertyTester.java b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/PropertyTester.java
index b053100..d9fea40 100644
--- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/PropertyTester.java
+++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/PropertyTester.java
@@ -39,7 +39,9 @@
  *       public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
  *           IPackageFragment fragement= (IPackageFragment)receiver;
  *	         if ("isDefaultPackage".equals(property)) { 
- *               return fragement.isDefaultPackage();
+ *               return expectedValue == null
+ *               	? fragement.isDefaultPackage()
+ *               	: fragement.isDefaultPackage() == ((Boolean)expectedValue).booleanValue();
  *           }
  *           Assert.isTrue(false);
  *           return false;
diff --git a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/package.html b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/package.html
index 20c7ad3..b1a0ba4 100644
--- a/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/package.html
+++ b/bundles/org.eclipse.core.expressions/src/org/eclipse/core/expressions/package.html
@@ -101,7 +101,9 @@
     if (PROPERTY_MATCHES_PATTERN.equals(method)) {
       String fileName= resource.getName();
       StringMatcher matcher= new StringMatcher((String)expectedValue, false, false);
-      return matcher.match(fileName);
+      return expectedValue == null
+          ? matcher.match(fileName)
+          : matcher.match(filename) == ((Boolean)expectedValue).booleanValue();
     } else if (...) {
     }
     Assert.isTrue(false);