# -*- coding: utf-8 -*-
import unittest

import sys

from lilith.main import show
from lilith.work import get_qrcode_by_text

test_qrcode = '''\
              ████████    ████  ██  ████  ██              
  ██████████  ██              ██████████  ██  ██████████  
  ██      ██  ████      ██  ██    ██      ██  ██      ██  
  ██      ██  ██████      ██      ██████  ██  ██      ██  
  ██      ██  ██  ██    ████      ██  ██████  ██      ██  
  ██████████  ████    ██  ██  ████████    ██  ██████████  
              ██  ██  ██  ██  ██  ██  ██  ██              
████████████████████  ██  ████      ████  ████████████████
████  ██      ██  ██    ██████  ██  ██      ████  ████  ██
  ██      ██████  ████      ██████    ██████  ██  ████  ██
    ████  ██  ██████████  ██      ██████████    ██    ██  
  ██  ██████████    ██  ██████  ████  ████    ██  ██████  
████      ██  ██    ████  ████  ██████  ████      ██    ██
████  ██    ████  ██████  ████  ██  ████    ████  ██████  
████          ██  ████  ██  ████████        ████  ████  ██
██  ██  ██  ██  ██      ██      ████    ██        ██████  
  ████████    ██████████  ██  ██  ████  ██  ██  ██    ████
████  ████████  ██████      ██████        ██    ██████    
  ██              ████  ██    ████  ██████  ██    ██  ████
  ██    ██  ██      ████  ████  ██      ██                
██      ████  ████    ██████      ████            ██  ██  
████████████████  ████████████    ██████  ██████          
              ████████████  ████  ██████  ██  ██  ████  ██
  ██████████  ██  ██████████    ██  ████  ██████        ██
  ██      ██  ██    ██  ██      ██                ██████  
  ██      ██  ██████████  ████  ██████    ████  ██        
  ██      ██  ██    ██████  ████████  ████  ██████    ████
  ██████████  ████  ██  ██████    ████    ██████          
              ████                    ████      ████    ██
'''


class TestLilith(unittest.TestCase):
    def test_get_qrcode(self):
        text = 'http://nosuchfield.com'
        qrcode = get_qrcode_by_text(text)
        self.assertEqual(qrcode, test_qrcode, 'unit test failed!')

    def test_one_arg(self):
        sys.argv = ['main.py']
        show()

    def test_two_args(self):
        sys.argv = ['main.py', 'http://nosuchfield.com']
        show()
