UNPKG

icecast-stack

Version:

A `StreamStack` implementation for parsing and/or injecting metadata with SHOUTcast/Icecast radio streams.

29 lines (26 loc) 955 B
var fs = require('fs'); var http = require('http-stack'); var assert = require('assert'); var icecast = require('../'); exports['test 4EverFloyd-1.dump'] = function() { var stream = fs.createReadStream(__dirname + "/dumps/4EverFloyd-1.dump"); var req = new http.HttpRequestStack(stream); req.on('response', onResponse); function onResponse(res) { assert.ok(res.headers); assert.equal(res.headers['icy-metaint'], 8192); var ice = new icecast.IcecastReadStack(req, res.headers['icy-metaint']); ice.on('metadata', onMetadata); ice.on('end', onEnd); } var metadataCount = 0; function onMetadata(title) { metadataCount++; var parsed = icecast.parseMetadata(title); assert.equal(parsed.StreamTitle, 'Shine on You Crazy Diamond, Pts. 1-5 - Shine on You Crazy Diamond, Pts. 1-5'); assert.equal(parsed.StreamUrl, 'http:\/\/www.4EverFloyd.com'); } function onEnd() { assert.equal(metadataCount, 1); } }