Files
sdk/tools/dom/scripts/templateloader_test.py
T
leafp@google.com 5e0688e1ec This CL contains all of the changes for splitting off all of the native
calls from dart:html into dart:blink.  As currently configured, the
dart:blink library will be empty and unused.  The only changes in the
idl generated dart and C++ code in the default configuration should
be cosmetic.  The global variable "dart_use_blink" in systemnative.py
currently controls whether or not the real blink library is
generated.  Enabling this requires as yet unchecked in changes to
blink.  These changes are expected to land as part of the chrome
35 roll.

Support for building with/without blink
DOM changes for checked receivers
Dartium native call generation refactor

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org//254463006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35430 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 16:22:08 +00:00

132 lines
2.9 KiB
Python
Executable File

#!/usr/bin/python
# Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
import logging.config
import unittest
import templateloader
class TemplateLoaderTestCase(unittest.TestCase):
def _preprocess(self, input_text, conds):
loader = templateloader.TemplateLoader('.', [], conds)
return loader._Preprocess(input_text, '<file>', conds)
def _preprocess_test(self, input_text, conds, expected_text):
output_text = self._preprocess(input_text, conds)
if output_text != expected_text:
msg = '''
EXPECTED:
%s
---
ACTUAL :
%s
---''' % (expected_text, output_text)
self.fail(msg)
def _preprocess_error_test(self, input_text, conds, expected_message):
threw = False
try:
output_text = self._preprocess(input_text, conds)
except Exception, e:
threw = True
if str(e).find(expected_message) == -1:
self.fail("'%s' does not contain '%s'" % (e, expected_message))
if not threw:
self.fail("missing error, expected '%s'" % expected_message)
def test_freevar(self):
input_text = '''$A
$B'''
self._preprocess_test(input_text, {}, input_text)
def test_comments(self):
input_text = '''//$ comment 1
Hello
//$ comment 2'''
self._preprocess_test(input_text, {}, 'Hello\n')
def test_ite1(self):
input_text = '''
aaa
$if A
bbb
$else
ccc
$endif
ddd
'''
self._preprocess_test(input_text, {'A':True},
'''
aaa
bbb
ddd
''')
def test_ite2(self):
input_text = '''
aaa
$if A
bbb
$else
ccc
$endif
ddd
'''
self._preprocess_test(input_text, {'A':False},
'''
aaa
ccc
ddd
''')
def test_if1(self):
input_text = '''
$if
'''
self._preprocess_error_test(input_text, {},
'$if does not have single variable')
def test_if2(self):
input_text = '''
$if A
'''
self._preprocess_error_test(input_text, {}, 'Unknown $if variable')
def test_else1(self):
input_text = '''
$else
'''
self._preprocess_error_test(input_text, {}, '$else without $if')
def test_else2(self):
input_text = '''
$if A
$else
$else
'''
self._preprocess_error_test(input_text, {'A':True}, 'Double $else')
def test_eof1(self):
input_text = '''
$if A
'''
self._preprocess_error_test(input_text, {'A':True}, 'Unterminated')
def test_eof2(self):
input_text = '''
$if A
$else
'''
self._preprocess_error_test(input_text, {'A':True}, 'Unterminated')
if __name__ == "__main__":
logging.config.fileConfig("logging.conf")
if __name__ == '__main__':
unittest.main()