Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / testing / DictionaryTest.cpp
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "config.h"
6 #include "DictionaryTest.h"
7
8 #include "core/testing/InternalDictionary.h"
9
10 namespace blink {
11
12 DictionaryTest::DictionaryTest()
13 {
14 }
15
16 DictionaryTest::~DictionaryTest()
17 {
18 }
19
20 void DictionaryTest::set(const InternalDictionary& testingDictionary)
21 {
22     reset();
23     if (testingDictionary.hasLongMember())
24         m_longMember = testingDictionary.longMember();
25     m_longMemberWithDefault = testingDictionary.longMemberWithDefault();
26     if (testingDictionary.hasLongOrNullMember())
27         m_longOrNullMember = testingDictionary.longOrNullMember();
28     // |longOrNullMemberWithDefault| has a default value but can be null, so
29     // we need to check availability.
30     if (testingDictionary.hasLongOrNullMemberWithDefault())
31         m_longOrNullMemberWithDefault = testingDictionary.longOrNullMemberWithDefault();
32     if (testingDictionary.hasBooleanMember())
33         m_booleanMember = testingDictionary.booleanMember();
34     if (testingDictionary.hasDoubleMember())
35         m_doubleMember = testingDictionary.doubleMember();
36     m_stringMember = testingDictionary.stringMember();
37     m_stringMemberWithDefault = testingDictionary.stringMemberWithDefault();
38     if (testingDictionary.hasStringSequenceMember())
39         m_stringSequenceMember = testingDictionary.stringSequenceMember();
40     if (testingDictionary.hasStringSequenceOrNullMember())
41         m_stringSequenceOrNullMember = testingDictionary.stringSequenceOrNullMember();
42     m_enumMember = testingDictionary.enumMember();
43     m_enumMemberWithDefault = testingDictionary.enumMemberWithDefault();
44     m_enumOrNullMember = testingDictionary.enumOrNullMember();
45     if (testingDictionary.hasElementMember())
46         m_elementMember = testingDictionary.elementMember();
47     if (testingDictionary.hasElementOrNullMember())
48         m_elementOrNullMember = testingDictionary.elementOrNullMember();
49     m_objectMember = testingDictionary.objectMember();
50     m_objectOrNullMemberWithDefault = testingDictionary.objectOrNullMemberWithDefault();
51 }
52
53 void DictionaryTest::get(InternalDictionary& result)
54 {
55     if (m_longMember)
56         result.setLongMember(m_longMember.get());
57     result.setLongMemberWithDefault(m_longMemberWithDefault);
58     if (m_longOrNullMember)
59         result.setLongOrNullMember(m_longOrNullMember.get());
60     if (m_longOrNullMemberWithDefault)
61         result.setLongOrNullMemberWithDefault(m_longOrNullMemberWithDefault.get());
62     if (m_booleanMember)
63         result.setBooleanMember(m_booleanMember.get());
64     if (m_doubleMember)
65         result.setDoubleMember(m_doubleMember.get());
66     result.setStringMember(m_stringMember);
67     result.setStringMemberWithDefault(m_stringMemberWithDefault);
68     if (m_stringSequenceMember)
69         result.setStringSequenceMember(m_stringSequenceMember.get());
70     if (m_stringSequenceOrNullMember)
71         result.setStringSequenceOrNullMember(m_stringSequenceOrNullMember.get());
72     result.setEnumMember(m_enumMember);
73     result.setEnumMemberWithDefault(m_enumMemberWithDefault);
74     result.setEnumOrNullMember(m_enumOrNullMember);
75     if (m_elementMember)
76         result.setElementMember(m_elementMember);
77     if (m_elementOrNullMember)
78         result.setElementOrNullMember(m_elementOrNullMember);
79     result.setObjectMember(m_objectMember);
80     result.setObjectOrNullMemberWithDefault(m_objectOrNullMemberWithDefault);
81 }
82
83 void DictionaryTest::reset()
84 {
85     m_longMember = Nullable<int>();
86     m_longMemberWithDefault = -1; // This value should not be returned.
87     m_longOrNullMember = Nullable<int>();
88     m_longOrNullMemberWithDefault = Nullable<int>();
89     m_booleanMember = Nullable<bool>();
90     m_doubleMember = Nullable<double>();
91     m_stringMember = String();
92     m_stringMemberWithDefault = String("Should not be returned");
93     m_stringSequenceMember = Nullable<Vector<String> >();
94     m_stringSequenceOrNullMember = Nullable<Vector<String> >();
95     m_enumMember = String();
96     m_enumMemberWithDefault = String();
97     m_enumOrNullMember = String();
98     m_elementMember = nullptr;
99     m_elementOrNullMember = nullptr;
100     m_objectMember = ScriptValue();
101     m_objectOrNullMemberWithDefault = ScriptValue();
102 }
103
104 void DictionaryTest::trace(Visitor* visitor)
105 {
106     visitor->trace(m_elementMember);
107     visitor->trace(m_elementOrNullMember);
108 }
109
110 }