UNPKG

6.62 kBJavaScriptView Raw
1'use strict'
2
3// summary overrides description
4
5const parse = require('./lib/parse')
6const pickup = require('../')
7const { test } = require('tap')
8
9test('rss', (t) => {
10 const xml = [
11 '<rss><channel>',
12 '<item><description>abc</description><content:encoded>def</content:encoded></item>',
13 '<item><content:encoded>def</content:encoded><description>abc</description></item>',
14 '</channel></rss>'
15 ].join()
16
17 const wanted = [
18 ['entry', pickup.entry({ summary: 'def' })],
19 ['entry', pickup.entry({ summary: 'def' })],
20 ['feed', {}],
21 ['finish'],
22 ['end']
23 ]
24
25 parse({ t: t, xml: xml, wanted: wanted }, (er) => {
26 t.ok(!er)
27 t.end()
28 })
29})
30
31test('atom', (t) => {
32 const xml = [
33 '<feed>',
34 '<entry><description>abc</description><summary>def</summary></entry>',
35 '<entry><summary>def</summary><description>abc</description><content:encoded>def</content:encoded></entry>',
36 '</feed>'
37 ].join()
38
39 const wanted = [
40 ['entry', pickup.entry({ summary: 'def' })],
41 ['entry', pickup.entry({ summary: 'def' })],
42 ['feed', {}],
43 ['finish'],
44 ['end']
45 ]
46
47 parse({ t: t, xml: xml, wanted: wanted }, (er) => {
48 t.ok(!er)
49 t.end()
50 })
51})
52
53test('exceeding length', (t) => {
54 const xml = [
55 '<rss><channel>',
56 '<item><description>shorter</description><content:encoded>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam placerat, enim ac gravida bibendum, elit orci tristique lectus, et vehicula orci urna eu eros. Etiam finibus, nibh id facilisis lacinia, dolor turpis suscipit risus, eget facilisis diam odio sit amet magna. Integer consequat massa eget posuere condimentum. Donec sit amet ex dolor. Nulla varius dolor lectus, at suscipit felis interdum a. Aliquam mattis arcu vel dui pellentesque, non rhoncus massa tristique. Vivamus elit neque, condimentum vel urna vitae, pulvinar volutpat velit. Aenean odio odio, hendrerit ut est at, ultricies pretium nisi. Sed ac velit ipsum. Fusce a diam eget dui viverra lobortis cursus non purus. Sed congue velit eget ligula facilisis, a facilisis ipsum sollicitudin. In elit orci, sagittis non ipsum vitae, tempor eleifend mi. Maecenas ut est cursus, accumsan nisl eget, laoreet arcu. In hac habitasse platea dictumst. Etiam ex est, facilisis quis rutrum nec, imperdiet in nisl. Maecenas aliquet libero nulla, vel aliquet nisl auctor in. Curabitur ut eleifend leo, eget tempor urna. Pellentesque ultricies et nulla et egestas. Etiam aliquet efficitur magna, pellentesque laoreet arcu molestie vel. Etiam sed ante orci. Fusce vehicula lectus id odio aliquam bibendum. Donec velit quam, dignissim in porttitor bibendum, sagittis eget turpis. Proin tempor purus neque, nec hendrerit velit elementum sit amet. Morbi ex mi, imperdiet id tristique consectetur, accumsan vel justo. In id metus tincidunt, tincidunt mi tincidunt, pulvinar nisi. Sed mauris nulla, semper non enim eget, dignissim consequat arcu. Sed id elit a enim ultrices accumsan a vitae nibh. Etiam vitae quam at nibh facilisis elementum. Phasellus sed dapibus purus. Donec vitae accumsan ante. Nunc fringilla dui ac mauris aliquam, ut bibendum tortor sagittis. Phasellus cursus eget augue quis dictum. Sed metus lacus, fermentum in gravida non, tristique eget tellus. Cras facilisis lacus id felis mollis ultricies. Curabitur vitae mattis lacus, at accumsan metus. Aliquam erat volutpat. Quisque consectetur erat id ligula efficitur, in sollicitudin metus sollicitudin. Cras est felis, blandit ac lacus sed, condimentum gravida ex. Vivamus erat tortor, tincidunt non mauris eleifend, ultricies lacinia est. Curabitur non orci orci. Aenean ut dolor id urna mattis fringilla. Morbi sed sagittis augue. Phasellus sit amet arcu vitae orci ultricies feugiat. Quisque interdum ultrices mauris et molestie. Aenean neque ex, porttitor sed odio et, convallis molestie diam. Nunc volutpat orci ante, rutrum imperdiet ante fringilla lobortis. Pellentesque et quam magna. Donec luctus at ante in suscipit. Nullam vel dignissim risus, vel pulvinar ligula. Phasellus quis posuere risus. Maecenas blandit felis ac sapien imperdiet maximus. Proin tempus eros vel rhoncus iaculis. Vestibulum aliquam odio in ullamcorper auctor. Duis urna metus, luctus vitae commodo in, malesuada id orci. Cras a odio in augue blandit lobortis in vitae nulla. Cras sit amet luctus dui. Cras facilisis ante sed ultricies commodo. Sed massa enim, elementum in magna id, feugiat auctor sem. Ut rhoncus rhoncus ante eu sagittis. Cras sed elit ipsum. Aliquam vulputate luctus imperdiet. Nunc vel finibus massa. Donec nec tempus felis. Morbi scelerisque pretium ex at ultricies. Donec eget velit ligula. Vivamus eget fringilla augue, in varius sapien. Quisque sed semper lectus. Sed condimentum tortor id ipsum ornare consequat. Integer ac nunc sit amet arcu aliquet pretium eu sit amet leo. Sed sit amet est sed magna consequat rutrum non ut purus. Pellentesque dapibus enim nec arcu pretium, in sollicitudin orci pellentesque. Aenean sed congue dui. Proin sed dui nec metus rutrum maximus vel sit amet risus. Quisque vel blandit nulla, sed dapibus leo. Sed vitae tempor enim. Proin suscipit eros at ipsum posuere, sed porttitor neque luctus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc sodales ligula rutrum massa volutpat lacinia. Nulla malesuada, nibh sed rutrum facilisis, dolor est tempor ex, eget varius augue mi vel nisl. Fusce bibendum tempor magna sit amet pellentesque. Vivamus mattis ornare aliquam. Nunc ultrices laoreet odio, varius blandit tortor eleifend quis. Vivamus pulvinar suscipit dui a ullamcorper. Praesent tincidunt sapien eu odio iaculis scelerisque. Aliquam eget venenatis augue. Aliquam tortor felis, interdum ut fermentum vitae, fringilla quis magna. Nam interdum interdum mi, ac vestibulum neque vulputate id. Suspendisse lectus nibh, maximus cursus tincidunt id, condimentum tempus lacus. Vivamus vitae ornare ex, id tincidunt purus. Phasellus pellentesque fringilla ipsum, non interdum enim egestas blandit. In facilisis velit id porttitor lobortis. Phasellus ac augue ut mi eleifend laoreet ut tristique nisl. Nullam viverra dolor dui, ac aliquam eros sodales sit amet. Vestibulum quis convallis velit. Praesent eu accumsan urna. Donec et tellus sit amet felis vestibulum lacinia quis vitae orci. Sed neque nibh, tempor non nibh volutpat.</content:encoded></item>',
57 '</channel></rss>'
58 ].join()
59
60 const wanted = [
61 ['entry', pickup.entry({ summary: 'shorter' })],
62 ['feed', {}],
63 ['finish'],
64 ['end']
65 ]
66
67 parse({ t: t, xml: xml, wanted: wanted }, (er) => {
68 t.ok(!er)
69 t.end()
70 })
71})