@@ -2,12 +2,12 @@ import { describe, expect, it } from 'vitest'
2
2
3
3
import { examples } from '@/features/editor/examples'
4
4
5
- import { createAssembler } from './assembler'
5
+ import { Assembler } from './assembler'
6
6
7
7
describe ( 'Assembler' , ( ) => {
8
8
examples . forEach ( ( { title, content } ) => {
9
9
it ( `should assemble example ${ title } ` , ( ) => {
10
- const assembler = createAssembler ( )
10
+ const assembler = new Assembler ( )
11
11
const unit = assembler . run ( content )
12
12
expect ( unit . ast ) . not . toBeNull ( )
13
13
expect ( unit . chunks . length ) . toBeGreaterThan ( 0 )
@@ -17,7 +17,7 @@ describe('Assembler', () => {
17
17
} )
18
18
19
19
it ( 'should collect parser errors' , ( ) => {
20
- const assembler = createAssembler ( )
20
+ const assembler = new Assembler ( )
21
21
const unit = assembler . run ( 'inc al' )
22
22
expect ( unit . errors ) . toHaveLength ( 1 )
23
23
expect ( unit . errors [ 0 ] ) . toMatchInlineSnapshot (
@@ -26,7 +26,7 @@ describe('Assembler', () => {
26
26
} )
27
27
28
28
it ( 'should collect parser warnings' , ( ) => {
29
- const assembler = createAssembler ( )
29
+ const assembler = new Assembler ( )
30
30
const unit = assembler . run ( 'label: end' )
31
31
expect ( unit . warnings ) . toHaveLength ( 1 )
32
32
expect ( unit . warnings [ 0 ] ) . toMatchInlineSnapshot (
@@ -35,7 +35,7 @@ describe('Assembler', () => {
35
35
} )
36
36
37
37
it ( 'should validate jump distances' , ( ) => {
38
- const assembler = createAssembler ( )
38
+ const assembler = new Assembler ( )
39
39
const unit = assembler . run ( 'jmp label org 81 label: end' )
40
40
expect ( unit . errors ) . toHaveLength ( 1 )
41
41
expect ( unit . errors [ 0 ] ) . toMatchInlineSnapshot (
@@ -44,7 +44,7 @@ describe('Assembler', () => {
44
44
} )
45
45
46
46
it ( 'should validate immediate values' , ( ) => {
47
- const assembler = createAssembler ( )
47
+ const assembler = new Assembler ( )
48
48
const unit = assembler . run ( 'add al, 100 end' )
49
49
expect ( unit . errors ) . toHaveLength ( 1 )
50
50
expect ( unit . errors [ 0 ] ) . toMatchInlineSnapshot (
@@ -53,7 +53,7 @@ describe('Assembler', () => {
53
53
} )
54
54
55
55
it ( 'should validate string literals' , ( ) => {
56
- const assembler = createAssembler ( )
56
+ const assembler = new Assembler ( )
57
57
const unit = assembler . run ( 'db "你好世界" end' )
58
58
expect ( unit . errors ) . toHaveLength ( 1 )
59
59
expect ( unit . errors [ 0 ] ) . toMatchInlineSnapshot (
@@ -62,7 +62,7 @@ describe('Assembler', () => {
62
62
} )
63
63
64
64
it ( 'should validate org address' , ( ) => {
65
- const assembler = createAssembler ( )
65
+ const assembler = new Assembler ( )
66
66
const unit = assembler . run ( 'org 100 end' )
67
67
expect ( unit . errors ) . toHaveLength ( 1 )
68
68
expect ( unit . errors [ 0 ] ) . toMatchInlineSnapshot (
@@ -71,7 +71,7 @@ describe('Assembler', () => {
71
71
} )
72
72
73
73
it ( 'should throw an error when memory overflows' , ( ) => {
74
- const assembler = createAssembler ( )
74
+ const assembler = new Assembler ( )
75
75
const unit = assembler . run ( 'org ff inc al end' )
76
76
expect ( unit . errors ) . toHaveLength ( 1 )
77
77
expect ( unit . errors [ 0 ] ) . toMatchInlineSnapshot (
@@ -80,7 +80,7 @@ describe('Assembler', () => {
80
80
} )
81
81
82
82
it ( 'should merge errors' , ( ) => {
83
- const assembler = createAssembler ( )
83
+ const assembler = new Assembler ( )
84
84
const unit = assembler . run ( 'org ff inc al inc bl inc cl end' )
85
85
expect ( unit . errors ) . toHaveLength ( 1 )
86
86
expect ( unit . errors [ 0 ] ) . toMatchInlineSnapshot (
0 commit comments