def test_LinesNumber(self):
     root = Block(None, 'root', blType=BlockTypes.BLOCK)
     for t in range(1, 51):
         root.append(Block.createLineBlock('Line '+str(t)))
     self.assertEqual(root.LineCount, 50)
     
     root = Block.loadFromFile(pjoin(resDir, 'testControllerBlocks.txt'))
     self.assertEquals(root.LineCount, 30)
 def test_appendInBlock(self):
     cbl=InPythonBlockLocator()
     m = Block.loadFromFile(pjoin(resDir, 'testBlockTree.html'))
     pybl = Block.loadFromFile(pjoin(resDir, 'testControllerBlocks.txt'),
                               cbl)
     pybl['ApplicationControllers'].append(Block.createEmptyBlock('TestControllers',cbl))
     pybl['ApplicationControllers.TestControllers'].append(Block.createLineBlock('bla bla bla'))
     f = open(pjoin(resDir, 'testControllerBlocks_rez.txt'), 'w')
     f.write(str(pybl))
     f.close()
    def test_Str(self):
        testBlock1 = """
            {%block root%}
            {%endblock%}
            some aditional Text
            {%block one line %}
            Text 2
            Text 3"""
        invalidBlock ="""
            test1
            {%block test %}
                test1
                {%block test %}
            bla bla bla"""

        bl1 =Block.loadFromLines(testBlock1.split('\n'), 'main')
        bl2 =Block.loadFromLines(invalidBlock.split('\n'), 'main')
        self.assertEquals(bl1.__str__(), testBlock1)
        self.assertEquals(bl2.__str__(), invalidBlock)
        bl2['test.test'].append(Block.createLineBlock('bla bla bla'))
        self.assertEquals(bl2.__str__(), invalidBlock+'\nbla bla bla')