mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Loki, Prometheus: Fix PromQL and LogQL syntax highlighting (#21944)
* Loki, Prometheus: Fix syntax to not highlight # in quotes as a comment in queryField * Loki, Prometheus: Fix syntax to not highlight # in quotes as a comment in queryField * Fix regex * PromQL, LogQL: Update syntax * LogQL, PromQL highlighting: Add tests
This commit is contained in:
22
public/app/plugins/datasource/prometheus/promql.test.ts
Normal file
22
public/app/plugins/datasource/prometheus/promql.test.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import promql from './promql';
|
||||
import Prism from 'prismjs';
|
||||
|
||||
describe('Loki syntax', () => {
|
||||
it('should highlight Loki query correctly', () => {
|
||||
expect(Prism.highlight('{key="val#ue"}', promql, 'promql')).toBe(
|
||||
'<span class="token context-labels"><span class="token punctuation">{</span><span class="token label-key attr-name">key</span>=<span class="token label-value attr-value">"val#ue"</span></span><span class="token punctuation">}</span>'
|
||||
);
|
||||
expect(Prism.highlight('{key="#value"}', promql, 'promql')).toBe(
|
||||
'<span class="token context-labels"><span class="token punctuation">{</span><span class="token label-key attr-name">key</span>=<span class="token label-value attr-value">"#value"</span></span><span class="token punctuation">}</span>'
|
||||
);
|
||||
expect(Prism.highlight('{key="value#"}', promql, 'promql')).toBe(
|
||||
'<span class="token context-labels"><span class="token punctuation">{</span><span class="token label-key attr-name">key</span>=<span class="token label-value attr-value">"value#"</span></span><span class="token punctuation">}</span>'
|
||||
);
|
||||
expect(Prism.highlight('#test{key="value"}', promql, 'promql')).toBe(
|
||||
'<span class="token comment">#test{key="value"}</span>'
|
||||
);
|
||||
expect(Prism.highlight('{key="value"}#test', promql, 'promql')).toBe(
|
||||
'<span class="token context-labels"><span class="token punctuation">{</span><span class="token label-key attr-name">key</span>=<span class="token label-value attr-value">"value"</span></span><span class="token punctuation">}</span><span class="token comment">#test</span>'
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user