diff options
| -rw-r--r-- | tests/indent/yang/module.yang | 58 | ||||
| -rw-r--r-- | tests/indent/yang_spec.lua | 23 |
2 files changed, 81 insertions, 0 deletions
diff --git a/tests/indent/yang/module.yang b/tests/indent/yang/module.yang new file mode 100644 index 000000000..29c911fa0 --- /dev/null +++ b/tests/indent/yang/module.yang @@ -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."; + } + } + } +} diff --git a/tests/indent/yang_spec.lua b/tests/indent/yang_spec.lua new file mode 100644 index 000000000..c5ff2c886 --- /dev/null +++ b/tests/indent/yang_spec.lua @@ -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) |
