Files
create/src/Mod/TechDraw/TDTest/DVAnnoSymImageTest.py
WandererFan 6bd237e41e Update TechDraw Unit Test set
Allow unit test to run in console mode

Change to unique document names for each unit test

Fix error in CMake install for test files

Correct Py3/Py2 unicode error
2018-02-01 19:34:04 +01:00

66 lines
1.9 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# annotation & symbol test script for TechDraw module
# creates a page, 1 annotation and import 1 symbol
from __future__ import print_function
import FreeCAD
import Part
import Measure
import TechDraw
import os
def DVAnnoSymImageTest():
path = os.path.dirname(os.path.abspath(__file__))
print ('TDTestAnno path: ' + path)
templateFileSpec = path + '/TestTemplate.svg'
symbolFileSpec = path + '/TestSymbol.svg'
imageFileSpec = path + '/TestImage.png'
FreeCAD.newDocument("TDAnno")
FreeCAD.setActiveDocument("TDAnno")
FreeCAD.ActiveDocument=FreeCAD.getDocument("TDAnno")
page = FreeCAD.ActiveDocument.addObject('TechDraw::DrawPage','Page')
FreeCAD.ActiveDocument.addObject('TechDraw::DrawSVGTemplate','Template')
FreeCAD.ActiveDocument.Template.Template = templateFileSpec
FreeCAD.ActiveDocument.Page.Template = FreeCAD.ActiveDocument.Template
# page.ViewObject.show() # unit tests run in console mode
#annotation
anno = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewAnnotation','TestAnno')
s = 'Different Text'
sl = list()
sl.append(s)
anno.Text = sl
anno.TextStyle = 'Bold'
rc = page.addView(anno)
anno.X = 30.0
anno.Y = 150.0
#symbol
sym = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewSymbol','TestSymbol')
f = open(symbolFileSpec, 'r')
svg = f.read()
f.close()
sym.Symbol = svg
rc = page.addView(sym)
sym.X = 220.0
sym.Y = 150.0
#image
img = FreeCAD.ActiveDocument.addObject('TechDraw::DrawViewImage','TestImage')
img.ImageFile = imageFileSpec
rc = page.addView(img)
FreeCAD.ActiveDocument.recompute()
rc = False
if ("Up-to-date" in anno.State) and ("Up-to-date" in sym.State) and ("Up-to-date" in img.State):
rc = True
FreeCAD.closeDocument("TDAnno")
return rc
if __name__ == '__main__':
DVAnnoSymImageTest()