1#!/usr/bin/env python
2# Copyright 2013 The Chromium Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6from intro_data_source import IntroDataSource
7from server_instance import ServerInstance
8from servlet import Request
9from test_data.canned_data import CANNED_TEST_FILE_SYSTEM_DATA
10from test_file_system import TestFileSystem
11import unittest
12
13class IntroDataSourceTest(unittest.TestCase):
14  def setUp(self):
15    self._server_instance = ServerInstance.ForTest(
16        TestFileSystem(CANNED_TEST_FILE_SYSTEM_DATA))
17
18  def testIntro(self):
19    intro_data_source = IntroDataSource(
20        self._server_instance, Request.ForTest(''))
21    intro_data = intro_data_source.get('test_intro')
22    article_data = intro_data_source.get('test_article')
23
24    expected_intro = 'you<h2>first</h2><h3>inner</h3><h2>second</h2>'
25    # Article still has the header.
26    expected_article = '<h1>hi</h1>' + expected_intro
27
28    self.assertEqual(expected_intro, intro_data.Render().text)
29    self.assertEqual(expected_article, article_data.Render().text)
30
31
32if __name__ == '__main__':
33  unittest.main()
34