def test_css_text(self, mock_convert_elements_to_text, mock_css): mock_root_element = mock.create_autospec(Element).return_value mock_root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>" self.extractor_css.root_element = mock_root_element mock_css.return_value = mock_factory.create_mock_fallback_list(["<a>", "<a>"]) mock_convert_elements_to_text.return_value = mock_factory.create_mock_fallback_list(["text1", "text2"]) mock_path = "a" result = self.extractor_css.css_text(mock_path) self.assertEquals(result, ["text1", "text2"])
def test_css_text(self): mock_path = "a" self.page.content.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>" self.page.extractor.css_text.return_value = mock_factory.create_mock_fallback_list( ["text1", "text2"]) result = self.page.css_text(mock_path) self.assertEquals(result, ["text1", "text2"])
def test_xpath(self): mock_path = "//div[@class='header_blue']" self.page.content.__str__ = "<html><div class='header_blue'>text1</div><div class='header_blue'>text2</div></html>" self.page.extractor.xpath.return_value = mock_factory.create_mock_fallback_list( ["<div>", "<div>"]) result = self.page.xpath(mock_path) self.assertEquals(result, ["<div>", "<div>"])
def test_css_attr(self): mock_path = "a" mock_attribute_name = "href" self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>" self.extractor.extractor_css.css_attr.return_value = mock_factory.create_mock_fallback_list(["url1", "url2"]) result = self.extractor.css_attr(mock_path, mock_attribute_name) self.assertEquals(result, ["url1", "url2"])
def test_css(self): mock_path = "a" self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>" self.extractor.extractor_css.css.return_value = mock_factory.create_mock_fallback_list( ["<a>", "<a>"]) result = self.extractor.css(mock_path) self.assertEquals(result, ["<a>", "<a>"])
def test_css_attr(self): mock_path = "a" mock_attribute_name = "href" self.page.content.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>" self.page.extractor.css_attr.return_value = mock_factory.create_mock_fallback_list( ["url1", "url2"]) result = self.page.css_attr(mock_path, mock_attribute_name) self.assertEquals(result, ["url1", "url2"])
def test_convert_elements_to_attribute(self): mock_element1 = mock.create_autospec(Element).return_value mock_element1.attrib = {"text": "text1", "href": "url1"} mock_element2 = mock.create_autospec(Element).return_value mock_element2.attrib = {"text": "text2", "href": "url2"} mock_result = mock_factory.create_mock_fallback_list([mock_element1, mock_element2]) mock_attribute_name = "href" result = self.extractor_css.convert_elements_to_attribute(mock_result, mock_attribute_name) self.assertEquals(result, ["url1", "url2"])
def test_convert_elements_to_text(self, mock_etree_module): mock_element1 = mock.create_autospec(Element).return_value mock_element1.__str__ = "<a href='url1'>mock_text</a>" mock_element2 = mock.create_autospec(Element).return_value mock_element2.__str__ = "<a href='url2'>mock_text</a>" mock_list_elements = mock_factory.create_mock_fallback_list([mock_element1, mock_element2]) mock_etree_module.tostring.return_value = "mock_text" result = self.extractor_css.convert_elements_to_text(mock_list_elements) self.assertEquals(result, ["mock_text", "mock_text"])
def test_css_text(self): mock_path = "a" self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>" self.extractor.extractor_css.css_text.return_value = mock_factory.create_mock_fallback_list(["text1", "text2"]) result = self.extractor.css_text(mock_path) self.assertEquals(result, ["text1", "text2"])
def test_xpath(self): mock_path = "//div[@class='header_blue']" self.extractor.root_element.__str__ = "<html><div class='header_blue'>text1</div><div class='header_blue'>text2</div></html>" self.extractor.extractor_xpath.xpath.return_value = mock_factory.create_mock_fallback_list(["<div>", "<div>"]) result = self.extractor.xpath(mock_path) self.assertEquals(result, ["<div>", "<div>"])
def test_css(self): mock_path = "a" self.page.content.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>" self.page.extractor.css.return_value = mock_factory.create_mock_fallback_list(["<a>", "<a>"]) result = self.page.css(mock_path) self.assertEquals(result, ["<a>", "<a>"])