mirror of
https://github.com/vlang/v.git
synced 2025-09-13 14:32:26 +03:00

Some checks failed
Graphics CI / gg-regressions (push) Waiting to run
vlib modules CI / build-module-docs (push) Waiting to run
native backend CI / native-backend-ubuntu (push) Waiting to run
native backend CI / native-backend-windows (push) Waiting to run
Sanitized CI / sanitize-undefined-clang (push) Waiting to run
Sanitized CI / sanitize-undefined-gcc (push) Waiting to run
Sanitized CI / tests-sanitize-address-clang (push) Waiting to run
Sanitized CI / sanitize-address-msvc (push) Waiting to run
Sanitized CI / sanitize-address-gcc (push) Waiting to run
Sanitized CI / sanitize-memory-clang (push) Waiting to run
sdl CI / v-compiles-sdl-examples (push) Waiting to run
Time CI / time-linux (push) Waiting to run
Time CI / time-macos (push) Waiting to run
Time CI / time-windows (push) Waiting to run
toml CI / toml-module-pass-external-test-suites (push) Waiting to run
Tools CI / tools-windows (gcc) (push) Waiting to run
Tools CI / tools-linux (clang) (push) Waiting to run
Tools CI / tools-linux (gcc) (push) Waiting to run
Tools CI / tools-linux (tcc) (push) Waiting to run
Tools CI / tools-macos (clang) (push) Waiting to run
Tools CI / tools-windows (msvc) (push) Waiting to run
Tools CI / tools-windows (tcc) (push) Waiting to run
Tools CI / tools-docker-ubuntu-musl (push) Waiting to run
vab CI / vab-compiles-v-examples (push) Waiting to run
vab CI / v-compiles-os-android (push) Waiting to run
wasm backend CI / wasm-backend (windows-2022) (push) Waiting to run
wasm backend CI / wasm-backend (ubuntu-22.04) (push) Waiting to run
json decoder benchmark CI / json-encode-benchmark (push) Has been cancelled
json encoder benchmark CI / json-encode-benchmark (push) Has been cancelled
158 lines
3.4 KiB
V
158 lines
3.4 KiB
V
module sourcemap
|
|
|
|
fn test_simple() {
|
|
mut sg := generate_empty_map()
|
|
mut sm := sg.add_map('hello.js', '/', true, 0, 0)
|
|
sm.set_source_content('hello.v', "fn main(){nprintln('Hello World! Helo \$a')\n}")
|
|
|
|
mlist := [
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 1
|
|
gen_column: 0
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 0
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 0
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 0
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 2
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 0
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 9
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 7
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 10
|
|
}
|
|
name: 'hello_name'
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 8
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 13
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 0
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 14
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 12
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 27
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 0
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 28
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 0
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 2
|
|
gen_column: 29
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 0
|
|
}
|
|
},
|
|
MappingInput{
|
|
GenPosition: GenPosition{
|
|
gen_line: 3
|
|
gen_column: 0
|
|
}
|
|
name: ''
|
|
source_position: SourcePosition{
|
|
source_line: 1
|
|
source_column: 0
|
|
}
|
|
},
|
|
]
|
|
sm.add_mapping_list('hello.v', mlist) or { panic('x') }
|
|
|
|
json_data := sm.to_json()
|
|
|
|
expected := '{"version":3,"file":"hello.js","sourceRoot":"/","sources":["hello.v"],"sourcesContent":["fn main(){nprintln(\'Hello World! Helo \$a\')\\n}"],"names":["hello_name"],"mappings":"AAAA;AAAA,EAAA,OAAO,CAACA,GAAR,CAAY,aAAZ,CAAA,CAAA;AAAA"}'
|
|
assert json_data.str() == expected
|
|
}
|
|
|
|
fn test_source_null() {
|
|
mut sg := generate_empty_map()
|
|
mut sm := sg.add_map('hello.js', '/', true, 0, 0)
|
|
sm.add_mapping('hello.v', SourcePosition{
|
|
source_line: 0
|
|
source_column: 0
|
|
}, 1, 1, '')
|
|
sm.add_mapping('hello_lib1.v', SourcePosition{
|
|
source_line: 0
|
|
source_column: 0
|
|
}, 2, 1, '')
|
|
sm.add_mapping('hello_lib2.v', SourcePosition{
|
|
source_line: 0
|
|
source_column: 0
|
|
}, 3, 1, '')
|
|
json_data := sm.to_json()
|
|
|
|
expected := '{"version":3,"file":"hello.js","sourceRoot":"/","sources":["hello.v","hello_lib1.v","hello_lib2.v"],"sourcesContent":[null,null,null],"names":[],"mappings":"CA+/////HA;CCAA;CCAA"}'
|
|
assert json_data.str() == expected
|
|
}
|