50 lines
1.8 KiB
Python
50 lines
1.8 KiB
Python
import unittest
|
|
if __name__ == '__main__':
|
|
import bootstrap
|
|
from lesscpy.plib.process import Process
|
|
from lesscpy.plib.variable import Variable
|
|
from lesscpy.lessc.scope import Scope
|
|
from mockp import Mockp
|
|
|
|
class TestProcess(unittest.TestCase):
|
|
def testswap(self):
|
|
p = Process(Mockp([]))
|
|
p.scope = Scope()
|
|
p.scope.push()
|
|
self.assertRaises(SyntaxError, p.swap, '@var')
|
|
p.scope.add_variable(Variable(Mockp(['@var', ':', ['1']])))
|
|
self.assertEqual('1', p.swap('@var'))
|
|
p.scope.push()
|
|
p.scope.add_variable(Variable(Mockp(['@var', ':', ['2']])))
|
|
self.assertEqual('2', p.swap('@var'))
|
|
p.scope.pop()
|
|
self.assertEqual('1', p.swap('@var'))
|
|
self.assertEqual('1 ', p.swap('@var '))
|
|
self.assertEqual('-1', p.swap('-@var'))
|
|
self.assertEqual('-1 ', p.swap('-@var '))
|
|
|
|
def testswapvarvar(self):
|
|
p = Process(Mockp([]))
|
|
p.scope = Scope()
|
|
p.scope.push()
|
|
p.scope.add_variable(Variable(Mockp(['@var', ':', ['1']])))
|
|
p.scope.add_variable(Variable(Mockp(['@name', ':', ['var']])))
|
|
self.assertEqual('1', p.swap('@@name'))
|
|
self.assertEqual('1 ', p.swap('@@name '))
|
|
self.assertEqual('-1', p.swap('-@@name'))
|
|
self.assertEqual('-1 ', p.swap('-@@name '))
|
|
|
|
def testreplace(self):
|
|
p = Process(Mockp([]))
|
|
p.scope = Scope()
|
|
p.scope.push()
|
|
p.scope.add_variable(Variable(Mockp(['@var', ':', ['1']])))
|
|
p.scope.push()
|
|
p.scope.add_variable(Variable(Mockp(['@var2', ':', ['2']])))
|
|
t = p.replace_vars(['1', '@var2', 'm', '@var'])
|
|
self.assertEqual(t, ['1', '2', 'm', '1'])
|
|
t = p.replace_vars(['1', '-@var2 ', 'm', '-@var'])
|
|
self.assertEqual(t, ['1', '-2 ', 'm', '-1'])
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main() |