~unity-team/go-unityscopes/v2

« back to all changes in this revision

Viewing changes to previewwidget_test.go

  • Committer: Xavi Garcia
  • Date: 2015-03-23 08:16:07 UTC
  • mfrom: (56.1.1 v1)
  • Revision ID: xavi.garcia.mena@canonical.com-20150323081607-dmer4xqd1z363kqf
MergedĀ lp:~xavi-garcia-mena/go-unityscopes/activation-preview-tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package scopes_test
 
2
 
 
3
import (
 
4
        . "gopkg.in/check.v1"
 
5
        "launchpad.net/go-unityscopes/v1"
 
6
)
 
7
 
 
8
func (s *S) TestPreviewWidget(c *C) {
 
9
        widget := scopes.NewPreviewWidget("widget_id", "widget_type")
 
10
        c.Check(widget.Id(), Equals, "widget_id")
 
11
        c.Check(widget.WidgetType(), Equals, "widget_type")
 
12
 
 
13
        _, ok := widget["attr_id"]
 
14
        c.Check(ok, Equals, false)
 
15
        widget.AddAttributeValue("attr_id", "attr_value")
 
16
 
 
17
        value, ok := widget["attr_id"]
 
18
        c.Check(ok, Equals, true)
 
19
        c.Check(value, Equals, "attr_value")
 
20
 
 
21
        // set complex value
 
22
        widget.AddAttributeValue("attr_slice", []string{"test1", "test2", "test3"})
 
23
        value, ok = widget["attr_slice"]
 
24
        c.Check(ok, Equals, true)
 
25
        c.Check(value, DeepEquals, []string{"test1", "test2", "test3"})
 
26
 
 
27
        // attribute mapping
 
28
 
 
29
        _, ok = widget["components"]
 
30
        c.Check(ok, Equals, false)
 
31
        widget.AddAttributeMapping("map_key", "mapping_value")
 
32
 
 
33
        value, ok = widget["components"]
 
34
        c.Check(ok, Equals, true)
 
35
 
 
36
        components := value.(map[string]interface{})
 
37
 
 
38
        _, ok = components["map_key_error"]
 
39
        c.Check(ok, Equals, false)
 
40
 
 
41
        value, ok = components["map_key"]
 
42
        c.Check(ok, Equals, true)
 
43
        c.Check(value, Equals, "mapping_value")
 
44
 
 
45
        // add nother mapping
 
46
        widget.AddAttributeMapping("map_key_2", "mapping_value_2")
 
47
        value, ok = widget["components"]
 
48
        c.Check(ok, Equals, true)
 
49
        components = value.(map[string]interface{})
 
50
 
 
51
        value, ok = components["map_key"]
 
52
        c.Check(ok, Equals, true)
 
53
        c.Check(value, Equals, "mapping_value")
 
54
 
 
55
        value, ok = components["map_key_2"]
 
56
        c.Check(ok, Equals, true)
 
57
        c.Check(value, Equals, "mapping_value_2")
 
58
}
 
59
 
 
60
func (s *S) TestPreviewWidgetAddWidgets(c *C) {
 
61
        widget := scopes.NewPreviewWidget("widget_id", "widget_type")
 
62
        c.Check(widget.Id(), Equals, "widget_id")
 
63
        c.Check(widget.WidgetType(), Equals, "widget_type")
 
64
 
 
65
        sub_widget_1 := scopes.NewPreviewWidget("widget1", "expandable")
 
66
 
 
67
        // check panic error when adding widget to non expandable
 
68
        c.Assert(func() { widget.AddWidget(sub_widget_1) }, PanicMatches, "Can only add widgets to expandable type widgets")
 
69
 
 
70
        // check it does not have subwidgets
 
71
        _, ok := sub_widget_1["widgets"]
 
72
        c.Check(ok, Equals, false)
 
73
 
 
74
        sub_widget_11 := scopes.NewPreviewWidget("widget11", "audio")
 
75
        sub_widget_12 := scopes.NewPreviewWidget("widget12", "video")
 
76
 
 
77
        sub_widget_1.AddWidget(sub_widget_11)
 
78
        // now it does have widgets
 
79
        widgets, ok := sub_widget_1["widgets"]
 
80
        c.Check(ok, Equals, true)
 
81
        c.Check(widgets, DeepEquals, []scopes.PreviewWidget{sub_widget_11})
 
82
 
 
83
        sub_widget_1.AddWidget(sub_widget_12)
 
84
        widgets, ok = sub_widget_1["widgets"]
 
85
        c.Check(ok, Equals, true)
 
86
        c.Check(widgets, DeepEquals, []scopes.PreviewWidget{sub_widget_11, sub_widget_12})
 
87
 
 
88
        main_widget := scopes.NewPreviewWidget("main_widget_id", "expandable")
 
89
        // check it does not have subwidgets
 
90
        _, ok = main_widget["widgets"]
 
91
        c.Check(ok, Equals, false)
 
92
 
 
93
        main_widget.AddWidget(sub_widget_1)
 
94
        widgets, ok = main_widget["widgets"]
 
95
        c.Check(ok, Equals, true)
 
96
        c.Check(widgets, DeepEquals, []scopes.PreviewWidget{sub_widget_1})
 
97
}