blob: 831e1b847955ba1fb202a44efaad57a52dc8ab44 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { formatQuery } from '..';
test('If dots are configured to be placed after line breaks, make sure they are correctly placed, and neither missing nor duplicated', () => {
expect(
formatQuery(
"g.V().hasLabel('person').group().by(values('name', 'age').fold()).unfold().filter(select(values).count(local).is(gt(1)))",
{
indentation: 0,
maxLineLength: 40,
shouldPlaceDotsAfterLineBreaks: false,
},
),
).toBe(`g.V().
hasLabel('person').
group().
by(values('name', 'age').fold()).
unfold().
filter(
select(values).
count(local).
is(gt(1)))`);
expect(
formatQuery(
"g.V().hasLabel('person').group().by(values('name', 'age').fold()).unfold().filter(select(values).count(local).is(gt(1)))",
{
indentation: 0,
maxLineLength: 35,
shouldPlaceDotsAfterLineBreaks: true,
},
),
).toBe(`g.V()
.hasLabel('person')
.group()
.by(
values('name', 'age').fold())
.unfold()
.filter(
select(values)
.count(local)
.is(gt(1)))`);
});