2022-08-24 23:03:07 +03:00
// npx epg-grabber --config=sites/ruv.is/ruv.is.config.js --channels=sites/ruv.is/ruv.is_is.channels.xml --output=guide.xml --days=2
2021-11-24 18:04:00 +03:00
2022-02-01 05:33:44 +03:00
const { parser , url } = require ( './ruv.is.config.js' )
2021-11-24 18:04:00 +03:00
const dayjs = require ( 'dayjs' )
const utc = require ( 'dayjs/plugin/utc' )
const customParseFormat = require ( 'dayjs/plugin/customParseFormat' )
dayjs . extend ( customParseFormat )
dayjs . extend ( utc )
const date = dayjs . utc ( '2021-11-25' , 'YYYY-MM-DD' ) . startOf ( 'd' )
const channel = {
site _id : 'ruv' ,
xmltv _id : 'RUV.is'
}
it ( 'can generate valid url' , ( ) => {
expect ( url ( { channel , date } ) ) . toBe ( 'https://www.ruv.is/dagskra/ruv/20211125' )
} )
it ( 'can parse response' , ( ) => {
const content = ` <!DOCTYPE html><html lang="is" dir="ltr"> <head></head> <body> <div id="main-container"> <div id="page-wrapper"> <div id="page" class="container page"> <div id="columns" class="columns clearfix"> <main id="content-column" class="content-column" role="main"> <div class="content-inner"> <section id="main-content"> <div id="content" class="region"> <div id="block-system-main"> <div class="two-75-25 at-panel panel-display clearfix"> <div class="region region-two-75-25-first"> <div class="region-inner clearfix"> <div class="panel-pane pane-custom pane-2 no-title block"> <div class="block-inner clearfix"> <div class="block-content"> <div class="fill-white pad2 border"> <div id="ruv_api_calendar"> <ul class="unlist"> <li class=" views-row views-row-0 views-row-odd views-row-first border-bottom pad0y space1 clearfix " > <div class="fr inline"> <i tabindex="0" role="button" aria-expanded="false" aria-label="Sjá nánar Heimaleikfimi" title="Sjá nánar Heimaleikfimi" rel="5215669" class="inline fa fa-plus-circle description pointer" ></i> </div><strong class="field-content">13 : 00</strong> <div class="inline grey-color" title="Upptaka verður aðgengileg í Spilara og Appi" > <i class="icon icon-sarpurinn color-sarpurinn"></i> </div><span class="field-content ruv-color" ><a href="http://www.ruv.is/sjonvarp/spila/heimaleikfimi/30389/91pviq" target="_blank" ><b>Heimaleikfimi</b></a ></span ><em class="field-content color-gray"></em ><span class="field-content color-gray" ><i class="icon icon-vod color-gray" title="Upptaka aðgengileg í VOD-þjónustum" ></i></span ><span class="field-content color-gray" ><i class="icon icon-888 color-gray" title="Dagskrárliður er textaður á síðu 888 í Textavarpinu" ></i></span ><span class="field-content" ><i class="icon icon-endursynt color-gray" title="Endurtekið efni" ></i ></span> <div class="views-field views-field-nothing"> <span class="field-content" ><div class="content hidden mar2t" id="dagskra_item_5215669" > <div class="mar2r col12-mobile fl"> <a href="http://www.ruv.is/sjonvarp/spila/heimaleikfimi/30389/91pviq" target="_blank" ><img class=" image-style-medium col12-mobile fl mar1b " src="https://d38kdhuogyllre.cloudfront.net/fit-in/480x/filters:quality(65)/hd_posters/91pvig-3p3hig.jpg" width="250" height="141" alt="Mynd með færslu" title="Mynd með færslu"/></a> </div><span ><p> Góð ráð og æfingar sem tilvalið er að gera heima. Íris Rut Garðarsdóttir sjúkraþjálfari hefur umsjón með leikfiminni. e. </p></span > </div></span > </div></li><li class="views-row views-row-1 views-row-odd views-row border-bottom pad0y space1 clearfix"><div class="fr inline"><i tabindex="0" role="button" aria-expanded="false" aria-label="Sjá nánar Kastljós" title="Sjá nánar Kastljós" rel="5215993" class="inline fa pointer description_selected fa-minus-circle"></i></div><strong class="field-content">13 : 10</strong><div class="inline grey-color" title="Upptaka verður aðgengileg í Spilara og Appi"><i class="icon icon-sarpurinn "></i></div><span class="field-content ruv-color">Kastljós</span><em class="field-content color-gray"></em><span class="field-content color-gray"><i class="icon icon-vod color-gray" title="Upptaka aðgengileg í VOD-þjónustum"></i></span><span class="field-content color-gray"><i class="icon icon-888 color-gray" title="Dagskrárliður er textaður á síðu 888 í Textavarpinu"></i></span><span class="field-content"><i class="icon icon-endursynt color-gray" title="Endurtekið efni"></i></span><div class="views-field views-field-nothing"><span class="field-content"><div class="content mar2t" id="dagskra_item_5215993"><div class="mar2r col12-mobile fl"><img class="image-style-medium col12-mobile fl mar1b" src="https://d38kdhuogyllre.cloudfront.net/fit-in/480x/filters:quality(65)/hd_posters/95erq0-tmenfg.jpg" width="250" height="141" alt="Mynd með færslu" title="Mynd með færslu"></div><span><p>Ítarleg umfjöllun um það sem er efst á baugi í fréttum og mannlífi. Farið er ofan í kjölinn á stærstu fréttamálum dagsins me<6D>
const result = parser ( { content , date } ) . map ( p => {
p . start = p . start . toJSON ( )
p . stop = p . stop . toJSON ( )
return p
} )
expect ( result ) . toMatchObject ( [
{
start : '2021-11-25T13:00:00.000Z' ,
stop : '2021-11-25T13:10:00.000Z' ,
title : ` Heimaleikfimi ` ,
description :
'Góð ráð og æfingar sem tilvalið er að gera heima. Íris Rut Garðarsdóttir sjúkraþjálfari hefur umsjón með leikfiminni. e.' ,
icon : 'https://d38kdhuogyllre.cloudfront.net/fit-in/480x/filters:quality(65)/hd_posters/91pvig-3p3hig.jpg'
} ,
{
start : '2021-11-25T13:10:00.000Z' ,
stop : '2021-11-26T00:10:00.000Z' ,
title : ` Kastljós ` ,
description :
'Ítarleg umfjöllun um það sem er efst á baugi í fréttum og mannlífi. Farið er ofan í kjölinn á stærstu fréttamálum dagsins með viðmælendum um land allt. Umsjónarmenn eru Einar Þorsteinsson og Jóhanna Vigdís Hjaltadóttir. e.' ,
icon : 'https://d38kdhuogyllre.cloudfront.net/fit-in/480x/filters:quality(65)/hd_posters/95erq0-tmenfg.jpg'
} ,
{
start : '2021-11-26T00:10:00.000Z' ,
stop : '2021-11-26T01:10:00.000Z' ,
title : ` Dagskrárlok `
}
] )
} )
it ( 'can handle empty guide' , ( ) => {
const result = parser ( {
date ,
channel ,
content : ` <!DOCTYPE html><html> <head></head> <body></body></html> `
} )
expect ( result ) . toMatchObject ( [ ] )
} )