xref: /aosp_15_r20/external/autotest/utils/gslib_unittest.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li#!/usr/bin/python3
2*9c5db199SXin Li
3*9c5db199SXin Li# Copyright 2017 The Chromium OS Authors. All rights reserved.
4*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
5*9c5db199SXin Li# found in the LICENSE file.
6*9c5db199SXin Li
7*9c5db199SXin Liimport unittest
8*9c5db199SXin Li
9*9c5db199SXin Liimport common
10*9c5db199SXin Lifrom autotest_lib.utils import gslib
11*9c5db199SXin Li
12*9c5db199SXin Li
13*9c5db199SXin Liclass EscapeTestCase(unittest.TestCase):
14*9c5db199SXin Li    """Tests for basic KeyvalLabel functions."""
15*9c5db199SXin Li
16*9c5db199SXin Li    def test_escape_printable(self):
17*9c5db199SXin Li        """Test escaping printable characters."""
18*9c5db199SXin Li        got = gslib.escape('foo[]*?#')
19*9c5db199SXin Li        self.assertEqual(got, 'foo%5b%5d%2a%3f%23')
20*9c5db199SXin Li
21*9c5db199SXin Li    def test_escape_control(self):
22*9c5db199SXin Li        """Test escaping control characters by hex."""
23*9c5db199SXin Li        got = gslib.escape('foo\x88')
24*9c5db199SXin Li        self.assertEqual(got, 'foo%88')
25*9c5db199SXin Li
26*9c5db199SXin Li
27*9c5db199SXin Liif __name__ == '__main__':
28*9c5db199SXin Li    unittest.main()
29