| #!/usr/bin/env python |
| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import unittest |
| |
| from layouttests import LayoutTests |
| from test_expectations import TestExpectations |
| |
| |
| class TestLayoutTests(unittest.TestCase): |
| """Unit tests for the LayoutTests class.""" |
| |
| def testJoinWithTestExpectation(self): |
| layouttests = LayoutTests(parent_location_list=['media/']) |
| test_expectations = TestExpectations() |
| test_info_map = layouttests.JoinWithTestExpectation(test_expectations) |
| # TODO(imasaki): have better assertion below. Currently, the test |
| # expectation file is obtained dynamically so the strict assertion is |
| # impossible. |
| self.assertTrue(any(['media/' in k for k in test_info_map.keys()]), |
| msg=('Analyzer result should contain at least one ' |
| 'media test cases since we only retrieved media ' |
| 'related test')) |
| |
| def testGetTestDescriptionsFromSVN(self): |
| desc1 = LayoutTests.GetTestDescriptionFromSVN( |
| 'media/video-play-empty-events.html') |
| self.assertEquals(desc1, |
| ('Test that play() from EMPTY network state triggers ' |
| 'load() and async play event.'), |
| msg='Extracted test description is wrong') |
| desc2 = LayoutTests.GetTestDescriptionFromSVN('jquery/data.html') |
| self.assertEquals(desc2, 'UNKNOWN', |
| msg='Extracted test description is wrong') |
| |
| def testGetParentDirectoryList(self): |
| testname_list = ['hoge1/hoge2/hoge3.html', 'hoge1/x.html', |
| 'hoge1/hoge2/hoge4.html'] |
| expected_result = ['hoge1/', 'hoge1/hoge2/'] |
| self.assertEquals(LayoutTests.GetParentDirectoryList(testname_list), |
| expected_result) |
| |
| |
| if __name__ == '__main__': |
| unittest.main() |