aboutsummaryrefslogtreecommitdiff
path: root/cros_utils/tiny_render_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'cros_utils/tiny_render_test.py')
-rwxr-xr-xcros_utils/tiny_render_test.py341
1 files changed, 182 insertions, 159 deletions
diff --git a/cros_utils/tiny_render_test.py b/cros_utils/tiny_render_test.py
index 114a1796..9c4d750b 100755
--- a/cros_utils/tiny_render_test.py
+++ b/cros_utils/tiny_render_test.py
@@ -1,12 +1,11 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Copyright 2020 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Tests for tiny_render."""
-from __future__ import print_function
import unittest
@@ -18,160 +17,184 @@ import tiny_render
# shipped alongside the plain-text, the hope is that people won't have to
# subject themselves to reading the HTML often. :)
class Test(unittest.TestCase):
- """Tests for tiny_render."""
-
- def test_bold(self):
- pieces = [
- tiny_render.Bold('hello'),
- ', ',
- tiny_render.Bold(['world', '!']),
- ]
-
- self.assertEqual(
- tiny_render.render_text_pieces(pieces),
- '**hello**, **world!**',
- )
-
- self.assertEqual(
- tiny_render.render_html_pieces(pieces),
- '<b>hello</b>, <b>world!</b>',
- )
-
- def test_line_break(self):
- pieces = [
- 'hello',
- tiny_render.line_break,
- ['world', '!'],
- ]
-
- self.assertEqual(
- tiny_render.render_text_pieces(pieces),
- 'hello\nworld!',
- )
-
- self.assertEqual(
- tiny_render.render_html_pieces(pieces),
- 'hello<br />\nworld!',
- )
-
- def test_linkification(self):
- pieces = [
- 'hello ',
- tiny_render.Link(href='https://google.com', inner='world!'),
- ]
-
- self.assertEqual(
- tiny_render.render_text_pieces(pieces),
- 'hello world!',
- )
-
- self.assertEqual(
- tiny_render.render_html_pieces(pieces),
- 'hello <a href="https://google.com">world!</a>',
- )
-
- def test_unordered_list(self):
- pieces = [
- 'hello:',
- tiny_render.UnorderedList([
- 'world',
- 'w o r l d',
- ]),
- ]
-
- self.assertEqual(
- tiny_render.render_text_pieces(pieces),
- '\n'.join((
- 'hello:',
- ' - world',
- ' - w o r l d',
- )),
- )
-
- self.assertEqual(
- tiny_render.render_html_pieces(pieces),
- '\n'.join((
- 'hello:<ul>',
- '<li>world</li>',
- '<li>w o r l d</li>',
- '</ul>',
- '',
- )),
- )
-
- def test_nested_unordered_list(self):
- pieces = [
- 'hello:',
- tiny_render.UnorderedList([
- 'world',
- ['and more:', tiny_render.UnorderedList(['w o r l d'])],
- 'world2',
- ])
- ]
-
- self.assertEqual(
- tiny_render.render_text_pieces(pieces),
- '\n'.join((
- 'hello:',
- ' - world',
- ' - and more:',
- ' - w o r l d',
- ' - world2',
- )),
- )
-
- self.assertEqual(
- tiny_render.render_html_pieces(pieces),
- '\n'.join((
- 'hello:<ul>',
- '<li>world</li>',
- '<li>and more:<ul>',
- '<li>w o r l d</li>',
- '</ul>',
- '</li>',
- '<li>world2</li>',
- '</ul>',
- '',
- )),
- )
-
- def test_switch(self):
- pieces = ['hello ', tiny_render.Switch(text='text', html='html')]
- self.assertEqual(tiny_render.render_text_pieces(pieces), 'hello text')
- self.assertEqual(tiny_render.render_html_pieces(pieces), 'hello html')
-
- def test_golden(self):
- pieces = [
- 'hello',
- tiny_render.UnorderedList([
- tiny_render.Switch(text='text', html=tiny_render.Bold('html')),
- 'the',
- tiny_render.Bold('sun'),
- ]),
- tiny_render.line_break,
- ['is', ' out!'],
- ]
-
- self.assertEqual(
- tiny_render.render_text_pieces(pieces), '\n'.join((
- 'hello',
- ' - text',
- ' - the',
- ' - **sun**',
- 'is out!',
- )))
-
- self.assertEqual(
- tiny_render.render_html_pieces(pieces), '\n'.join((
- 'hello<ul>',
- '<li><b>html</b></li>',
- '<li>the</li>',
- '<li><b>sun</b></li>',
- '</ul>',
- '<br />',
- 'is out!',
- )))
-
-
-if __name__ == '__main__':
- unittest.main()
+ """Tests for tiny_render."""
+
+ def test_bold(self):
+ pieces = [
+ tiny_render.Bold("hello"),
+ ", ",
+ tiny_render.Bold(["world", "!"]),
+ ]
+
+ self.assertEqual(
+ tiny_render.render_text_pieces(pieces),
+ "**hello**, **world!**",
+ )
+
+ self.assertEqual(
+ tiny_render.render_html_pieces(pieces),
+ "<b>hello</b>, <b>world!</b>",
+ )
+
+ def test_line_break(self):
+ pieces = [
+ "hello",
+ tiny_render.line_break,
+ ["world", "!"],
+ ]
+
+ self.assertEqual(
+ tiny_render.render_text_pieces(pieces),
+ "hello\nworld!",
+ )
+
+ self.assertEqual(
+ tiny_render.render_html_pieces(pieces),
+ "hello<br />\nworld!",
+ )
+
+ def test_linkification(self):
+ pieces = [
+ "hello ",
+ tiny_render.Link(href="https://google.com", inner="world!"),
+ ]
+
+ self.assertEqual(
+ tiny_render.render_text_pieces(pieces),
+ "hello world!",
+ )
+
+ self.assertEqual(
+ tiny_render.render_html_pieces(pieces),
+ 'hello <a href="https://google.com">world!</a>',
+ )
+
+ def test_unordered_list(self):
+ pieces = [
+ "hello:",
+ tiny_render.UnorderedList(
+ [
+ "world",
+ "w o r l d",
+ ]
+ ),
+ ]
+
+ self.assertEqual(
+ tiny_render.render_text_pieces(pieces),
+ "\n".join(
+ (
+ "hello:",
+ " - world",
+ " - w o r l d",
+ )
+ ),
+ )
+
+ self.assertEqual(
+ tiny_render.render_html_pieces(pieces),
+ "\n".join(
+ (
+ "hello:<ul>",
+ "<li>world</li>",
+ "<li>w o r l d</li>",
+ "</ul>",
+ "",
+ )
+ ),
+ )
+
+ def test_nested_unordered_list(self):
+ pieces = [
+ "hello:",
+ tiny_render.UnorderedList(
+ [
+ "world",
+ ["and more:", tiny_render.UnorderedList(["w o r l d"])],
+ "world2",
+ ]
+ ),
+ ]
+
+ self.assertEqual(
+ tiny_render.render_text_pieces(pieces),
+ "\n".join(
+ (
+ "hello:",
+ " - world",
+ " - and more:",
+ " - w o r l d",
+ " - world2",
+ )
+ ),
+ )
+
+ self.assertEqual(
+ tiny_render.render_html_pieces(pieces),
+ "\n".join(
+ (
+ "hello:<ul>",
+ "<li>world</li>",
+ "<li>and more:<ul>",
+ "<li>w o r l d</li>",
+ "</ul>",
+ "</li>",
+ "<li>world2</li>",
+ "</ul>",
+ "",
+ )
+ ),
+ )
+
+ def test_switch(self):
+ pieces = ["hello ", tiny_render.Switch(text="text", html="html")]
+ self.assertEqual(tiny_render.render_text_pieces(pieces), "hello text")
+ self.assertEqual(tiny_render.render_html_pieces(pieces), "hello html")
+
+ def test_golden(self):
+ pieces = [
+ "hello",
+ tiny_render.UnorderedList(
+ [
+ tiny_render.Switch(
+ text="text", html=tiny_render.Bold("html")
+ ),
+ "the",
+ tiny_render.Bold("sun"),
+ ]
+ ),
+ tiny_render.line_break,
+ ["is", " out!"],
+ ]
+
+ self.assertEqual(
+ tiny_render.render_text_pieces(pieces),
+ "\n".join(
+ (
+ "hello",
+ " - text",
+ " - the",
+ " - **sun**",
+ "is out!",
+ )
+ ),
+ )
+
+ self.assertEqual(
+ tiny_render.render_html_pieces(pieces),
+ "\n".join(
+ (
+ "hello<ul>",
+ "<li><b>html</b></li>",
+ "<li>the</li>",
+ "<li><b>sun</b></li>",
+ "</ul>",
+ "<br />",
+ "is out!",
+ )
+ ),
+ )
+
+
+if __name__ == "__main__":
+ unittest.main()