def testBackJoinElements(): sp = u.load() sp.cmd("moveDown") sp.cmd("deleteBackward") assert (sp.line == 0) and (sp.column == 23) assert sp.lines[0].text == "ext. stonehenge - nightA blizzard rages."\ " Snow is everywhere"
def testMoveUp(): sp = u.load() sp.cmd("moveUp") assert (sp.line == 0) and (sp.column == 0) sp.cmd("moveDown") sp.cmd("moveLineEnd") sp.cmd("moveUp") assert (sp.line == 0) and (sp.column == 23)
def testMoveLeft(): sp = u.load() sp.cmd("moveLeft") assert (sp.line == 0) and (sp.column == 0) sp.cmd("moveDown") sp.cmd("moveLeft") assert (sp.line == 0) and (sp.column == 23) sp.cmd("moveLineStart") assert sp.column == 0
def testBasic(): sp = u.load() sp.cmd("setMark") sp.getSelectedAsCD(True) assert sp.lines[0].lb == scr.LB_LAST assert sp.lines[0].lt == scr.SCENE assert sp.lines[0].text == "xt. stonehenge - night"
def testBackLbForced(): sp = u.load() sp.gotoPos(34, 0) assert sp.lines[33].lb == scr.LB_FORCED sp.cmd("deleteBackward") assert (sp.line == 33) and (sp.column == 6) assert sp.lines[33].text == "brightyellow package at their feet." assert sp.lines[33].lb == scr.LB_LAST
def testBasic(): sp = u.load() report = characterreport.CharacterReport(sp) data = report.generate() # try to catch cases where generate returns something other than a PDF # document assert len(data) > 200 assert data[:8] == "%PDF-1.5"
def testBasic(): sp = u.load() report = locationreport.LocationReport(scenereport.SceneReport(sp)) data = report.generate() # try to catch cases where generate returns something other than a PDF # document assert len(data) > 200 assert data[:8] == "%PDF-1.5"
def testBasic(): sp = u.load() report = scriptreport.ScriptReport(sp) data = report.generate() # try to catch cases where generate returns something other than a PDF # document assert len(data) > 200 assert data[:8] == "%PDF-1.5"
def testMoveSceneDown(): sp = u.load() sp.cmd("moveSceneDown") assert (sp.line == 14) and (sp.column == 0) sp.cmd("moveDown") sp.cmd("moveSceneDown") assert (sp.line == 30) and (sp.column == 0) sp.cmd("moveEnd") sp.cmd("moveSceneDown") assert (sp.line == 158) and (sp.column == 0)
def testMoveRight(): sp = u.load() sp.cmd("moveRight") assert sp.column == 1 sp.cmd("moveLineEnd") sp.cmd("moveRight") assert (sp.line == 1) and (sp.column == 0) sp.cmd("moveEnd") sp.cmd("moveRight") assert (sp.line == 158) and (sp.column == 5)
def testBackLbForcedTypeConvert(): sp = u.load() sp.cmd("toTransition") sp.cmd("moveDown", count=3) sp.cmd("insertForcedLineBreak") sp.cmd("moveUp") sp.cmd("deleteBackward") sp._validate()
def testNbspAtEOL(): sp = u.load() sp.cmd("moveDown", count = 3) sp.cmd("moveLineEnd") sp.cmd("addChar", char = chr(160)) sp.cmd("addChar", char = "a") assert sp.lines[3].text.endswith("mind") assert sp.lines[4].text.startswith("would%sa" % chr(160)) assert (sp.line == 4) and (sp.column == 7) assert sp.lines[3].lb == scr.LB_SPACE assert sp.lines[4].lb == scr.LB_LAST
def testForcedLb(): sp = u.load() sp.cmd("moveDown", count = 2) sp.cmd("insertForcedLineBreak") sp.cmd("moveUp", count = 2) sp.cmd("moveLineEnd") sp.cmd("setMark") sp.cmd("moveRight") sp.getSelectedAsCD(True) sp._validate()
def testNbspAtEOL(): sp = u.load() sp.cmd("moveDown", count=3) sp.cmd("moveLineEnd") sp.cmd("addChar", char=chr(160)) sp.cmd("addChar", char="a") assert sp.lines[3].text.endswith("mind") assert sp.lines[4].text.startswith("would%sa" % chr(160)) assert (sp.line == 4) and (sp.column == 7) assert sp.lines[3].lb == scr.LB_SPACE assert sp.lines[4].lb == scr.LB_LAST
def testForcedLb(): sp = u.load() sp.cmd("moveDown", count=2) sp.cmd("insertForcedLineBreak") sp.cmd("moveUp", count=2) sp.cmd("moveLineEnd") sp.cmd("setMark") sp.cmd("moveRight") sp.getSelectedAsCD(True) sp._validate()
def testMoveDown(): sp = u.load() sp.cmd("moveDown") assert sp.line == 1 sp.cmd("moveDown") sp.cmd("moveDown") sp.cmd("moveLineEnd") sp.cmd("moveDown") assert (sp.line == 4) and (sp.column == 31) sp.cmd("moveEnd") sp.cmd("moveDown") assert sp.line == 158
def run(self, sp): if self.name == "NEW": return u.new() elif self.name == "LOAD": return u.load() if self.args: sp.cmd(self.name, chr(self.args[0])) else: sp.cmd(self.name) return sp
def testTypeConvert(): sp = u.load() sp.cmd("toTransition") sp.cmd("moveDown", count = 3) sp.cmd("insertForcedLineBreak") sp.cmd("moveUp") sp.cmd("setMark") sp.cmd("moveLeft") sp.getSelectedAsCD(True) sp._validate()
def testLastDelete(): sp = u.load() sp.cmd("moveEnd") sp.cmd("setMark") sp.cmd("moveUp", count=4) sp.cmd("moveLineStart") # we used to have a bug where if we deleted e.g. the last two lines of # the script, and that element was longer, we didn't mark the # third-last line as LB_LAST, and then it crashed in rewrapPara. sp.getSelectedAsCD(True)
def testLastDelete(): sp = u.load() sp.cmd("moveEnd") sp.cmd("setMark") sp.cmd("moveUp", count = 4) sp.cmd("moveLineStart") # we used to have a bug where if we deleted e.g. the last two lines of # the script, and that element was longer, we didn't mark the # third-last line as LB_LAST, and then it crashed in rewrapPara. sp.getSelectedAsCD(True)
def testTypeConvert(): sp = u.load() sp.cmd("toTransition") sp.cmd("moveDown", count=3) sp.cmd("insertForcedLineBreak") sp.cmd("moveUp") sp.cmd("setMark") sp.cmd("moveLeft") sp.getSelectedAsCD(True) sp._validate()
def testSpaceAtEOL(): sp = u.load() sp.cmd("moveDown", count = 3) sp.cmd("moveLineEnd") sp.cmd("addChar", char = "z") sp.cmd("addChar", char = " ") assert sp.lines[3].text.endswith("z ") sp.cmd("addChar", char = "x") assert (sp.line == 4) and (sp.column == 1) assert sp.lines[3].lb == scr.LB_SPACE assert sp.lines[4].lb == scr.LB_LAST assert sp.lines[3].text.endswith("wouldz") assert sp.lines[4].text.startswith("x be")
def testBackLbSpace(): sp = u.load() sp.gotoPos(16, 60) sp.cmd("addChar", char=" ") assert sp.lines[16].lb == scr.LB_SPACE sp.cmd("moveDown") sp.cmd("moveLineStart") sp.cmd("deleteBackward") assert (sp.line == 17) and (sp.column == 0) assert sp.lines[16].lb == scr.LB_SPACE assert sp.lines[16].text == "A calm night, with the ocean almost still."\ " Two fishermen are" assert sp.lines[17].text == "smoking at the rear deck."
def testSpaceAtEOL(): sp = u.load() sp.cmd("moveDown", count=3) sp.cmd("moveLineEnd") sp.cmd("addChar", char="z") sp.cmd("addChar", char=" ") assert sp.lines[3].text.endswith("z ") sp.cmd("addChar", char="x") assert (sp.line == 4) and (sp.column == 1) assert sp.lines[3].lb == scr.LB_SPACE assert sp.lines[4].lb == scr.LB_LAST assert sp.lines[3].text.endswith("wouldz") assert sp.lines[4].text.startswith("x be")
def testMoveSceneUp(): sp = u.load() sp.cmd("moveSceneUp") assert (sp.line == 0) and (sp.column == 0) sp.gotoPos(18, 1) sp.cmd("moveSceneUp") assert (sp.line == 14) and (sp.column == 0) sp.cmd("moveSceneUp") assert (sp.line == 0) and (sp.column == 0) # make sure we don't go before the start trying to find scenes sp.cmd("toAction") sp.cmd("moveSceneUp") assert (sp.line == 0) and (sp.column == 0)
def testEndPrevPara(): sp = u.load() sp.cmd("moveDown", count=4) sp.cmd("moveLineEnd") sp.cmd("setMark") sp.cmd("moveLineStart") sp.cmd("moveUp") sp.getSelectedAsCD(True) # test that when deleting the last lines of an element we correctly # flag the preceding line as the new last line. assert sp.lines[2].lb == scr.LB_LAST assert sp.lines[3].lt == scr.CHARACTER
def testEndPrevPara(): sp = u.load() sp.cmd("moveDown", count = 4) sp.cmd("moveLineEnd") sp.cmd("setMark") sp.cmd("moveLineStart") sp.cmd("moveUp") sp.getSelectedAsCD(True) # test that when deleting the last lines of an element we correctly # flag the preceding line as the new last line. assert sp.lines[2].lb == scr.LB_LAST assert sp.lines[3].lt == scr.CHARACTER
def testFirstDelete(): sp = u.load() sp.cmd("moveDown") sp.cmd("setMark") sp.cmd("moveDown") sp.getSelectedAsCD(True) assert sp.lines[0].lb == scr.LB_LAST assert sp.lines[0].lt == scr.SCENE assert sp.lines[1].lb == scr.LB_SPACE assert sp.lines[1].lt == scr.ACTION assert sp.lines[1].lt == scr.ACTION assert sp.lines[1].text == "lmost zero. Only at brief moments do we catch sight of the" sp._validate()
def testFirstDelete(): sp = u.load() sp.cmd("moveDown") sp.cmd("setMark") sp.cmd("moveDown") sp.getSelectedAsCD(True) assert sp.lines[0].lb == scr.LB_LAST assert sp.lines[0].lt == scr.SCENE assert sp.lines[1].lb == scr.LB_SPACE assert sp.lines[1].lt == scr.ACTION assert sp.lines[1].lt == scr.ACTION assert sp.lines[ 1].text == "lmost zero. Only at brief moments do we catch sight of the" sp._validate()
def testBackLbNone(): sp = u.load() sp.gotoPos(20, 0) assert sp.lines[19].lb == scr.LB_NONE sp.cmd("deleteBackward") assert (sp.line == 19) and (sp.column == 34) assert sp.lines[19].text == "Aye,it'snightslikethisthatmakemeree" assert sp.lines[20].text == "mber why I love being a fisherman." assert sp.lines[19].lb == scr.LB_NONE sp.cmd("moveRight", count=3) sp.cmd("addChar", char=" ") sp.cmd("moveLeft", count=2) sp.cmd("deleteBackward") assert (sp.line == 19) and (sp.column == 34) assert sp.lines[19].text == "Aye,it'snightslikethisthatmakemerem" assert sp.lines[20].text == "ber why I love being a fisherman." assert sp.lines[19].lb == scr.LB_SPACE
def testChangeManyElemes(): sp = u.load() ls = sp.lines # select second and third elements sp.cmd("moveDown") sp.cmd("setMark") sp.cmd("moveDown", count=4) sp.cmd("toTransition") assert ls[0].lt == scr.SCENE for i in range(1, 13): assert ls[i].lt == scr.TRANSITION assert ls[11].lb == scr.LB_LAST assert ls[12].lb == scr.LB_LAST assert ls[13].lt == scr.DIALOGUE
def testChangeOneElem(): sp = u.load() ls = sp.lines sp.cmd("moveDown") sp.cmd("tab") assert ls[1].lt == scr.CHARACTER sp.cmd("toPrevTypeTab") assert ls[1].lt == scr.ACTION functionMap = { "toScene": scr.SCENE, "toCharacter": scr.CHARACTER, "toAction": scr.ACTION, "toDialogue": scr.DIALOGUE, "toParen": scr.PAREN, "toShot": scr.SHOT, "toNote": scr.NOTE, "toTransition": scr.TRANSITION, } for (func, ele) in functionMap.items(): sp.cmd(func) assert ls[0].lt == scr.SCENE i = 1 while 1: assert ls[i].lt == ele if ls[i].lb == scr.LB_LAST: break i += 1 assert ls[i + 1].lt == scr.CHARACTER
def testRemoveElementTypes(): sp = u.load() sp.removeElementTypes({ scr.ACTION : 0 }) assert sp.isModified()
def testBackStart(): sp = u.load() sp.cmd("deleteBackward") assert (sp.line == 0) and (sp.column == 0) assert sp.lines[0].text == "ext. stonehenge - night"
def testConvert(): sp = u.load() sp.cmd("toNote") assert sp.isModified()
def testPaste(): sp = u.load() sp.paste([scr.Line(text="yo")]) assert sp.isModified()
def testRemoveElementTypes(): sp = u.load() sp.removeElementTypes({scr.ACTION: 0}, False) assert sp.isModified()
def testElemChangesType(): sp = u.load() sp._validate() sp.lines[1].lt = scr.SCENE v(sp)
def testApplyCfg(): sp = u.load() sp.applyCfg(config.Config()) assert sp.isModified()
def testCut(): sp = u.load() sp.cmd("setMark") sp.cmd("moveRight") sp.getSelectedAsCD(True) assert sp.isModified()
def testPaste(): sp = u.load() sp.paste([scr.Line(text = "yo")]) assert sp.isModified()
def testInitial(): sp = u.load() assert not sp.isModified()