def testOrgParserIdentifyOrgTables(self): source = ["some text sdfsdf", "| Header | X | Header Z |", "|------+----+------|", "| Content | 1 | Content Z |", "Some other text"] target = (CacheLocation(1,0), CacheLocation(3,27)) result = OrgParser.identifyOrgTable(source, CacheLocation.getZeroCacheLocation()) self.assertEqual(result, target)
def translateOrgToHTMLTables(pCache): vNewCache = pCache vCacheRange = OrgParser.identifyOrgTable(vNewCache, CacheLocation.getZeroCacheLocation()) while(vCacheRange.start != None and vCacheRange.start > CacheLocation.getZeroCacheLocation()): vOrgTablePart = CacheLocation.getCacheLocation(vNewCache, vCacheRange.start, vCacheRange.end) vOrgTable = OrgParser.parse(vOrgTablePart) vHTMLWriter = OrgTableHTMLWriter(vOrgTable) vCache = vHTMLWriter.parseHTML() vNewCache = CacheLocation.replaceCacheLocation(vNewCache, vCacheRange.start, vCacheRange.end, vCache) vOriginalLines = vCacheRange.end.getLineNum() - vCacheRange.start.getLineNum() vNewLines = len(vCache) vDifference = vNewLines - vOriginalLines vCacheLocationEnd = CacheLocation(vCacheRange.end.getLineNum()+vDifference, vCacheRange.end.getIndex()) vCacheRange = OrgParser.identifyOrgTable(vNewCache, vCacheLocationEnd) return vNewCache
def testParseOrgTable2Cols(self): source = ["| Header | X |", "|------+-----|", "| Content | 1 |", "| 2Content | 21 |"] result = OrgParser.parse(source) self.assertEqual(result.getCols(0), 2) self.assertEqual(result.getRows(), 3) self.assertEqual(result.getColumnContent(0,0), "Header") self.assertEqual(result.getColumnContent(0,1), "Content") self.assertEqual(result.getColumnContent(0,2), "2Content") self.assertEqual(result.getColumnContent(1,0), "X") self.assertEqual(result.getColumnContent(1,1), "1") self.assertEqual(result.getColumnContent(1,2), "21")