mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-06-17 00:07:37 +02:00
add wc tests
This commit is contained in:
@ -50,11 +50,10 @@ class info():
|
|||||||
description = 'wc command parser'
|
description = 'wc command parser'
|
||||||
author = 'Kelly Brazil'
|
author = 'Kelly Brazil'
|
||||||
author_email = 'kellyjonbrazil@gmail.com'
|
author_email = 'kellyjonbrazil@gmail.com'
|
||||||
details = 'Parses wc and sum program output'
|
|
||||||
|
|
||||||
# compatible options: linux, darwin, cygwin, win32, aix, freebsd
|
# compatible options: linux, darwin, cygwin, win32, aix, freebsd
|
||||||
compatible = ['linux', 'darwin', 'cygwin', 'aix', 'freebsd']
|
compatible = ['linux', 'darwin', 'cygwin', 'aix', 'freebsd']
|
||||||
magic_commands = ['wc', 'sum']
|
magic_commands = ['wc']
|
||||||
|
|
||||||
|
|
||||||
__version__ = info.version
|
__version__ = info.version
|
||||||
|
1
tests/fixtures/osx-10.14.6/wc-stdin.json
vendored
Normal file
1
tests/fixtures/osx-10.14.6/wc-stdin.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
[{"filename": null, "lines": 1, "words": 2, "characters": 12}]
|
1
tests/fixtures/osx-10.14.6/wc-stdin.out
vendored
Normal file
1
tests/fixtures/osx-10.14.6/wc-stdin.out
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
1 2 12
|
58
tests/test_wc.py
Normal file
58
tests/test_wc.py
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
import os
|
||||||
|
import unittest
|
||||||
|
import json
|
||||||
|
import jc.parsers.wc
|
||||||
|
|
||||||
|
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
|
|
||||||
|
class MyTests(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
# input
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/wc.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.centos_7_7_wc = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/wc.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.osx_10_14_6_wc = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/wc-stdin.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.osx_10_14_6_wc_stdin = f.read()
|
||||||
|
|
||||||
|
# output
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/wc.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.centos_7_7_wc_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/wc.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.osx_10_14_6_wc_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/wc-stdin.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.osx_10_14_6_wc_stdin_json = json.loads(f.read())
|
||||||
|
|
||||||
|
def test_wc_nodata(self):
|
||||||
|
"""
|
||||||
|
Test 'wc' parser with no data
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.wc.parse('', quiet=True), [])
|
||||||
|
|
||||||
|
def test_wc_centos_7_7(self):
|
||||||
|
"""
|
||||||
|
Test 'wc' on Centos 7.7
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.wc.parse(self.centos_7_7_wc, quiet=True), self.centos_7_7_wc_json)
|
||||||
|
|
||||||
|
def test_wc_osx_10_14_6(self):
|
||||||
|
"""
|
||||||
|
Test 'wc' on OSX 10.14.6
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.wc.parse(self.osx_10_14_6_wc, quiet=True), self.osx_10_14_6_wc_json)
|
||||||
|
|
||||||
|
def test_wc_stdin_osx_10_14_6(self):
|
||||||
|
"""
|
||||||
|
Test 'wc' from STDIN on OSX 10.14.6
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.wc.parse(self.osx_10_14_6_wc_stdin, quiet=True), self.osx_10_14_6_wc_stdin_json)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
Reference in New Issue
Block a user