mirror of
https://github.com/iptv-org/epg
synced 2026-05-07 18:07:05 -04:00
Replace LF line endings with CRLF
This commit is contained in:
@@ -1,61 +1,61 @@
|
||||
const { parser, url, request } = require('./osn.com.config')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2024-11-27', 'YYYY-MM-DD').startOf('d')
|
||||
const channelAR = { site_id: 'FTF', xmltv_id: 'Fatafeat.ae', lang: 'ar' }
|
||||
const channelEN = { site_id: 'FTF', xmltv_id: 'Fatafeat.ae', lang: 'en' }
|
||||
const content = fs.readFileSync(path.join(__dirname, '__data__', 'content.json'))
|
||||
|
||||
it('can generate valid request headers', () => {
|
||||
const result = request.headers({ channel: channelAR, date })
|
||||
expect(result).toMatchObject({
|
||||
Referer: 'https://www.osn.com/ar-ae/watch/tv-schedule'
|
||||
})
|
||||
})
|
||||
|
||||
it('can generate valid url', () => {
|
||||
const result = url({ channel: channelAR, date })
|
||||
expect(result).toBe(
|
||||
'https://www.osn.com/api/TVScheduleWebService.asmx/time?dt=11%2F27%2F2024&co=AE&ch=FTF&mo=false&hr=0'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response (ar)', () => {
|
||||
const result = parser({ date, channel: channelAR, content }).map(a => {
|
||||
a.start = a.start.toJSON()
|
||||
a.stop = a.stop.toJSON()
|
||||
return a
|
||||
})
|
||||
expect(result.length).toBe(29)
|
||||
expect(result[1]).toMatchObject({
|
||||
start: '2024-11-26T20:50:00.000Z',
|
||||
stop: '2024-11-26T21:45:00.000Z',
|
||||
title: 'بيت الحلويات: الحلقة 3'
|
||||
})
|
||||
})
|
||||
|
||||
it('can parse response (en)', () => {
|
||||
const result = parser({ date, channel: channelEN, content }).map(a => {
|
||||
a.start = a.start.toJSON()
|
||||
a.stop = a.stop.toJSON()
|
||||
return a
|
||||
})
|
||||
expect(result.length).toBe(29)
|
||||
expect(result[1]).toMatchObject({
|
||||
start: '2024-11-26T20:50:00.000Z',
|
||||
stop: '2024-11-26T21:45:00.000Z',
|
||||
title: 'House Of Desserts: Episode 3'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({ date, channel: channelAR, content: '[]' })
|
||||
expect(result).toMatchObject([])
|
||||
})
|
||||
const { parser, url, request } = require('./osn.com.config')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2024-11-27', 'YYYY-MM-DD').startOf('d')
|
||||
const channelAR = { site_id: 'FTF', xmltv_id: 'Fatafeat.ae', lang: 'ar' }
|
||||
const channelEN = { site_id: 'FTF', xmltv_id: 'Fatafeat.ae', lang: 'en' }
|
||||
const content = fs.readFileSync(path.join(__dirname, '__data__', 'content.json'))
|
||||
|
||||
it('can generate valid request headers', () => {
|
||||
const result = request.headers({ channel: channelAR, date })
|
||||
expect(result).toMatchObject({
|
||||
Referer: 'https://www.osn.com/ar-ae/watch/tv-schedule'
|
||||
})
|
||||
})
|
||||
|
||||
it('can generate valid url', () => {
|
||||
const result = url({ channel: channelAR, date })
|
||||
expect(result).toBe(
|
||||
'https://www.osn.com/api/TVScheduleWebService.asmx/time?dt=11%2F27%2F2024&co=AE&ch=FTF&mo=false&hr=0'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response (ar)', () => {
|
||||
const result = parser({ date, channel: channelAR, content }).map(a => {
|
||||
a.start = a.start.toJSON()
|
||||
a.stop = a.stop.toJSON()
|
||||
return a
|
||||
})
|
||||
expect(result.length).toBe(29)
|
||||
expect(result[1]).toMatchObject({
|
||||
start: '2024-11-26T20:50:00.000Z',
|
||||
stop: '2024-11-26T21:45:00.000Z',
|
||||
title: 'بيت الحلويات: الحلقة 3'
|
||||
})
|
||||
})
|
||||
|
||||
it('can parse response (en)', () => {
|
||||
const result = parser({ date, channel: channelEN, content }).map(a => {
|
||||
a.start = a.start.toJSON()
|
||||
a.stop = a.stop.toJSON()
|
||||
return a
|
||||
})
|
||||
expect(result.length).toBe(29)
|
||||
expect(result[1]).toMatchObject({
|
||||
start: '2024-11-26T20:50:00.000Z',
|
||||
stop: '2024-11-26T21:45:00.000Z',
|
||||
title: 'House Of Desserts: Episode 3'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({ date, channel: channelAR, content: '[]' })
|
||||
expect(result).toMatchObject([])
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user