| #!/usr/bin/env python |
| # Copyright (C) 2010 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>, University of Szeged |
| # |
| # All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions |
| # are met: |
| # 1. Redistributions of source code must retain the above copyright |
| # notice, this list of conditions and the following disclaimer. |
| # 2. Redistributions in binary form must reproduce the above copyright |
| # notice, this list of conditions and the following disclaimer in the |
| # documentation and/or other materials provided with the distribution. |
| # |
| # THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY |
| # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR |
| # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
| # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| import unittest |
| |
| from webkitpy.layout_tests.port.webkit import WebKitPort |
| |
| |
| class TestWebKitPort(WebKitPort): |
| def __init__(self, symbol_list=None, feature_list=None): |
| self.symbol_list = symbol_list |
| self.feature_list = feature_list |
| |
| def _runtime_feature_list(self): |
| return self.feature_list |
| |
| def _supported_symbol_list(self): |
| return self.symbol_list |
| |
| |
| class WebKitPortTest(unittest.TestCase): |
| |
| def test_skipped_directories_for_symbols(self): |
| supported_symbols = ["GraphicsLayer", "WebCoreHas3DRendering", "isXHTMLMPDocument", "fooSymbol"] |
| expected_directories = set(["mathml", "fast/canvas/webgl", "http/tests/wml", "fast/wml", "wml", "fast/wcss"]) |
| result_directories = set(TestWebKitPort(supported_symbols, None)._skipped_tests_for_unsupported_features()) |
| self.assertEqual(result_directories, expected_directories) |
| |
| def test_skipped_directories_for_features(self): |
| supported_features = ["Accelerated Compositing", "Foo Feature"] |
| expected_directories = set(["animations/3d", "transforms/3d"]) |
| result_directories = set(TestWebKitPort(None, supported_features)._skipped_tests_for_unsupported_features()) |
| self.assertEqual(result_directories, expected_directories) |