#!/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()