Direct test invocation doesn't work reliably across all environments. Using 'nosetests $FILE' is much more efficient.
		
			
				
	
	
		
			106 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import unittest
 | 
						|
 | 
						|
import lesscpy.lessc.utility as utility
 | 
						|
 | 
						|
 | 
						|
class TestUtility(unittest.TestCase):
 | 
						|
    def test_analyze(self):
 | 
						|
        test = utility.analyze_number
 | 
						|
        self.assertEqual((0, ''), test('0'))
 | 
						|
        self.assertEqual((1, ''), test('1'))
 | 
						|
        self.assertEqual(type(test('1')[0]), int)
 | 
						|
        self.assertEqual(type(test('-1')[0]), int)
 | 
						|
        self.assertEqual((1.0, ''), test('1.0'))
 | 
						|
        self.assertEqual(type(test('-1.0')[0]), float)
 | 
						|
        self.assertEqual((0, 'px'), test('0px'))
 | 
						|
        self.assertEqual((1, 'px'), test('1px'))
 | 
						|
        self.assertEqual((1.0, 'px'), test('1.0px'))
 | 
						|
        self.assertEqual((0, 'px'), test('-0px'))
 | 
						|
        self.assertEqual((-1, 'px'), test('-1px'))
 | 
						|
        self.assertEqual(type(test('-1px')[0]), int)
 | 
						|
        self.assertEqual((-1.0, 'px'), test('-1.0px'))
 | 
						|
        self.assertEqual(type(test('-1.0px')[0]), float)
 | 
						|
        self.assertRaises(SyntaxError, test, 'gg')
 | 
						|
        self.assertRaises(SyntaxError, test, '-o')
 | 
						|
        self.assertRaises(SyntaxError, test, '')
 | 
						|
 | 
						|
    def test_split_unit(self):
 | 
						|
        test = utility.split_unit
 | 
						|
        self.assertEqual(('', ''), test(None))
 | 
						|
        self.assertEqual(('', ''), test(False))
 | 
						|
        self.assertEqual(('', ''), test('qwerty'))
 | 
						|
        self.assertEqual(('1', ''), test(1))
 | 
						|
        self.assertEqual(('1', ''), test('1'))
 | 
						|
        self.assertEqual(('1', 'px'), test('1px'))
 | 
						|
        self.assertEqual(('-1', 'px'), test('-1px'))
 | 
						|
 | 
						|
    def test_is_int(self):
 | 
						|
        test = utility.is_int
 | 
						|
        self.assertTrue(test(1))
 | 
						|
        self.assertTrue(test('1'))
 | 
						|
        self.assertTrue(test('-1'))
 | 
						|
        self.assertTrue(test(-1))
 | 
						|
        self.assertFalse(test(False))
 | 
						|
        self.assertFalse(test(None))
 | 
						|
        self.assertFalse(test(0.0))
 | 
						|
 | 
						|
    def test_is_float(self):
 | 
						|
        test = utility.is_float
 | 
						|
        self.assertFalse(test(1))
 | 
						|
        self.assertFalse(test('1'))
 | 
						|
        self.assertFalse(test(False))
 | 
						|
        self.assertFalse(test(None))
 | 
						|
        self.assertTrue(test(0.0))
 | 
						|
        self.assertTrue(test(-0.0))
 | 
						|
        self.assertTrue(test('77.0565'))
 | 
						|
        self.assertTrue(test('-0.0'))
 | 
						|
 | 
						|
    def test_is_color(self):
 | 
						|
        test = utility.is_color
 | 
						|
        self.assertTrue(test('#123'))
 | 
						|
        self.assertTrue(test('#123456'))
 | 
						|
        self.assertTrue(test('#Df3'))
 | 
						|
        self.assertTrue(test('#AbCdEf'))
 | 
						|
        self.assertFalse(test('#AbCdEg'))
 | 
						|
        self.assertFalse(test('#h12345'))
 | 
						|
        self.assertFalse(test('#12345'))
 | 
						|
        self.assertFalse(test('AbCdEf'))
 | 
						|
        self.assertFalse(test(''))
 | 
						|
        self.assertFalse(test('.925'))
 | 
						|
        self.assertFalse(test(False))
 | 
						|
        self.assertFalse(test([]))
 | 
						|
 | 
						|
    def test_is_variable(self):
 | 
						|
        test = utility.is_variable
 | 
						|
        self.assertTrue(test('@var'))
 | 
						|
        self.assertTrue(test('-@var'))
 | 
						|
        self.assertFalse(test('var'))
 | 
						|
        self.assertFalse(test(''))
 | 
						|
        self.assertFalse(test(False))
 | 
						|
        self.assertFalse(test([]))
 | 
						|
 | 
						|
    def test_with_unit(self):
 | 
						|
        test = utility.with_unit
 | 
						|
        self.assertEqual('1px', test((1, 'px')))
 | 
						|
        self.assertEqual('1px', test(1, 'px'))
 | 
						|
        self.assertEqual('1.0px', test(1.0, 'px'))
 | 
						|
        self.assertEqual('0.0px', test('.0', 'px'))
 | 
						|
        self.assertEqual('0.6px', test(.6, 'px'))
 | 
						|
        self.assertEqual('1', test(1))
 | 
						|
        self.assertEqual('1', test(1, None))
 | 
						|
        self.assertEqual('1', test(1,))
 | 
						|
 | 
						|
    def test_convergent_round(self):
 | 
						|
        test = utility.convergent_round
 | 
						|
        self.assertEqual(-4, test(-4.5))
 | 
						|
        self.assertEqual(-4, test(-3.5))
 | 
						|
        self.assertEqual(-2, test(-2.5))
 | 
						|
        self.assertEqual(-2, test(-1.5))
 | 
						|
        self.assertEqual(0, test(-0.5))
 | 
						|
        self.assertEqual(0, test(0.5))
 | 
						|
        self.assertEqual(2, test(1.5))
 | 
						|
        self.assertEqual(2, test(2.5))
 | 
						|
        self.assertEqual(3.0, test(10.0 / 3, 0))
 | 
						|
        self.assertEqual(4, test(3.5))
 | 
						|
        self.assertEqual(4, test(4.5))
 |