42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
import unittest
|
|||
|
|
|
||
|
|
from leafnode import LeafNode
|
||
|
|
|
||
|
|
|
||
|
|
class LeafNodeTest(unittest.TestCase):
|
||
|
|
def test_to_html_when_leaf_no_value_it_should_raise_value_error(self):
|
||
|
|
node = LeafNode("p", None)
|
||
|
|
|
||
|
|
with self.assertRaises(ValueError):
|
||
|
|
node.to_html()
|
||
|
|
|
||
|
|
def test_to_html_when_no_tag_it_should_return_value(self):
|
||
|
|
expected = "Hello Chat"
|
||
|
|
node = LeafNode(None, expected)
|
||
|
|
|
||
|
|
result = node.to_html()
|
||
|
|
|
||
|
|
self.assertEqual(result, expected)
|
||
|
|
|
||
|
|
def test_to_html_when_tag_and_value_it_should_return_html_tag(self):
|
||
|
|
tag = "h1"
|
||
|
|
value = "Hello Chat"
|
||
|
|
expected = f"<{tag}>{value}</{tag}>"
|
||
|
|
|
||
|
|
node = LeafNode(None, expected)
|
||
|
|
|
||
|
|
result = node.to_html()
|
||
|
|
|
||
|
|
self.assertEqual(result, expected)
|
||
|
|
|
||
|
|
def test_repr_when_called_it_should_return_expected_representation(self):
|
||
|
|
tag = "tag"
|
||
|
|
value = "value"
|
||
|
|
props = {}
|
||
|
|
|
||
|
|
node = LeafNode(tag, value, props)
|
||
|
|
|
||
|
|
result = repr(node)
|
||
|
|
|
||
|
|
self.assertEqual(result, f"{LeafNode.__name__}({tag}, {value}, {props})")
|