mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-23 16:45:07 +03:00
Update mojo from commit 9be4263648d7d1a04bb78be75df53f56449a5e3a "Updating trunk VERSION from 6225.0 to 6226.0" from the Chromium repository. The update-mojo.sh script was used for this update. Bug: https://bugs.libcamera.org/show_bug.cgi?id=206 Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Milan Zamazal <mzamazal@redhat.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
# Copyright 2022 The Chromium Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
from mojom_parser_test_case import MojomParserTestCase
|
|
|
|
|
|
class UnionTest(MojomParserTestCase):
|
|
"""Tests union parsing behavior."""
|
|
|
|
def testExtensibleMustHaveDefault(self):
|
|
"""Verifies that extensible unions must have a default field."""
|
|
mojom = 'foo.mojom'
|
|
self.WriteFile(mojom, 'module foo; [Extensible] union U { bool x; };')
|
|
with self.assertRaisesRegexp(Exception, 'must specify a \[Default\]'):
|
|
self.ParseMojoms([mojom])
|
|
|
|
def testExtensibleSingleDefault(self):
|
|
"""Verifies that extensible unions must not have multiple default fields."""
|
|
mojom = 'foo.mojom'
|
|
self.WriteFile(
|
|
mojom, """\
|
|
module foo;
|
|
[Extensible] union U {
|
|
[Default] bool x;
|
|
[Default] bool y;
|
|
};
|
|
""")
|
|
with self.assertRaisesRegexp(Exception, 'Multiple \[Default\] fields'):
|
|
self.ParseMojoms([mojom])
|
|
|
|
def testExtensibleDefaultTypeValid(self):
|
|
"""Verifies that an extensible union's default field must be nullable or
|
|
integral type."""
|
|
mojom = 'foo.mojom'
|
|
self.WriteFile(
|
|
mojom, """\
|
|
module foo;
|
|
[Extensible] union U {
|
|
[Default] handle<message_pipe> p;
|
|
};
|
|
""")
|
|
with self.assertRaisesRegexp(Exception, 'must be nullable or integral'):
|
|
self.ParseMojoms([mojom])
|