def test(): u.init() scenes = { "INT. MOTEL ROOM - DAY": None, "INT. MOTEL ROOM - NIGHT": None, "EXT. PALACE - DAY": None, "EXT. SHOPFRONT - DAY": None } ch([], {}, []) ch([], scenes, []) ch([["nosuchthingie"]], {}, []) ch([["nosuchthingie"]], scenes, []) ch([["int. motel Room - day"]], scenes, [["INT. MOTEL ROOM - DAY"]]) ch([["int. motel Room - day", "nosuchthingie"]], scenes, [["INT. MOTEL ROOM - DAY"]]) ch([["int. motel Room - day", "int. motel Room - day"]], scenes, [["INT. MOTEL ROOM - DAY"]]) ch([["INT. MOTEL ROOM - DAY", "EXT. SHOPFRONT - DAY"]], scenes, [["EXT. SHOPFRONT - DAY", "INT. MOTEL ROOM - DAY"]]) ch([["INT. MOTEL ROOM - DAY"], ["INT. MOTEL ROOM - NIGHT", "EXT. PALACE - DAY"]], scenes, [["EXT. PALACE - DAY", "INT. MOTEL ROOM - NIGHT"], ["INT. MOTEL ROOM - DAY"]])
def testToUTF8(): u.init() t = util.toUTF8 assert t("") == "" assert t("yo") == "yo" assert t("yö") == "yö"
def testFancy(): u.init() allPages = ["1A", "3", "4B", "4C", "4D", "5", "6", "6A", "7", "7B"] ch(allPages, ["1A", "3", "4C", "6", "6A", "7", "7B"], "1A-3, 4C, 6-7B") ch(allPages, ["1A", "7B"], "1A, 7B") ch(allPages, ["1A", 7, "7B"], "1A, 7-7B")
def testFromUTF8(): u.init() f = util.fromUTF8 assert f("") == "" assert f("yo") == "yo" assert f("yö") == "yö" assert f("yö12345") == "y12345" assert f("a\xE2\x82\xACb") == "ab"
def testReplace(): u.init() ur = util.replace assert ur("", "", 0, 0) == "" assert ur("", "jep", 0, 0) == "jep" assert ur("yo", "bar", 0, 0) == "baryo" assert ur("yo", "bar", 0, 1) == "baro" assert ur("yo", "bar", 1, 0) == "ybaro" assert ur("yo", "bar", 1, 1) == "ybar" assert ur("yo", "bar", 2, 0) == "yobar" assert ur("yo", "ba\tr", 2, 0) == "yoba|r"
def testSplitToWords(): u.init() us = util.splitToWords assert us("") == [] assert us("yo") == ["yo"] assert us("yo foo") == ["yo", "foo"] assert us("äksy yö") == ["äksy", "yö"] assert us("Mixed CASE") == ["Mixed", "CASE"] assert us("out-of-nowhere, a monkey appears, bearing fruit!") == [ "out", "of", "nowhere", "a", "monkey", "appears", "bearing", "fruit"] assert us("don't assume -- it blaa") == ["don't", "assume", "it", "blaa"] assert us("a''b--c|d®e") == ["a''b", "c", "d", "e"]
def testSplitToWords(): u.init() us = util.splitToWords assert us("") == [] assert us("yo") == ["yo"] assert us("yo foo") == ["yo", "foo"] assert us("äksy yö") == ["äksy", "yö"] assert us("Mixed CASE") == ["Mixed", "CASE"] assert us("out-of-nowhere, a monkey appears, bearing fruit!") == [ "out", "of", "nowhere", "a", "monkey", "appears", "bearing", "fruit" ] assert us("don't assume -- it blaa") == ["don't", "assume", "it", "blaa"] assert us("a''b--c|d®e") == ["a''b", "c", "d", "e"]
def testEscapeStrings(): u.init() data = [ ([], ""), (["a"], "a"), (["a", "b"], "a\\nb"), (["a", "b", "cc"], "a\\nb\\ncc"), (["foo\\bar", "blaa"], "foo\\\\bar\\nblaa"), (["a\\n", "c"], "a\\\\n\\nc"), (["a\\", "b"], "a\\\\\\nb"), ] for items, s in data: assert util.escapeStrings(items) == s assert util.unescapeStrings(s) == items
def testBasic(): u.init() # "1" .. "119" allPages = [str(p) for p in range(120)[1:]] # test basic stuff ch([], [], "") ch(allPages, [], "") ch(allPages, [-42, 167], "") ch(allPages, [1], "1") ch(allPages, [1, 2], "1-2") ch(allPages, [6, 7, 8], "6-8") ch(allPages, [6, 7, 8, 118], "6-8, 118") ch(allPages, [6, 7, 8, 119], "6-8, 119") ch(allPages, [6, 7, 8, 118, 119], "6-8, 118-119") # test that int/str makes no difference ch(allPages, [1, 2, 3, 5, 7, 9, 42, 43, 44], "1-3, 5, 7, 9, 42-44") ch(allPages, ["1", "2", "3", "5", "7", "9", "42", "43", "44"], "1-3, 5, 7, 9, 42-44") ch(allPages, ["1", 2, "3", 5, "7", 9, "42", 43, "44"], "1-3, 5, 7, 9, 42-44")