Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(489)

Unified Diff: bindings/scripts/generate_idl_diff_test.py

Issue 2786203002: Roll 50: Copied IDLs, PYTHON scripts from WebKit removed deleted files in WebCore (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « bindings/scripts/generate_idl_diff.py ('k') | bindings/scripts/generate_init_partial_interfaces.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: bindings/scripts/generate_idl_diff_test.py
diff --git a/bindings/scripts/generate_idl_diff_test.py b/bindings/scripts/generate_idl_diff_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..c301dcec9b3b239c48ca052970c485992dccee69
--- /dev/null
+++ b/bindings/scripts/generate_idl_diff_test.py
@@ -0,0 +1,106 @@
+#!/usr/bin/env python
+# Copyright 2015 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 generate_idl_diff
+import os
+import sys
+import unittest
+
+from generate_idl_diff import DIFF_TAG
+from generate_idl_diff import DIFF_TAG_DELETED
+from generate_idl_diff import DIFF_TAG_ADDED
+
+
+testdata_path = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)), 'testdata')
+old_data_path = os.path.join(testdata_path, 'old_chrome.json')
+new_data_path = os.path.join(testdata_path, 'new_chrome.json')
+
+
+class TestGenerateIDLDiff(unittest.TestCase):
+
+ def setUp(self):
+ old = generate_idl_diff.load_json_file('old_chrome.json')
+ new = generate_idl_diff.load_json_file('new_chrome.json')
+ self.diff = generate_idl_diff.interfaces_diff(old, new)
+
+ def test_deleted_interface(self):
+ self.assertTrue('AnimationEffectReadOnly' in self.diff)
+ deleted_interface = self.diff.get('AnimationEffectReadOnly')
+ self.assertIsNotNone(deleted_interface)
+ self.assertEqual(deleted_interface.get(DIFF_TAG), DIFF_TAG_DELETED)
+
+ def test_added_interface(self):
+ self.assertTrue('AnimationEvent' in self.diff)
+ added_interface = self.diff.get('AnimationEvent')
+ self.assertIsNotNone(added_interface)
+ self.assertEqual(added_interface.get(DIFF_TAG), DIFF_TAG_ADDED)
+
+ def test_changed_interface(self):
+ self.assertTrue('ANGLEInstancedArrays' in self.diff)
+ changed_interface = self.diff.get('ANGLEInstancedArrays')
+ self.assertIsNotNone(changed_interface)
+ self.assertIsNone(changed_interface.get(DIFF_TAG))
+
+ def test_unchanged_interface(self):
+ self.assertFalse('AbstractWorker' in self.diff)
+
+ def test_unchanged_consts(self):
+ changed_interface = self.diff['ANGLEInstancedArrays']
+ members = changed_interface['Consts']
+ for member in members:
+ self.assertEqual(member['Name'], 'VERTEX_ATTRIB_ARRAY_DIVISOR')
+ self.assertEqual(member['Type'], 'unsigned long')
+ self.assertEqual(member['Value'], '0x88FE')
+
+ def test_changed_attribute(self):
+ changed_interface = self.diff['ANGLEInstancedArrays']
+ members = changed_interface['Attributes']
+ for member in members:
+ if member.get(DIFF_TAG) == DIFF_TAG_DELETED:
+ deleted = member
+ elif member.get(DIFF_TAG) == DIFF_TAG_ADDED:
+ added = member
+ else:
+ unchanged = member
+ self.assertEqual(deleted['Name'], 'animVal')
+ self.assertEqual(deleted['Type'], 'SVGAngle')
+ self.assertEqual(deleted['ExtAttributes'], [])
+ self.assertEqual(added['Name'], 'computedTiming')
+ self.assertEqual(added['Type'], 'ComputedTimingProperties')
+ self.assertEqual(added['ExtAttributes'], [{"Name": "maxChannelCount"}])
+ self.assertEqual(unchanged['Name'], 'timing')
+ self.assertEqual(unchanged['Type'], 'AnimationEffectTiming')
+ self.assertEqual(unchanged['ExtAttributes'], [])
+
+ def test_changed_operation(self):
+ changed_interface = self.diff['ANGLEInstancedArrays']
+ members = changed_interface['Operations']
+ deleted_arguments = [{"Type": "long", "Name": "primcount"}]
+ added_arguments = [{"Type": "unsigned long", "Name": "mode"}]
+ unchanged_arguments = [{"Type": "unsigned long", "Name": "mode"}]
+ for member in members:
+ if member.get(DIFF_TAG) == DIFF_TAG_DELETED:
+ deleted = member
+ elif member.get(DIFF_TAG) == DIFF_TAG_ADDED:
+ added = member
+ else:
+ unchanged = member
+ self.assertEqual(deleted['Name'], 'drawElementsInstancedANGLE')
+ self.assertEqual(deleted['Type'], 'void')
+ self.assertEqual(deleted['ExtAttributes'], [])
+ self.assertEqual(deleted['Arguments'], deleted_arguments)
+ self.assertEqual(added['Name'], 'drawElementsInstancedANGLE')
+ self.assertEqual(added['Type'], 'void')
+ self.assertEqual(added['ExtAttributes'], [])
+ self.assertEqual(added['Arguments'], added_arguments)
+ self.assertEqual(unchanged['Name'], 'drawArraysInstancedANGLE')
+ self.assertEqual(unchanged['Type'], 'void')
+ self.assertEqual(unchanged['ExtAttributes'], [])
+ self.assertEqual(unchanged['Arguments'], unchanged_arguments)
+
+
+if __name__ == '__main__':
+ unittest.main()
« no previous file with comments | « bindings/scripts/generate_idl_diff.py ('k') | bindings/scripts/generate_init_partial_interfaces.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698