Esempio n. 1
0
    def _word_split_test(self):
        """
        Test the _word_split() method
        """
        # GIVEN: A line of text
        renderer = Renderer()
        given_line = 'beginning asdf \n end asdf'
        expected_words = ['beginning', 'asdf', 'end', 'asdf']

        # WHEN: Split the line based on word split rules
        result_words = renderer._words_split(given_line)

        # THEN: The word lists should be the same.
        self.assertListEqual(result_words, expected_words)
Esempio n. 2
0
    def _word_split_test(self):
        """
        Test the _word_split() method
        """
        # GIVEN: A line of text
        renderer = Renderer()
        given_line = 'beginning asdf \n end asdf'
        expected_words = ['beginning', 'asdf', 'end', 'asdf']

        # WHEN: Split the line based on word split rules
        result_words = renderer._words_split(given_line)

        # THEN: The word lists should be the same.
        self.assertListEqual(result_words, expected_words)
Esempio n. 3
0
    def _get_start_tags_test(self):
        """
        Test the _get_start_tags() method
        """
        # GIVEN: A new renderer instance. Broken raw_text (missing closing tags).
        renderer = Renderer()
        given_raw_text = '{st}{r}Text text text'
        expected_tuple = ('{st}{r}Text text text{/r}{/st}', '{st}{r}',
                          '<strong><span style="-webkit-text-fill-color:red">')

        # WHEN: The renderer converts the start tags
        result = renderer._get_start_tags(given_raw_text)

        # THEN: Check if the correct tuple is returned.
        self.assertEqual(result, expected_tuple), 'A tuple should be returned containing the text with correct ' \
            'tags, the opening tags, and the opening html tags.'
Esempio n. 4
0
    def format_slide_blank_after_split_test(self):
        """
        Test that a line with blanks before the logical split at handled
        """
        # GIVEN: A line of with a space after the logical split
        renderer = Renderer()
        renderer.empty_height = 25
        given_line = '\n[---]  \n'
        expected_words = ['<br>[---]  ']
        service_item = ServiceItem(None)

        # WHEN: Split the line based on word split rules
        result_words = renderer.format_slide(given_line, service_item)

        # THEN: The blanks have been removed.
        self.assertListEqual(result_words, expected_words)
Esempio n. 5
0
    def format_slide_logical_split_test(self):
        """
        Test that a line with text and a logic break does not break the renderer just returns the input
        """
        # GIVEN: A line of with a space text and the logical split
        renderer = Renderer()
        renderer.empty_height = 25
        given_line = 'a\n[---]\nb'
        expected_words = ['a<br>[---]<br>b']
        service_item = ServiceItem(None)

        # WHEN: Split the line based on word split rules
        result_words = renderer.format_slide(given_line, service_item)

        # THEN: The word lists should be the same.
        self.assertListEqual(result_words, expected_words)
Esempio n. 6
0
    def test_format_slide_blank_after_split(self):
        """
        Test that a line with blanks before the logical split at handled
        """
        # GIVEN: A line of with a space after the logical split
        renderer = Renderer()
        renderer.empty_height = 480
        given_line = '\n[---]  \n'
        expected_words = ['<br>[---]  ']
        service_item = ServiceItem(None)

        # WHEN: Split the line based on word split rules
        result_words = renderer.format_slide(given_line, service_item)

        # THEN: The blanks have been removed.
        self.assertListEqual(result_words, expected_words)
Esempio n. 7
0
    def test_format_slide_logical_split(self):
        """
        Test that a line with text and a logic break does not break the renderer just returns the input
        """
        # GIVEN: A line of with a space text and the logical split
        renderer = Renderer()
        renderer.empty_height = 480
        given_line = 'a\n[---]\nb'
        expected_words = ['a<br>[---]<br>b']
        service_item = ServiceItem(None)

        # WHEN: Split the line based on word split rules
        result_words = renderer.format_slide(given_line, service_item)

        # THEN: The word lists should be the same.
        self.assertListEqual(result_words, expected_words)
Esempio n. 8
0
    def _get_start_tags_test(self):
        """
        Test the _get_start_tags() method
        """
        # GIVEN: A new renderer instance. Broken raw_text (missing closing tags).
        renderer = Renderer()
        given_raw_text = '{st}{r}Text text text'
        expected_tuple = ('{st}{r}Text text text{/r}{/st}', '{st}{r}',
                          '<strong><span style="-webkit-text-fill-color:red">')

        # WHEN: The renderer converts the start tags
        result = renderer._get_start_tags(given_raw_text)

        # THEN: Check if the correct tuple is returned.
        self.assertEqual(result, expected_tuple), 'A tuple should be returned containing the text with correct ' \
            'tags, the opening tags, and the opening html tags.'
Esempio n. 9
0
    def test_set_text_rectangle(self, mock_outline_css, mock_lyrics_css, mock_webview):
        """
        Test set_text_rectangle returns a proper html string
        """
        # GIVEN: test object and data
        mock_lyrics_css.return_value = ' FORMAT CSS; '
        mock_outline_css.return_value = ' OUTLINE CSS; '
        theme_data = ThemeXML()
        theme_data.font_main_name = 'Arial'
        theme_data.font_main_size = 20
        theme_data.font_main_color = '#FFFFFF'
        theme_data.font_main_outline_color = '#FFFFFF'
        main = QtCore.QRect(10, 10, 1280, 900)
        foot = QtCore.QRect(10, 1000, 1260, 24)
        renderer = Renderer()

        # WHEN: Calling method
        renderer._set_text_rectangle(theme_data=theme_data, rect_main=main, rect_footer=foot)

        # THEN: QtWebKitWidgets should be called with the proper string
        mock_webview.setHtml.called_with(CSS_TEST_ONE, 'Should be the same')
Esempio n. 10
0
    def test_set_text_rectangle(self, mock_outline_css, mock_lyrics_css,
                                mock_webview):
        """
        Test set_text_rectangle returns a proper html string
        """
        # GIVEN: test object and data
        mock_lyrics_css.return_value = ' FORMAT CSS; '
        mock_outline_css.return_value = ' OUTLINE CSS; '
        theme_data = ThemeXML()
        theme_data.font_main_name = 'Arial'
        theme_data.font_main_size = 20
        theme_data.font_main_color = '#FFFFFF'
        theme_data.font_main_outline_color = '#FFFFFF'
        main = QtCore.QRect(10, 10, 1280, 900)
        foot = QtCore.QRect(10, 1000, 1260, 24)
        renderer = Renderer()

        # WHEN: Calling method
        renderer._set_text_rectangle(theme_data=theme_data,
                                     rect_main=main,
                                     rect_footer=foot)

        # THEN: QtWebKitWidgets should be called with the proper string
        mock_webview.setHtml.called_with(CSS_TEST_ONE, 'Should be the same')
Esempio n. 11
0
 def test_default_screen_layout(self):
     """
     Test the default layout calculations
     """
     # GIVEN: A new renderer instance.
     renderer = Renderer()
     # WHEN: given the default screen size has been created.
     # THEN: The renderer have created a default screen.
     self.assertEqual(renderer.width, 1024,
                      'The base renderer should be a live controller')
     self.assertEqual(renderer.height, 768,
                      'The base renderer should be a live controller')
     self.assertEqual(renderer.screen_ratio, 0.75,
                      'The base renderer should be a live controller')
     self.assertEqual(renderer.footer_start, 691,
                      'The base renderer should be a live controller')