Index: lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
===================================================================
--- lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java	(revision 1383683)
+++ lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java	(working copy)
@@ -1284,4 +1284,22 @@
     q.add(new TermQuery(new Term("field2", "z")), BooleanClause.Occur.MUST);
     assertEquals(q, getQuery(query, new MockAnalyzer(random())));
   }
+
+  public void testNegativeBoosts() throws Exception {
+    Query q;
+
+    q = getQuery("foo^-3");
+    assertEquals(-3f, q.getBoost(), 0.0f);
+
+    q = getQuery("(foo^-3 bar)^-7");
+    assertEquals(-7f, q.getBoost(), 0.0f);
+    assertTrue("expected BooleanQuery: " + q.getClass(),
+               q instanceof BooleanQuery);
+    assertEquals(-3f, ((BooleanQuery)q).clauses().get(0).getQuery().getBoost(), 
+                 0.0f);
+
+    // :TODO: ... is there a need to check more query types?
+
+  }
+  
 }
