def testParseStyleData(self): """Test parsing Editra Style Sheets""" # Test valid style sheet data = common.GetFileContents(self.stylesheet) styledict = self.mgr.ParseStyleData(data) for tag, item in styledict.iteritems(): self.assertTrue(isinstance(tag, types.UnicodeType), "%s Is not Unicode!" % tag) self.assertTrue(isinstance(item, ed_style.StyleItem)) # Test loading sheet with malformed data sheet_path = common.GetDataFilePath('incorrect_syntax.ess') data = common.GetFileContents(sheet_path) styledict2 = self.mgr.ParseStyleData(data) self.assertTrue(len(styledict) > len(styledict2)) for tag, item in styledict2.iteritems(): self.assertTrue(isinstance(tag, types.UnicodeType), "%s Is not Unicode!" % tag) self.assertTrue(isinstance(item, ed_style.StyleItem)) # Test stylesheet that is all on one line sheet_path = common.GetDataFilePath('one_liner.ess') data = common.GetFileContents(sheet_path) styledict3 = self.mgr.ParseStyleData(data) for tag, item in styledict3.iteritems(): self.assertTrue(isinstance(tag, types.UnicodeType), "%s Is not Unicode!" % tag) self.assertTrue(isinstance(item, ed_style.StyleItem))
def setUp(self): self.path = common.GetDataFilePath(u'syntax.xml') self.bad = common.GetDataFilePath(u'bad.xml') self.xml = common.GetFileContents(self.path) self.badxml = common.GetFileContents(self.bad) self.fhandle = syntax.SyntaxModeHandler(self.path) self.fhandle.LoadFromDisk()
def testValidateBuiltinStyleSheets(self): """Validate formatting and parsing of all builtin style sheets""" sdir = common.GetStylesDir() for sheet in [ os.path.join(sdir, f) for f in os.listdir(sdir) if f.endswith('.ess') ]: data = common.GetFileContents(sheet) styledict = self.mgr.ParseStyleData(data) styledict = self.mgr.PackStyleSet(styledict) for tag, item in styledict.iteritems(): self.doValidateColourAttrs(tag, item) mods = item.GetModifierList() if len(mods): for mod in mods: self.assertTrue(mod in ('eol', 'bold', 'italic', 'underline')) isize = item.GetSize() if len(isize ): # Null items such as select_style dont set this attr self.assertTrue( isize.isdigit() or (isize.startswith("%(") and isize.endswith(")d")), "Bad font size specification %s:%s:%s" % (sheet, tag, repr(isize)))
def testWriteUTF16File(self): """Test that input and output bytes match""" txt = self.file_utf16.Read() self.assertTrue(type(txt) == types.UnicodeType) # Get original raw bytes raw_bytes = common.GetFileContents(self.file_utf16.GetPath()) # Write the unicode back out to disk out = common.GetTempFilePath('utf_16_output.txt') self.file_utf16.SetPath(out) self.file_utf16.Write(txt) # Get raw bytes that were just written new_bytes = common.GetFileContents(out) self.assertEquals(raw_bytes, new_bytes)
def testValidateColourData(self): """Validate that colour data is getting parsed correctly""" sheet_path = common.GetDataFilePath('old_format.ess') data = common.GetFileContents(sheet_path) styledict = self.mgr.ParseStyleData(data) styledict = self.mgr.PackStyleSet(styledict) for tag, item in styledict.iteritems(): self.doValidateColourAttrs(tag, item)
def testParseStyleData(self): """Test parsing Editra Style Sheets""" data = common.GetFileContents(self.stylesheet) styledict = self.mgr.ParseStyleData(data) for tag, item in styledict.iteritems(): self.assertTrue(isinstance(tag, types.UnicodeType), "%s Is not Unicode!" % tag) self.assertTrue(isinstance(item, ed_style.StyleItem))
def testBackupWithHeader(self): """Tests using the backup file header identifier option""" bkup = ebmlib.FileBackupMgr("SuperHeader", u"%s~") path = common.MakeTempFile("test_header.txt") self.assertTrue(bkup.MakeBackupCopy(path)) bkupf = bkup.GetBackupFilename(path) self.assertTrue(os.path.exists(bkupf), "Invalid path: %s" % bkupf) txt = common.GetFileContents(bkupf) self.assertTrue(txt.startswith("SuperHeader"))
def testWriteUTF16File(self): """Test that input and output bytes match""" fobj = ed_txt.EdFile(self.path_utf16) txt = fobj.Read() self.assertTrue(type(txt) == types.UnicodeType) self.assertTrue(fobj.Encoding in ('utf-16', 'utf_16')) self.assertFalse(fobj.HasBom()) # test file has no BOM # Get original raw bytes raw_bytes = common.GetFileContents(fobj.GetPath()) # Write the unicode back out to disk out = common.GetTempFilePath('utf_16_output.txt') fobj.SetPath(out) self.assertFalse(fobj.HasBom()) # test file has no BOM fobj.Write(txt) # Get raw bytes that were just written new_bytes = common.GetFileContents(out) self.assertEquals(raw_bytes, new_bytes)
def testPackStyleSet(self): """Test packing an incomplete style set""" ## TEST 1 - loading and packing sheet that does not define comment_style data = common.GetFileContents(self.stylesheet) styledict = self.mgr.ParseStyleData(data) self.assertTrue('comment_style' not in styledict) default = styledict.get('default_style') self.assertTrue(isinstance(default, ed_style.StyleItem)) # Pack the Style Set styledict = self.mgr.PackStyleSet(styledict) self.assertTrue('comment_style' in styledict) whitestyle = styledict.get('comment_style') self.assertTrue(whitestyle == default)