diff --git a/tests/ColorLinesTest.php b/tests/ColorLinesTest.php
new file mode 100644
index 0000000..bf89f53
--- /dev/null
+++ b/tests/ColorLinesTest.php
@@ -0,0 +1,118 @@
+ array (
+ 0 => array (
+ 0 => 'token_keyword',
+ 1 => 'function ',
+ ),
+ 1 => array (
+ 0 => 'token_default',
+ 1 => 'bar',
+ ),
+ 2 => array (
+ 0 => 'token_keyword',
+ 1 => '(',
+ ),
+ 3 => array (
+ 0 => 'token_default',
+ 1 => '$param',
+ ),
+ 4 => array (
+ 0 => 'token_unknown',
+ 1 => ') ',
+ ),
+ 5 => array (
+ 0 => 'token_keyword',
+ 1 => '{}',
+ ),
+ ),
+ );
+
+ /**
+ * Test the (private) `colorlines()` method.
+ *
+ * @dataProvider dataColorLines
+ *
+ * @param array $input Tokenized code lines.
+ * @param array $output Expected function output.
+ * @param bool $withTheme Whether or not the mock should act as if themes
+ * have been registered or not.
+ *
+ * @return array
+ */
+ public function testColorLines($input, $expected, $withTheme = true)
+ {
+ $method = new ReflectionMethod('PHP_Parallel_Lint\PhpConsoleHighlighter\Highlighter', 'colorLines');
+ $method->setAccessible(true);
+
+ $highlighter = new Highlighter($this->getConsoleColorMock($withTheme));
+ $output = $method->invoke($highlighter, $input);
+ $method->setAccessible(false);
+
+ $this->assertSame($expected, $output);
+ }
+
+ /**
+ * Data provider.
+ *
+ * @return array
+ */
+ public function dataColorLines()
+ {
+ return array(
+ 'No lines' => array(
+ 'input' => array(),
+ 'expected' => array(),
+ ),
+ 'With theme' => array(
+ 'input' => $this->input,
+ 'expected' => array(
+ 7 => 'function bar($param) {}',
+ ),
+ 'withTheme' => true,
+ ),
+ 'Without theme' => array(
+ 'input' => $this->input,
+ 'expected' => array(
+ 7 => 'function bar($param) {}',
+ ),
+ 'withTheme' => false,
+ ),
+ );
+ }
+
+ /**
+ * Integration test for the colorLines() method.
+ */
+ public function testColorLinesWithRealColors()
+ {
+ $expected = array(
+ 7 => "\033[32mfunction \033[0m\033[39mbar\033[0m\033[32m(\033[0m\033[39m\$param\033[0m) \033[32m{}\033[0m",
+ );
+
+ $color = new ConsoleColor();
+ $color->setForceStyle(true);
+
+ $method = new ReflectionMethod('PHP_Parallel_Lint\PhpConsoleHighlighter\Highlighter', 'colorLines');
+ $method->setAccessible(true);
+
+ $highlighter = new Highlighter($color);
+ $output = $method->invoke($highlighter, $this->input);
+ $method->setAccessible(false);
+
+ $this->assertSame($expected, $output);
+ }
+}