Skip to content

Commit 52923e0

Browse files
Sunnie912facebook-github-bot
authored andcommitted
Verify ItemsView, KeysView, and ValuesView in immutable_types
Summary: Implement `ItemsView`, `KeysView`, and `ValuesView` in immutable_types Reviewed By: ahilger Differential Revision: D67978114 fbshipit-source-id: c6cbaceff4296b8e2e93f05bed027a05e2d4919e
1 parent e562bd8 commit 52923e0

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

third-party/thrift/src/thrift/lib/python/test/maps.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
import unittest
2222

23+
from collections.abc import ItemsView, KeysView, ValuesView
24+
2325
from enum import Enum
2426
from typing import Dict, Type, TypeVar
2527

@@ -174,6 +176,18 @@ def test_contains_enum(self) -> None:
174176
self.assertIn(self.Color.blue, cmap.colorMap)
175177
self.assertNotIn(self.Color.green, cmap.colorMap)
176178

179+
def test_dict_views(self) -> None:
180+
dmap = self.StrStrMap({"test": "value"})
181+
dmap_keys = dmap.keys()
182+
dmap_values = dmap.values()
183+
dmap_items = dmap.items()
184+
self.assertEqual(len(dmap_keys), 1)
185+
self.assertEqual(len(dmap_values), 1)
186+
self.assertEqual(len(dmap_items), 1)
187+
self.assertIsInstance(dmap_keys, KeysView)
188+
self.assertIsInstance(dmap_values, ValuesView)
189+
self.assertIsInstance(dmap_items, ItemsView)
190+
177191
def test_items_values(self) -> None:
178192
x = {"test": "value"}
179193
tx = self.StrStrMap(x)

third-party/thrift/src/thrift/lib/python/types.pyx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2153,7 +2153,6 @@ cdef class Set(Container):
21532153

21542154
pySet.register(Set)
21552155

2156-
21572156
cdef class MapTypeFactory:
21582157
cdef object key_info
21592158
cdef object val_info

0 commit comments

Comments
 (0)