From 590b024468f8db21b2f8a3b2259f301d41e8d535 Mon Sep 17 00:00:00 2001 From: Ian Storm Taylor Date: Thu, 17 Nov 2016 12:14:01 -0800 Subject: [PATCH] add test for multiple matching rules --- src/serializers/html.js | 4 +--- .../multiple-matching-rules/index.js | 21 +++++++++++++++++++ .../multiple-matching-rules/input.html | 1 + .../multiple-matching-rules/output.yaml | 7 +++++++ 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 test/serializers/fixtures/html/deserialize/multiple-matching-rules/index.js create mode 100644 test/serializers/fixtures/html/deserialize/multiple-matching-rules/input.html create mode 100644 test/serializers/fixtures/html/deserialize/multiple-matching-rules/output.yaml diff --git a/src/serializers/html.js b/src/serializers/html.js index 966a07f20..c22e60e5f 100644 --- a/src/serializers/html.js +++ b/src/serializers/html.js @@ -174,9 +174,7 @@ class Html { if (!rule.deserialize) continue const ret = rule.deserialize(element, next) if (!ret) continue - node = ret.kind == 'mark' - ? this.deserializeMark(ret) - : ret + node = ret.kind == 'mark' ? this.deserializeMark(ret) : ret break } diff --git a/test/serializers/fixtures/html/deserialize/multiple-matching-rules/index.js b/test/serializers/fixtures/html/deserialize/multiple-matching-rules/index.js new file mode 100644 index 000000000..0194e1442 --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/multiple-matching-rules/index.js @@ -0,0 +1,21 @@ + +export default { + rules: [ + { + deserialize(el, next) { + return { + kind: 'block', + type: 'one' + } + } + }, + { + deserialize(el, next) { + return { + kind: 'block', + type: 'two' + } + } + } + ] +} diff --git a/test/serializers/fixtures/html/deserialize/multiple-matching-rules/input.html b/test/serializers/fixtures/html/deserialize/multiple-matching-rules/input.html new file mode 100644 index 000000000..31ee88261 --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/multiple-matching-rules/input.html @@ -0,0 +1 @@ +

diff --git a/test/serializers/fixtures/html/deserialize/multiple-matching-rules/output.yaml b/test/serializers/fixtures/html/deserialize/multiple-matching-rules/output.yaml new file mode 100644 index 000000000..dc50de5ac --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/multiple-matching-rules/output.yaml @@ -0,0 +1,7 @@ + +nodes: + - type: one + isVoid: false + data: {} + nodes: + - characters: []