123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- from unittest import TestCase
- from docutils.core import publish_string
- from docutils.parsers.rst import directives
- from unitywebgl import config
- from unitywebgl.UnityGameDirective import UnityWebgl
- class TestUnityWebgl(TestCase):
- def test_directive_basic(self):
- # test directive html output with default template
- # and settings
- directives.register_directive('unitywebgl', UnityWebgl)
- config.GAMES_ROOT_DIR = '/test_games_root'
- config.TEMPLATE_PATH = '/test_template_path/template'
- config.DEFAULT_WIDTH = 960
- config.DEFAULT_HEIGHT = 600
- html =['<link rel="stylesheet" href="/test_template_path/template/style.css">',
- '<script src="/test_template_path/template/UnityProgress.js">',
- '<script src="/test_games_root/testgame/Build/UnityLoader.js">',
- '<script>\n var gameInstance = UnityLoader.instantiate("gameContainer", "/test_games_root/testgame/Build/testgame.json", {onProgress: UnityProgress});\n </script>',
- '<div id="gameContainer" style="width: 960px; height: 600px; left: 50%; transform: translateX(-50%);"></div>']
- res = publish_string('.. unitywebgl:: testgame', writer_name='html', settings_overrides={'output_encoding': 'unicode'})
- passed = True
- for line in html:
- if line not in res:
- passed = False
- break
- assert passed
- def test_directive_with_params(self):
- # test directive html output with all optional parameters,
- # default template and settings
- directives.register_directive('unitywebgl', UnityWebgl)
- config.GAMES_ROOT_DIR = 'test_games_root'
- config.TEMPLATE_PATH = 'test_template_path'
- config.DEFAULT_WIDTH = 960
- config.DEFAULT_HEIGHT = 600
- html =['<link rel="stylesheet" href="/games2/template2/style.css">',
- '<script src="/games2/template2/UnityProgress.js">',
- '<script src="/games2/testgame/Build/UnityLoader.js">',
- '<script>\n var gameInstance = UnityLoader.instantiate("gameContainer", "/games2/testgame/Build/testgame.json", {onProgress: UnityProgress});\n </script>',
- '<div id="gameContainer" style="width: 640px; height: 480px; left: 50%; transform: translateX(-50%);"></div>']
- d = '.. unitywebgl:: testgame\n\t:gameroot: /games2\n\t:template: /games2/template2\n\t:width: 640\n\t:height: 480'
- res = publish_string(d, writer_name='html', settings_overrides={'output_encoding': 'unicode'})
- passed = True
- for line in html:
- if line not in res:
- passed = False
- break
- assert passed
|