v/vlib/v/gen/js/sourcemap/basic_test.v
Larsimusrex bae7684276
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
json2: replace encoder with new implementation (#25224)
2025-09-09 18:50:22 +03:00

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
}