#!/usr/bin/env python # -*- coding: utf-8 -*- import os import unittest import datetime from gluon.fileutils import parse_version, fix_newlines class TestFileUtils(unittest.TestCase): def test_parse_version(self): # Legacy rtn = parse_version('Version 1.99.0 (2011-09-19 08:23:26)') self.assertEqual(rtn, (1, 99, 0, 'dev', datetime.datetime(2011, 9, 19, 8, 23, 26))) # Semantic rtn = parse_version('Version 1.99.0-rc.1+timestamp.2011.09.19.08.23.26') self.assertEqual(rtn, (1, 99, 0, 'rc.1', datetime.datetime(2011, 9, 19, 8, 23, 26))) # Semantic Stable rtn = parse_version('Version 2.9.11-stable+timestamp.2014.09.15.18.31.17') self.assertEqual(rtn, (2, 9, 11, 'stable', datetime.datetime(2014, 9, 15, 18, 31, 17))) # Semantic Beta rtn = parse_version('Version 2.14.1-beta+timestamp.2016.03.21.22.35.26') self.assertEqual(rtn, (2, 14, 1, 'beta', datetime.datetime(2016, 3, 21, 22, 35, 26))) def test_fix_newlines(self): fix_newlines(os.path.dirname(os.path.abspath(__file__)))