Add YANG indentation tests

This commit is contained in:
Tomas Sandven 2022-04-07 10:39:46 +02:00 committed by Amaan Qureshi
parent e138c066f7
commit 06e8a91ce2
2 changed files with 81 additions and 0 deletions

View file

@ -0,0 +1,58 @@
module test-module {
yang-version 1.1;
namespace "http://example.com";
prefix test;
import ietf-inet-types { prefix inet; }
import tailf-ncs {
prefix ncs;
}
description "Multi-line strings has indentation
aligned with the first line.";
typedef foo {
type enumeration {
enum "foo";
enum "bar";
}
}
ncs:plan-outline test-nano-service {
description "Testing indentation of extension statements.";
ncs:component-type "ncs:self" {
ncs:state "ncs:init" {
ncs:create {
ncs:nano-callback;
}
}
ncs:state "ncs:ready";
}
ncs:component-type "alloc:resource-allocator" {
ncs:state "ncs:init";
ncs:state "alloc:resources-allocated";
ncs:state "ncs:ready";
}
}
container test {
}
augment /alloc:resource-allocator {
description "Augmentation for the resource allocator mock services.";
list test-nano-service {
key "id";
leaf id {
type string;
description
"I'm a multi-line string
Starting on the next line from the statement.";
}
}
}
}

View file

@ -0,0 +1,23 @@
local Runner = require("tests.indent.common").Runner
local run = Runner:new(it, "tests/indent/yang", {
tabstop = 2,
shiftwidth = 2,
softtabstop = 0,
expandtab = true,
})
describe("indent YANG:", function()
describe("whole file:", function()
run:whole_file(".", {
expected_failures = {},
})
end)
describe("new line:", function()
run:new_line("module.yang", { on_line = 12, text = "# Aligned indentation ended", indent = 2 })
run:new_line("module.yang", { on_line = 37, text = "# Test", indent = 2 })
run:new_line("module.yang", { on_line = 40, text = "# Test", indent = 4 })
run:new_line("module.yang", { on_line = 52, text = "Aligned string!", indent = 4 })
end)
end)