|
10 | 10 |
|
11 | 11 | from scrapy import signals
|
12 | 12 | from scrapy.spider import Spider, BaseSpider
|
| 13 | +from scrapy.settings import Settings |
13 | 14 | from scrapy.http import Request, Response, TextResponse, XmlResponse, HtmlResponse
|
14 | 15 | from scrapy.contrib.spiders.init import InitSpider
|
15 | 16 | from scrapy.contrib.spiders import CrawlSpider, Rule, XMLFeedSpider, \
|
@@ -92,6 +93,16 @@ def closed(self, reason):
|
92 | 93 | spider=spider, reason=None)
|
93 | 94 | self.assertTrue(spider.closed_called)
|
94 | 95 |
|
| 96 | + def test_update_settings(self): |
| 97 | + spider_settings = {'TEST1': 'spider', 'TEST2': 'spider'} |
| 98 | + project_settings = {'TEST1': 'project', 'TEST3': 'project'} |
| 99 | + self.spider_class.custom_settings = spider_settings |
| 100 | + settings = Settings(project_settings, priority='project') |
| 101 | + |
| 102 | + self.spider_class.update_settings(settings) |
| 103 | + self.assertEqual(settings.get('TEST1'), 'spider') |
| 104 | + self.assertEqual(settings.get('TEST2'), 'spider') |
| 105 | + self.assertEqual(settings.get('TEST3'), 'project') |
95 | 106 |
|
96 | 107 | class InitSpiderTest(SpiderTest):
|
97 | 108 |
|
|
0 commit comments