Skip to content

Commit

Permalink
fix #57
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaocong committed Oct 14, 2014
1 parent 65e8417 commit 93654d1
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
16 changes: 10 additions & 6 deletions test/test_device_obj.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,19 @@ def setUp(self):

def test_child_selector(self):
kwargs = {"text": "child text", "className": "android"}
self.obj.selector.child = MagicMock()
self.obj.child_selector(**kwargs)
self.obj.selector.child.assert_called_once_with(**kwargs)
obj = self.obj.child_selector(**kwargs)
self.assertEqual(len(obj.selector['childOrSibling']), 1)
self.assertEqual(obj.selector['childOrSibling'][0], 'child')
self.assertEqual(len(obj.selector['childOrSiblingSelector']), 1)
self.assertEqual(obj.selector['childOrSiblingSelector'][0], Selector(**kwargs))

def test_from_parent(self):
kwargs = {"text": "parent text", "className": "android"}
self.obj.selector.sibling = MagicMock()
self.obj.from_parent(**kwargs)
self.obj.selector.sibling.assert_called_once_with(**kwargs)
obj = self.obj.from_parent(**kwargs)
self.assertEqual(len(obj.selector['childOrSibling']), 1)
self.assertEqual(obj.selector['childOrSibling'][0], 'sibling')
self.assertEqual(len(obj.selector['childOrSiblingSelector']), 1)
self.assertEqual(obj.selector['childOrSiblingSelector'][0], Selector(**kwargs))

def test_exists(self):
self.jsonrpc.exist = MagicMock()
Expand Down
14 changes: 10 additions & 4 deletions uiautomator/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,12 @@ def clone(self):
def child(self, **kwargs):
self[self.__childOrSibling].append("child")
self[self.__childOrSiblingSelector].append(Selector(**kwargs))
return self

def sibling(self, **kwargs):
self[self.__childOrSibling].append("sibling")
self[self.__childOrSiblingSelector].append(Selector(**kwargs))
return self

child_selector, from_parent = child, sibling

Expand Down Expand Up @@ -975,13 +977,17 @@ def __init__(self, device, selector):

def child(self, **kwargs):
'''set childSelector.'''
self.selector.child(**kwargs)
return self
return AutomatorDeviceObject(
self.device,
self.selector.clone().child(**kwargs)
)

def sibling(self, **kwargs):
'''set fromParent selector.'''
self.selector.sibling(**kwargs)
return self
return AutomatorDeviceObject(
self.device,
self.selector.clone().sibling(**kwargs)
)

child_selector, from_parent = child, sibling

Expand Down

0 comments on commit 93654d1

Please sign in to comment.