blob: 4c7f5635e7dda813903bfd9af1dd0da3258617e7 [file] [log] [blame]
# -*- coding: utf-8 -*-
# Any copyright is dedicated to the Public Domain.
# http://creativecommons.org/publicdomain/zero/1.0/
from __future__ import unicode_literals
import json
import os
import unittest
import mozunit
import mozbuild.action.generate_browsersearch as generate_browsersearch
from mozfile.mozfile import (
NamedTemporaryFile,
TemporaryDirectory,
)
import mozpack.path as mozpath
test_data_path = mozpath.abspath(mozpath.dirname(__file__))
test_data_path = mozpath.join(test_data_path, 'data')
class TestGenerateBrowserSearch(unittest.TestCase):
"""
Unit tests for generate_browsersearch.py.
"""
def _test_one(self, name):
with TemporaryDirectory() as tmpdir:
with NamedTemporaryFile(mode='r+') as temp:
srcdir = os.path.join(test_data_path, name)
generate_browsersearch.main([
'--silent',
'--srcdir', srcdir,
temp.name])
return json.load(temp)
def test_valid_unicode(self):
o = self._test_one('valid-zh-CN')
self.assertEquals(o['default'], '百度')
self.assertEquals(o['engines'], ['百度', 'Google'])
def test_invalid_unicode(self):
with self.assertRaises(UnicodeDecodeError):
self._test_one('invalid')
if __name__ == '__main__':
mozunit.main()