From 53542cb55bbdeb2edc6618b3b648d20dc07035c7 Mon Sep 17 00:00:00 2001 From: Kelly Joseph Price Date: Tue, 30 May 2017 13:08:51 -0700 Subject: [PATCH] Ignore comments in Html deserializer (#856) --- src/serializers/html.js | 2 ++ .../html/deserialize/html-comment/index.js | 18 ++++++++++++++++++ .../html/deserialize/html-comment/input.html | 2 ++ .../html/deserialize/html-comment/output.yaml | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 test/serializers/fixtures/html/deserialize/html-comment/index.js create mode 100644 test/serializers/fixtures/html/deserialize/html-comment/input.html create mode 100644 test/serializers/fixtures/html/deserialize/html-comment/output.yaml diff --git a/src/serializers/html.js b/src/serializers/html.js index 3a4f43a2c..c67769c2f 100644 --- a/src/serializers/html.js +++ b/src/serializers/html.js @@ -35,6 +35,8 @@ const TEXT_RULE = { } if (el.type == 'text') { + if (el.data && el.data.match(//)) return + return { kind: 'text', text: el.data diff --git a/test/serializers/fixtures/html/deserialize/html-comment/index.js b/test/serializers/fixtures/html/deserialize/html-comment/index.js new file mode 100644 index 000000000..52e38b12d --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/html-comment/index.js @@ -0,0 +1,18 @@ + +export default { + rules: [ + { + deserialize(el, next) { + switch (el.tagName) { + case 'p': { + return { + kind: 'block', + type: 'paragraph', + nodes: next(el.children) + } + } + } + } + } + ] +} diff --git a/test/serializers/fixtures/html/deserialize/html-comment/input.html b/test/serializers/fixtures/html/deserialize/html-comment/input.html new file mode 100644 index 000000000..3430e06b4 --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/html-comment/input.html @@ -0,0 +1,2 @@ + +

text

diff --git a/test/serializers/fixtures/html/deserialize/html-comment/output.yaml b/test/serializers/fixtures/html/deserialize/html-comment/output.yaml new file mode 100644 index 000000000..938d15655 --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/html-comment/output.yaml @@ -0,0 +1,16 @@ + +data: {} +nodes: + - type: paragraph + isVoid: false + data: {} + nodes: + - characters: + - text: t + marks: [] + - text: e + marks: [] + - text: x + marks: [] + - text: t + marks: []