#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright 2019 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Tests for misc.""" __author__ = "asharif@google.com (Ahmad Sharif)" # System modules import unittest # Local modules from cros_utils import misc class UtilsTest(unittest.TestCase): """Tests for misc.""" def testGetFilenameFromString(self): string = 'a /b=c"d^$?\\' filename = misc.GetFilenameFromString(string) self.assertEqual(filename, "a___bcd") def testPrependMergeEnv(self): var = "USE" use_flags = "hello 123" added_use_flags = "bla bla" env_string = "%s=%r" % (var, use_flags) new_env_string = misc.MergeEnvStringWithDict( env_string, {var: added_use_flags} ) expected_new_env = "%s=%r" % ( var, " ".join([added_use_flags, use_flags]), ) self.assertEqual( new_env_string, " ".join([env_string, expected_new_env]) ) def testGetChromeOSVersionFromLSBVersion(self): versions_dict = {"2630.0.0": "22", "2030.0.0": "19"} f = misc.GetChromeOSVersionFromLSBVersion for k, v in versions_dict.items(): self.assertEqual(f(k), "R%s-%s" % (v, k)) def testPostpendMergeEnv(self): var = "USE" use_flags = "hello 123" added_use_flags = "bla bla" env_string = "%s=%r" % (var, use_flags) new_env_string = misc.MergeEnvStringWithDict( env_string, {var: added_use_flags}, False ) expected_new_env = "%s=%r" % ( var, " ".join([use_flags, added_use_flags]), ) self.assertEqual( new_env_string, " ".join([env_string, expected_new_env]) ) if __name__ == "__main__": unittest.main()