1
0
mirror of https://github.com/emkay/parser-6502.git synced 2025-02-06 03:30:55 +00:00
parser-6502/test/parameters.js

69 lines
1.4 KiB
JavaScript
Raw Normal View History

2016-10-07 10:45:55 -07:00
const tap = require('tap')
const mona = require('mona')
const parsers = require('../parsers/parameters')
tap.test('should parse direct memory address param', (t) => {
t.plan(1)
const input = '$C000'
2016-10-10 21:08:37 -07:00
t.deepEqual(mona.parse(parsers.parameter(), input), {
'address': 'C000'
})
2016-10-07 10:45:55 -07:00
})
2016-10-12 16:41:28 -07:00
tap.test('should parse decimal param', (t) => {
t.plan(1)
const input = '17'
t.deepEqual(mona.parse(parsers.parameter(), input), {
'digit': '17'
})
})
2016-10-07 15:54:31 -07:00
tap.test('should parse alphanum param', (t) => {
t.plan(1)
const input = 'background3'
2016-10-10 21:08:37 -07:00
t.deepEqual(mona.parse(parsers.parameter(), input), {
'alphanum': 'background3'
})
2016-10-07 15:54:31 -07:00
})
2016-10-07 10:45:55 -07:00
tap.test('should parse hex param', (t) => {
t.plan(1)
const input = '#$FF'
2016-10-10 21:08:37 -07:00
t.deepEqual(mona.parse(parsers.parameter(), input), {
'hex': 'FF'
})
2016-10-07 10:45:55 -07:00
})
tap.test('should parse binary param', (t) => {
t.plan(1)
const input = '#%00000001'
2016-10-10 21:08:37 -07:00
t.deepEqual(mona.parse(parsers.parameter(), input), {
'binary': '00000001'
})
2016-10-07 10:45:55 -07:00
})
tap.test('should parse param', (t) => {
t.plan(1)
const input = '#%00000001'
2016-10-10 21:08:37 -07:00
t.deepEqual(mona.parse(parsers.parameter(), input), {
'binary': '00000001'
})
2016-10-07 10:45:55 -07:00
})
tap.test('should parse multiple params', (t) => {
t.plan(1)
const input = '$24,$24,$24'
t.deepEqual(mona.parse(parsers.parameters(), input), [
2016-10-10 21:08:37 -07:00
{
'address': '24'
},
{
'address': '24'
},
{
'address': '24'
}
2016-10-07 10:45:55 -07:00
])
})