fix: drop the "Reserved for 3GPP" event-name cross-reference (v3.6.22)
The event list tables carried labels like "12 Reserved for 3GPP - Network rejection (TS 31.111 7.5.2)". The phrase is an ETSI-to-3GPP document pointer, not a usage restriction, and it is not what a user needs - the event name is. - EVENT_NAMES (PWA + server mirror): the 3GPP-assigned codings carry their plain TS 31.111 7.5 name ((I-)WLAN access status, Network rejection, CSG cell selection, IMS registration, Incoming IMS data, Data connection status change, CAG cell selection, Slices status change). - 0x20-0x22: "Reserved (future usage)" (no attribution). - 0x0B/0x14: the spec's full "(single access technology)" / "(multiple access technologies)" wording instead of the cryptic "(single)/(multiple)". - tests pin the exact names and that no name contains the cross-reference. 652 frontend / 500 Python green; version 3.6.22; sw simple-v295.
This commit is contained in:
@@ -36,35 +36,38 @@ class ProactiveTypeNamesTests(unittest.TestCase):
|
||||
|
||||
class EventNamesTests(unittest.TestCase):
|
||||
"""Event list names follow TS 102 223 v18.3.0 8.25; the values the CAT
|
||||
spec leaves "Reserved for 3GPP" carry the TS 31.111 event name."""
|
||||
spec points at 3GPP for carry their TS 31.111 7.5 event name."""
|
||||
|
||||
def test_reassigned_values_match_the_pinned_spec(self):
|
||||
for value, name in [
|
||||
(0x0B, 'Access technology change (single)'),
|
||||
(0x14, 'Access technology change (multiple)'),
|
||||
(0x0B, 'Access technology change (single access technology)'),
|
||||
(0x14, 'Access technology change (multiple access technologies)'),
|
||||
(0x19, 'Profile container'),
|
||||
(0x1A, 'Void'),
|
||||
(0x1B, 'Secured profile container'),
|
||||
(0x1C, 'Poll interval negotiation'),
|
||||
(0x20, 'Reserved for 3GPP (future usage)'),
|
||||
(0x20, 'Reserved (future usage)'),
|
||||
]:
|
||||
self.assertEqual(EVENT_NAMES[value], name, hex(value))
|
||||
|
||||
def test_3gpp_reserved_events_carry_their_3gpp_name(self):
|
||||
for value, fragment, clause in [
|
||||
(0x11, '(I-)WLAN access status', 'TS 31.111 7.5.1'),
|
||||
(0x12, 'Network rejection', 'TS 31.111 7.5.2'),
|
||||
(0x15, 'CSG cell selection', 'TS 31.111 7.5.3'),
|
||||
(0x17, 'IMS registration', 'TS 31.111 7.5.21'),
|
||||
(0x18, 'Incoming IMS data', 'TS 31.111 7.5.20'),
|
||||
(0x1D, 'Data connection status change', 'TS 31.111 7.5.25'),
|
||||
(0x1E, 'CAG cell selection', 'TS 31.111 7.5.26'),
|
||||
(0x1F, 'Slices status change', 'TS 31.111 7.5.27'),
|
||||
def test_3gpp_assigned_events_carry_their_name(self):
|
||||
for value, name in [
|
||||
(0x11, '(I-)WLAN access status'),
|
||||
(0x12, 'Network rejection'),
|
||||
(0x15, 'CSG cell selection'),
|
||||
(0x17, 'IMS registration'),
|
||||
(0x18, 'Incoming IMS data'),
|
||||
(0x1D, 'Data connection status change'),
|
||||
(0x1E, 'CAG cell selection'),
|
||||
(0x1F, 'Slices status change'),
|
||||
]:
|
||||
name = EVENT_NAMES[value]
|
||||
self.assertIn('Reserved for 3GPP', name, hex(value))
|
||||
self.assertIn(fragment, name, hex(value))
|
||||
self.assertIn(clause, name, hex(value))
|
||||
self.assertEqual(EVENT_NAMES[value], name, hex(value))
|
||||
|
||||
def test_no_reserved_for_3gpp_wording(self):
|
||||
# a spec cross-reference, not a usage restriction - it must never
|
||||
# reach the user-facing names
|
||||
for value, name in EVENT_NAMES.items():
|
||||
self.assertNotIn('Reserved for 3GPP', name, hex(value))
|
||||
|
||||
def test_names_are_nonempty_strings(self):
|
||||
for value, name in EVENT_NAMES.items():
|
||||
|
||||
Reference in New Issue
Block a user