| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 | 2 |
| 3 # Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 3 # Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
| 4 # | 4 # |
| 5 # Redistribution and use in source and binary forms, with or without | 5 # Redistribution and use in source and binary forms, with or without |
| 6 # modification, are permitted provided that the following conditions | 6 # modification, are permitted provided that the following conditions |
| 7 # are met: | 7 # are met: |
| 8 # | 8 # |
| 9 # 1. Redistributions of source code must retain the above | 9 # 1. Redistributions of source code must retain the above |
| 10 # copyright notice, this list of conditions and the following | 10 # copyright notice, this list of conditions and the following |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 class W3CTestConverterTest(unittest.TestCase): | 44 class W3CTestConverterTest(unittest.TestCase): |
| 45 | 45 |
| 46 # FIXME: When we move to using a MockHost, this method should be removed, si
nce | 46 # FIXME: When we move to using a MockHost, this method should be removed, si
nce |
| 47 # then we can just pass in a dummy dir path | 47 # then we can just pass in a dummy dir path |
| 48 def fake_dir_path(self, dirname): | 48 def fake_dir_path(self, dirname): |
| 49 filesystem = Host().filesystem | 49 filesystem = Host().filesystem |
| 50 webkit_root = WebKitFinder(filesystem).webkit_base() | 50 webkit_root = WebKitFinder(filesystem).webkit_base() |
| 51 return filesystem.abspath(filesystem.join(webkit_root, "LayoutTests", "c
ss", dirname)) | 51 return filesystem.abspath(filesystem.join(webkit_root, "LayoutTests", "c
ss", dirname)) |
| 52 | 52 |
| 53 def test_read_prefixed_property_list(self): | 53 def test_read_prefixed_property_list(self): |
| 54 """ Tests that the current list of properties requiring the -webkit- pre
fix load correctly """ | 54 """Tests that the current list of properties requiring the -webkit- pref
ix load correctly.""" |
| 55 | 55 |
| 56 # FIXME: We should be passing in a MockHost here ... | 56 # FIXME: We should be passing in a MockHost here ... |
| 57 converter = _W3CTestConverter(DUMMY_PATH, DUMMY_FILENAME, None) | 57 converter = _W3CTestConverter(DUMMY_PATH, DUMMY_FILENAME, None) |
| 58 prop_list = converter.prefixed_properties | 58 prop_list = converter.prefixed_properties |
| 59 self.assertTrue(prop_list, 'No prefixed properties found') | 59 self.assertTrue(prop_list, 'No prefixed properties found') |
| 60 | 60 |
| 61 def test_convert_for_webkit_nothing_to_convert(self): | 61 def test_convert_for_webkit_nothing_to_convert(self): |
| 62 """ Tests convert_for_webkit() using a basic test that has nothing to co
nvert """ | 62 """Tests convert_for_webkit() using a basic test that has nothing to con
vert.""" |
| 63 | 63 |
| 64 test_html = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | 64 test_html = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
| 65 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | 65 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| 66 <html xmlns="http://www.w3.org/1999/xhtml"> | 66 <html xmlns="http://www.w3.org/1999/xhtml"> |
| 67 <head> | 67 <head> |
| 68 <title>CSS Test: DESCRIPTION OF TEST</title> | 68 <title>CSS Test: DESCRIPTION OF TEST</title> |
| 69 <link rel="author" title="NAME_OF_AUTHOR" | 69 <link rel="author" title="NAME_OF_AUTHOR" |
| 70 href="mailto:EMAIL OR http://CONTACT_PAGE"/> | 70 href="mailto:EMAIL OR http://CONTACT_PAGE"/> |
| 71 <link rel="help" href="RELEVANT_SPEC_SECTION"/> | 71 <link rel="help" href="RELEVANT_SPEC_SECTION"/> |
| 72 <meta name="assert" content="TEST ASSERTION"/> | 72 <meta name="assert" content="TEST ASSERTION"/> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 86 try: | 86 try: |
| 87 converter.feed(test_html) | 87 converter.feed(test_html) |
| 88 converter.close() | 88 converter.close() |
| 89 converted = converter.output() | 89 converted = converter.output() |
| 90 finally: | 90 finally: |
| 91 oc.restore_output() | 91 oc.restore_output() |
| 92 | 92 |
| 93 self.verify_no_conversion_happened(converted, test_html) | 93 self.verify_no_conversion_happened(converted, test_html) |
| 94 | 94 |
| 95 def test_convert_for_webkit_properties_only(self): | 95 def test_convert_for_webkit_properties_only(self): |
| 96 """ Tests convert_for_webkit() using a test that has 2 prefixed properti
es: 1 in a style block + 1 inline style """ | 96 """Tests convert_for_webkit() using a test that has 2 prefixed propertie
s: 1 in a style block + 1 inline style.""" |
| 97 | 97 |
| 98 test_html = """<html> | 98 test_html = """<html> |
| 99 <head> | 99 <head> |
| 100 <link href="/resources/testharness.css" rel="stylesheet" type="text/css"> | 100 <link href="/resources/testharness.css" rel="stylesheet" type="text/css"> |
| 101 <script src="/resources/testharness.js"></script> | 101 <script src="/resources/testharness.js"></script> |
| 102 <style type="text/css"> | 102 <style type="text/css"> |
| 103 | 103 |
| 104 #block1 { @test0@: propvalue; } | 104 #block1 { @test0@: propvalue; } |
| 105 | 105 |
| 106 </style> | 106 </style> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 120 converter.feed(test_content[1]) | 120 converter.feed(test_content[1]) |
| 121 converter.close() | 121 converter.close() |
| 122 converted = converter.output() | 122 converted = converter.output() |
| 123 finally: | 123 finally: |
| 124 oc.restore_output() | 124 oc.restore_output() |
| 125 | 125 |
| 126 self.verify_conversion_happened(converted) | 126 self.verify_conversion_happened(converted) |
| 127 self.verify_prefixed_properties(converted, test_content[0]) | 127 self.verify_prefixed_properties(converted, test_content[0]) |
| 128 | 128 |
| 129 def test_convert_prefixed_properties(self): | 129 def test_convert_prefixed_properties(self): |
| 130 """ Tests convert_prefixed_properties() file that has 20 properties requ
iring the -webkit- prefix: | 130 """Tests convert_prefixed_properties() file that has 20 properties requi
ring the -webkit- prefix. |
| 131 |
| 132 The properties are: |
| 131 10 in one style block + 5 in another style | 133 10 in one style block + 5 in another style |
| 132 block + 5 inline styles, including one with multiple prefixed properties
. | 134 block + 5 inline styles, including one with multiple prefixed properties
. |
| 133 2 when prefixed properties appear in comments without ending ';'. | 135 2 when prefixed properties appear in comments without ending ';'. |
| 136 |
| 134 The properties in the test content are in all sorts of wack formatting. | 137 The properties in the test content are in all sorts of wack formatting. |
| 135 """ | 138 """ |
| 136 | 139 |
| 137 test_html = """<html> | 140 test_html = """<html> |
| 138 <style type="text/css"><![CDATA[ | 141 <style type="text/css"><![CDATA[ |
| 139 | 142 |
| 140 .block1 { | 143 .block1 { |
| 141 width: 300px; | 144 width: 300px; |
| 142 height: 300px | 145 height: 300px |
| 143 } | 146 } |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 try: | 237 try: |
| 235 converter.feed(test_html) | 238 converter.feed(test_html) |
| 236 converter.close() | 239 converter.close() |
| 237 converted = converter.output() | 240 converted = converter.output() |
| 238 finally: | 241 finally: |
| 239 oc.restore_output() | 242 oc.restore_output() |
| 240 | 243 |
| 241 self.assertEqual(converted[1], expected_test_html) | 244 self.assertEqual(converted[1], expected_test_html) |
| 242 | 245 |
| 243 def test_convert_attributes_if_needed(self): | 246 def test_convert_attributes_if_needed(self): |
| 244 """ Tests convert_attributes_if_needed() using a reference file that has
some relative src paths """ | 247 """Tests convert_attributes_if_needed() using a reference file that has
some relative src paths.""" |
| 245 | 248 |
| 246 test_html = """<html> | 249 test_html = """<html> |
| 247 <head> | 250 <head> |
| 248 <script src="../../some-script.js"></script> | 251 <script src="../../some-script.js"></script> |
| 249 <style src="../../../some-style.css"></style> | 252 <style src="../../../some-style.css"></style> |
| 250 </head> | 253 </head> |
| 251 <body> | 254 <body> |
| 252 <img src="../../../../some-image.jpg"> | 255 <img src="../../../../some-image.jpg"> |
| 253 </body> | 256 </body> |
| 254 </html> | 257 </html> |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 # through the list to replace the double-digit tokens first | 305 # through the list to replace the double-digit tokens first |
| 303 index = len(test_properties) - 1 | 306 index = len(test_properties) - 1 |
| 304 while index >= 0: | 307 while index >= 0: |
| 305 # Use the unprefixed version | 308 # Use the unprefixed version |
| 306 test_prop = test_properties[index].replace('-webkit-', '') | 309 test_prop = test_properties[index].replace('-webkit-', '') |
| 307 # Replace the token | 310 # Replace the token |
| 308 html = html.replace('@test' + str(index) + '@', test_prop) | 311 html = html.replace('@test' + str(index) + '@', test_prop) |
| 309 index -= 1 | 312 index -= 1 |
| 310 | 313 |
| 311 return (test_properties, html) | 314 return (test_properties, html) |
| OLD | NEW |