Index: lucene/test-framework/src/java/org/apache/lucene/analysis/EmptyTokenizer.java
===================================================================
--- lucene/test-framework/src/java/org/apache/lucene/analysis/EmptyTokenizer.java	(révision 1427703)
+++ lucene/test-framework/src/java/org/apache/lucene/analysis/EmptyTokenizer.java	(copie de travail)
@@ -17,19 +17,45 @@
  * limitations under the License.
  */
 
+import java.io.IOException;
 import java.io.Reader;
 
+import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
+
 /**
  * Emits no tokens
  */
 public final class EmptyTokenizer extends Tokenizer {
 
+  int endOffset;
+  final OffsetAttribute offsetAttribute;
+
   public EmptyTokenizer(Reader input) {
     super(input);
+    addAttribute(CharTermAttribute.class); // to make BaseTokenStreamTestCase happy
+    endOffset = 0;
+    offsetAttribute = addAttribute(OffsetAttribute.class);
   }
 
   @Override
   public boolean incrementToken() {
     return false;
   }
+
+  @Override
+  public void end() throws IOException {
+    while (input.read() != -1) {
+      endOffset += 1L + input.skip(Long.MAX_VALUE);
+    }
+    final int endOffset = correctOffset(this.endOffset);
+    offsetAttribute.setOffset(endOffset, endOffset);
+  }
+
+  @Override
+  public void reset() throws IOException {
+    super.reset();
+    endOffset = 0;
+  }
+
 }
Index: lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
===================================================================
--- lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java	(révision 1427703)
+++ lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java	(copie de travail)
@@ -110,8 +110,6 @@
     // TODO: can we promote some of these to be only
     // offsets offenders?
     Collections.<Class<?>>addAll(brokenComponents,
-      // TODO: fix basetokenstreamtestcase not to trip because this one has no CharTermAtt
-      EmptyTokenizer.class,
       // doesn't actual reset itself!
       CachingTokenFilter.class,
       // doesn't consume whole stream!
