From 2742b4d8c26f946c20767fd7fd3f227d00002597 Mon Sep 17 00:00:00 2001 From: Mateusz Golewski Date: Thu, 30 Jan 2014 23:10:53 +0100 Subject: [PATCH] Add tests to extract_first() --- tests/test_selector.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/test_selector.py b/tests/test_selector.py index 6fbb451a6..80a9a4672 100644 --- a/tests/test_selector.py +++ b/tests/test_selector.py @@ -55,6 +55,23 @@ class SelectorTestCase(unittest.TestCase): [""] ) + def test_extract_first(self): + """Test if extract_first() returns first element""" + body = '' + response = TextResponse(url="http://example.com", body=body) + sel = self.sscls(response) + + self.assertEqual(sel.xpath('//ul/li/text()').extract_first(), + sel.xpath('//ul/li/text()').extract()[0]) + + self.assertEqual(sel.xpath('//ul/li[@id="1"]/text()').extract_first(), + sel.xpath('//ul/li[@id="1"]/text()').extract()[0]) + + self.assertEqual(sel.xpath('//ul/li[2]/text()').extract_first(), + sel.xpath('//ul/li/text()').extract()[1]) + + self.assertEqual(sel.xpath('/ul/li[@id="doesnt-exist"]/text()').extract_first(), None) + def test_select_unicode_query(self): body = u"

" response = TextResponse(url="http://example.com", body=body, encoding='utf8')