diff --git a/spacy/tests/test_displacy.py b/spacy/tests/test_displacy.py
new file mode 100644
index 000000000..a65060ea7
--- /dev/null
+++ b/spacy/tests/test_displacy.py
@@ -0,0 +1,68 @@
+# coding: utf-8
+from __future__ import unicode_literals
+
+import pytest
+from spacy import displacy
+from spacy.tokens import Span
+
+from .util import get_doc
+
+
+def test_displacy_parse_ents(en_vocab):
+ """Test that named entities on a Doc are converted into displaCy's format."""
+ doc = get_doc(en_vocab, words=["But", "Google", "is", "starting", "from", "behind"])
+ doc.ents = [Span(doc, 1, 2, label=doc.vocab.strings["ORG"])]
+ ents = displacy.parse_ents(doc)
+ assert isinstance(ents, dict)
+ assert ents["text"] == "But Google is starting from behind "
+ assert ents["ents"] == [{"start": 4, "end": 10, "label": "ORG"}]
+
+
+def test_displacy_parse_deps(en_vocab):
+ """Test that deps and tags on a Doc are converted into displaCy's format."""
+ words = ["This", "is", "a", "sentence"]
+ heads = [1, 0, 1, -2]
+ pos = ["DET", "VERB", "DET", "NOUN"]
+ tags = ["DT", "VBZ", "DT", "NN"]
+ deps = ["nsubj", "ROOT", "det", "attr"]
+ doc = get_doc(en_vocab, words=words, heads=heads, pos=pos, tags=tags, deps=deps)
+ deps = displacy.parse_deps(doc)
+ assert isinstance(deps, dict)
+ assert deps["words"] == [
+ {"text": "This", "tag": "DET"},
+ {"text": "is", "tag": "VERB"},
+ {"text": "a", "tag": "DET"},
+ {"text": "sentence", "tag": "NOUN"},
+ ]
+ assert deps["arcs"] == [
+ {"start": 0, "end": 1, "label": "nsubj", "dir": "left"},
+ {"start": 2, "end": 3, "label": "det", "dir": "left"},
+ {"start": 1, "end": 3, "label": "attr", "dir": "right"},
+ ]
+
+
+def test_displacy_spans(en_vocab):
+ """Test that displaCy can render Spans."""
+ doc = get_doc(en_vocab, words=["But", "Google", "is", "starting", "from", "behind"])
+ doc.ents = [Span(doc, 1, 2, label=doc.vocab.strings["ORG"])]
+ html = displacy.render(doc[1:4], style="ent")
+ assert html.startswith("
TEST")
+
+
+def test_displacy_raises_for_wrong_type(en_vocab):
+ with pytest.raises(ValueError):
+ displacy.render("hello world")
diff --git a/spacy/tests/test_misc.py b/spacy/tests/test_misc.py
index 32cc514e5..64112923f 100644
--- a/spacy/tests/test_misc.py
+++ b/spacy/tests/test_misc.py
@@ -4,13 +4,9 @@ from __future__ import unicode_literals
import pytest
from pathlib import Path
from spacy import util
-from spacy import displacy
from spacy import prefer_gpu, require_gpu
-from spacy.tokens import Span
from spacy._ml import PrecomputableAffine
-from .util import get_doc
-
@pytest.mark.parametrize("text", ["hello/world", "hello world"])
def test_util_ensure_path_succeeds(text):
@@ -31,66 +27,6 @@ def test_util_get_package_path(package):
assert isinstance(path, Path)
-def test_displacy_parse_ents(en_vocab):
- """Test that named entities on a Doc are converted into displaCy's format."""
- doc = get_doc(en_vocab, words=["But", "Google", "is", "starting", "from", "behind"])
- doc.ents = [Span(doc, 1, 2, label=doc.vocab.strings["ORG"])]
- ents = displacy.parse_ents(doc)
- assert isinstance(ents, dict)
- assert ents["text"] == "But Google is starting from behind "
- assert ents["ents"] == [{"start": 4, "end": 10, "label": "ORG"}]
-
-
-def test_displacy_parse_deps(en_vocab):
- """Test that deps and tags on a Doc are converted into displaCy's format."""
- words = ["This", "is", "a", "sentence"]
- heads = [1, 0, 1, -2]
- pos = ["DET", "VERB", "DET", "NOUN"]
- tags = ["DT", "VBZ", "DT", "NN"]
- deps = ["nsubj", "ROOT", "det", "attr"]
- doc = get_doc(en_vocab, words=words, heads=heads, pos=pos, tags=tags, deps=deps)
- deps = displacy.parse_deps(doc)
- assert isinstance(deps, dict)
- assert deps["words"] == [
- {"text": "This", "tag": "DET"},
- {"text": "is", "tag": "VERB"},
- {"text": "a", "tag": "DET"},
- {"text": "sentence", "tag": "NOUN"},
- ]
- assert deps["arcs"] == [
- {"start": 0, "end": 1, "label": "nsubj", "dir": "left"},
- {"start": 2, "end": 3, "label": "det", "dir": "left"},
- {"start": 1, "end": 3, "label": "attr", "dir": "right"},
- ]
-
-
-def test_displacy_spans(en_vocab):
- """Test that displaCy can render Spans."""
- doc = get_doc(en_vocab, words=["But", "Google", "is", "starting", "from", "behind"])
- doc.ents = [Span(doc, 1, 2, label=doc.vocab.strings["ORG"])]
- html = displacy.render(doc[1:4], style="ent")
- assert html.startswith("
TEST")
-
-
-def test_displacy_raises_for_wrong_type(en_vocab):
- with pytest.raises(ValueError):
- displacy.render("hello world")
-
-
def test_PrecomputableAffine(nO=4, nI=5, nF=3, nP=2):
model = PrecomputableAffine(nO=nO, nI=nI, nF=nF, nP=nP)
assert model.W.shape == (nF, nO, nP, nI)