107 lines
4.1 KiB
GDScript
107 lines
4.1 KiB
GDScript
extends GutTest
|
|
|
|
func test_parse_login():
|
|
# Parse a good substring from a real payload
|
|
var result:String = VSTParseHelper.parse_login(":rothio!rothio@rothio.tmi.twitch.tv")
|
|
assert_eq(result, "rothio")
|
|
result = VSTParseHelper.parse_login(":rothiotome!rothiotome@rothiotome.tmi.twitch.tv")
|
|
assert_eq(result, "rothiotome")
|
|
|
|
# Not parsing a wrong substring
|
|
result = VSTParseHelper.parse_login("bad_login_rothiotome")
|
|
assert_eq(result, "bad_login_rothiotome")
|
|
|
|
|
|
func test_parse_channel():
|
|
# Parse a good substring from a real payload
|
|
var result:String = VSTParseHelper.parse_channel("#rothio")
|
|
assert_eq(result, "rothio")
|
|
|
|
# Not parsing a wrong substring from payload
|
|
result = VSTParseHelper.parse_channel("_rothio_bad_channel")
|
|
assert_eq(result, "_rothio_bad_channel")
|
|
|
|
|
|
func test_parse_message():
|
|
# Parse a good substring from a real payload
|
|
var result:String = VSTParseHelper.parse_message(":rothioCuchillo rothioJeje")
|
|
assert_eq(result, "rothioCuchillo rothioJeje")
|
|
result = VSTParseHelper.parse_message(": rothioCuchillo rothioJeje ")
|
|
assert_eq(result, "rothioCuchillo rothioJeje")
|
|
|
|
# Not parsing a wrong substring from payload
|
|
result = VSTParseHelper.parse_message("_rothioCuchillo rothioJeje")
|
|
assert_eq(result, "_rothioCuchillo rothioJeje")
|
|
|
|
|
|
func test_parse_tags():
|
|
var result:VSTIRCTags = VSTParseHelper.parse_tags("@badge-info=subscriber/21;badges=broadcaster/1,subscriber/0;client-nonce=1f0134354;color=#FF666F;display-name=RothioTome;emote-only=1;emotes=emotesv2_3328e0d6b6714a6a90dc8f58d09e5648:11-24/emotesv2_4b9a9537c7e34c3395ada46471c4097e:26-35;first-msg=0;flags=;id=6da896da-f543-4928-b5b0-ad84f216a0e3;mod=0;returning-chatter=0;room-id=156108906;subscriber=1;tmi-sent-ts=1;turbo=0;user-id=1;user-type=")
|
|
assert_eq(result.user_id, "156108906")
|
|
|
|
assert_eq(result.color_hex, "#FF666F")
|
|
assert_eq(result.display_name, "RothioTome")
|
|
|
|
var parsed_badges:Dictionary = {"broadcaster": "1", "subscriber": "0"}
|
|
assert_eq_deep(result.badges, parsed_badges)
|
|
|
|
var parsed_emotes:Dictionary = { "emotesv2_3328e0d6b6714a6a90dc8f58d09e5648": "11-24",
|
|
"emotesv2_4b9a9537c7e34c3395ada46471c4097e": "26-35" }
|
|
|
|
assert_eq_deep(result.emotes, parsed_emotes)
|
|
|
|
|
|
func test_parse_badges():
|
|
var array:PackedStringArray = ["verified/2", "broadcaster/1", "subscriber/0"]
|
|
var parsed:Dictionary = {"verified": "2", "broadcaster": "1", "subscriber": "0"}
|
|
|
|
# Parse an array with a good badge format
|
|
var result:Dictionary = VSTParseHelper.parse_badges(array)
|
|
assert_eq_deep(result, parsed)
|
|
|
|
# Parse an array with some bad badge format
|
|
array = ["a", "verified/2", "b", "broadcaster/1", "subscriber/0"]
|
|
result = VSTParseHelper.parse_badges(array)
|
|
assert_eq_deep(result, parsed)
|
|
|
|
# Parse an empty array of badges
|
|
result = VSTParseHelper.parse_badges([])
|
|
assert_eq_deep(result, {})
|
|
|
|
|
|
func test_parse_emotes():
|
|
var array:PackedStringArray = ["emotesv2_3328e0d6b6714a6a90dc8f58d09e5648:11-24",
|
|
"emotesv2_4b9a9537c7e34c3395ada46471c4097e:26-35"]
|
|
var parsed:Dictionary = { "emotesv2_3328e0d6b6714a6a90dc8f58d09e5648": "11-24",
|
|
"emotesv2_4b9a9537c7e34c3395ada46471c4097e": "26-35" }
|
|
|
|
# Parse an array with a good emote format
|
|
var result:Dictionary = VSTParseHelper.parse_emotes(array)
|
|
assert_eq_deep(result, parsed)
|
|
|
|
# Parse an empty emote array
|
|
result = VSTParseHelper.parse_emotes([])
|
|
assert_eq_deep(result,{})
|
|
|
|
# Parse an array with a wrong emote format
|
|
array = ["emotesv2_3328e0d6b6714a6a90dc8f58d09e5648:11-24",
|
|
"emotesv2_4b9a9537c7e34c3395ada46471c4097e:26-35", "a", "b"]
|
|
result = VSTParseHelper.parse_emotes(array)
|
|
assert_eq_deep(result, parsed)
|
|
|
|
|
|
func test_parse_substring():
|
|
# Returning expected value from char to char substring
|
|
var result:String = VSTParseHelper.get_substring(":abc!",":","!")
|
|
assert_eq(result, "abc")
|
|
result = VSTParseHelper.get_substring("abcdef","b","f")
|
|
assert_eq(result, "cde")
|
|
result = VSTParseHelper.get_substring(":abc!","!","!")
|
|
assert_eq(result, "")
|
|
|
|
# Returning the same value from a invalid or not found chars
|
|
result = VSTParseHelper.get_substring(":abc!","x","!")
|
|
assert_eq(result, ":abc!")
|
|
result = VSTParseHelper.get_substring(":abc!","!","x")
|
|
assert_eq(result, ":abc!")
|
|
result = VSTParseHelper.get_substring(":abc!","c","a")
|
|
assert_eq(result, ":abc!")
|