1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#!/usr/bin/env python 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved. 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)# found in the LICENSE file. 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)from json_comment_eater import Nom 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)import unittest 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class JsonCommentEaterTest(unittest.TestCase): 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) def _Load(self, test_name): 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) '''Loads the input and expected output for |test_name| as given by reading 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) in |test_name|.json and |test_name|_expected.json, and returns the string 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) contents as a tuple in that order. 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ''' 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) def read(file_name): 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) with open(file_name, 'r') as f: 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return f.read() 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return [read(pattern % test_name) 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) for pattern in ('%s.json', '%s_expected.json')] 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) def testEverything(self): 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) json, expected_json = self._Load('everything') 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) self.assertEqual(expected_json, Nom(json)) 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)if __name__ == '__main__': 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) unittest.main() 27