Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F325811
html_tree_converter.spec.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
3 KB
Referenced Files
None
Subscribers
None
html_tree_converter.spec.js
View Options
import
{
convertHtmlToTree
}
from
'src/services/html_converter/html_tree_converter.service.js'
describe
(
'html_tree_converter'
,
()
=>
{
describe
(
'convertHtmlToTree'
,
()
=>
{
it
(
'converts html into a tree structure'
,
()
=>
{
const
input
=
'1 <p>2</p> <b>3<img src="a">4</b>5'
expect
(
convertHtmlToTree
(
input
)).
to
.
eql
([
'1 '
,
[
'<p>'
,
[
'2'
],
'</p>'
],
' '
,
[
'<b>'
,
[
'3'
,
[
'<img src="a">'
],
'4'
],
'</b>'
],
'5'
])
})
it
(
'converts html to tree while preserving tag formatting'
,
()
=>
{
const
input
=
'1 <p >2</p><b >3<img src="a">4</b>5'
expect
(
convertHtmlToTree
(
input
)).
to
.
eql
([
'1 '
,
[
'<p >'
,
[
'2'
],
'</p>'
],
[
'<b >'
,
[
'3'
,
[
'<img src="a">'
],
'4'
],
'</b>'
],
'5'
])
})
it
(
'converts semi-broken html'
,
()
=>
{
const
input
=
'1 <br> 2 <p> 42'
expect
(
convertHtmlToTree
(
input
)).
to
.
eql
([
'1 '
,
[
'<br>'
],
' 2 '
,
[
'<p>'
,
[
' 42'
]
]
])
})
it
(
'realistic case 1'
,
()
=>
{
const
input
=
'<p><span class="h-card"><a class="u-url mention" data-user="9wRC6T2ZZiKWJ0vUi8" href="https://cawfee.club/users/benis" rel="ugc">@<span>benis</span></a></span> <span class="h-card"><a class="u-url mention" data-user="194" href="https://shigusegubu.club/users/hj" rel="ugc">@<span>hj</span></a></span> nice</p>'
expect
(
convertHtmlToTree
(
input
)).
to
.
eql
([
[
'<p>'
,
[
[
'<span class="h-card">'
,
[
[
'<a class="u-url mention" data-user="9wRC6T2ZZiKWJ0vUi8" href="https://cawfee.club/users/benis" rel="ugc">'
,
[
'@'
,
[
'<span>'
,
[
'benis'
],
'</span>'
]
],
'</a>'
]
],
'</span>'
],
' '
,
[
'<span class="h-card">'
,
[
[
'<a class="u-url mention" data-user="194" href="https://shigusegubu.club/users/hj" rel="ugc">'
,
[
'@'
,
[
'<span>'
,
[
'hj'
],
'</span>'
]
],
'</a>'
]
],
'</span>'
],
' nice'
],
'</p>'
]
])
})
it
(
'realistic case 2'
,
()
=>
{
const
inputOutput
=
'Country improv: give me a city<br/>Audience: Memphis<br/>Improv troupe: come on, a better one<br/>Audience: el paso'
expect
(
convertHtmlToTree
(
inputOutput
)).
to
.
eql
([
'Country improv: give me a city'
,
[
'<br/>'
],
'Audience: Memphis'
,
[
'<br/>'
],
'Improv troupe: come on, a better one'
,
[
'<br/>'
],
'Audience: el paso'
])
})
})
})
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Apr 24, 4:24 AM (1 d, 14 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
93600
Default Alt Text
html_tree_converter.spec.js (3 KB)
Attached To
Mode
rPUFE pleroma-fe-upstream
Attached
Detach File
Event Timeline
Log In to Comment