tweet-to-html
Version:
Browser friendly package that converts twitter's API tweet objects text property to HTML. Takes care of all the entities and its links. Handles emoji's.
64 lines (50 loc) • 2.99 kB
JavaScript
var tweetToHTML = require('../');
var assert = require('chai').assert;
var tweetWithVideo = require('./tweets/tweet-with-video');
var tweetWithVideoExpected = require('./tweets/tweet-with-video-expected');
var tweetWithEmoji = require('./tweets/tweet-with-emoji');
var tweetWithEmojiExpected = require('./tweets/tweet-with-emoji-expected');
var tweetWithHashtag = require('./tweets/tweet-with-hashtag');
var tweetWithHashtagExpected = require('./tweets/tweet-with-hashtag-expected');
var tweetWithLinksPicMention = require('./tweets/tweet-with-links-pic-mention');
var tweetWithLinksPicMentionExpected = require('./tweets/tweet-with-links-pic-mention-expected');
var tweetWitUsernameMixedCases = require('./tweets/tweet-with-username-mixed-cases');
var tweetWitUsernameMixedCasesExpected = require('./tweets/tweet-with-username-mixed-cases-expected');
var tweetWithSpecifiedImgSizeExpected = require('./tweets/tweet-with-specified-img-size-expected');
var tweetBug3 = require('./tweets/tweet-bug-3');
var tweetBug3Expected = require('./tweets/tweet-bug-3-expected');
var parse = tweetToHTML.parse;
var multipleTweets = [tweetWithVideo, tweetWithEmoji, tweetWithHashtag, tweetWithLinksPicMention, tweetWitUsernameMixedCases, tweetBug3];
var multipleTweetsExpected = [tweetWithVideoExpected, tweetWithEmojiExpected, tweetWithHashtagExpected, tweetWithLinksPicMentionExpected, tweetWitUsernameMixedCasesExpected, tweetBug3Expected];
describe("Synchronous and Single Tweet Test Suite", function() {
it('Synchonous parsing of video in tweet is successful', function() {
assert.strictEqual(parse(tweetWithVideo).html, tweetWithVideoExpected);
});
it('Synchonous parsing of emoji in tweet is successful', function() {
assert.strictEqual(parse(tweetWithEmoji).html, tweetWithEmojiExpected);
});
it('Synchonous parsing of hashtag in tweet is successful', function() {
assert.strictEqual(parse(tweetWithHashtag).html, tweetWithHashtagExpected);
});
it('Synchonous parsing of links, pic, and mention in tweet is successful', function() {
assert.strictEqual(parse(tweetWithLinksPicMention).html, tweetWithLinksPicMentionExpected);
});
it('Synchonous parsing of usernames with mixed cases in tweet is successful', function() {
assert.strictEqual(parse(tweetWithLinksPicMention).html, tweetWithLinksPicMentionExpected);
});
it('Synchonous parsing of picture with specified image size is successful', function() {
assert.strictEqual(parse(tweetWithLinksPicMention, { photoSize: 'thumb' }).html, tweetWithSpecifiedImgSizeExpected);
});
});
describe("Synchronous and Multiple Tweets Test Suite", function() {
it('Synchonous parsing of videos, emojis, hashtags, links, pics, and mentions in multiple tweets is successful', function() {
parse(multipleTweets, (tweets) => {
tweets.forEach((tweet, index) => {
assert.strictEqual(
tweet.html,
multipleTweetsExpected[index]
);
});
})
});
});