blob: 4414ee9f5d8b18ebb5b347dc077ed4d8af67c769 [file] [log] [blame]
Paul Duffin047fdca2020-02-21 16:06:25 +00001// Copyright (C) 2020 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package sdk
16
17import (
18 "testing"
19
20 "android/soong/android"
21)
22
23type removeFredTransformation struct {
24 identityTransformation
25}
26
27func (t removeFredTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) {
28 if name == "fred" {
29 return nil, nil
30 }
31 return value, tag
32}
33
34func (t removeFredTransformation) transformPropertySet(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
35 if name == "fred" {
36 return nil, nil
37 }
38 return propertySet, tag
39}
40
41func TestTransformRemoveProperty(t *testing.T) {
42
43 helper := &TestHelper{t}
44
45 set := newPropertySet()
46 set.AddProperty("name", "name")
47 set.AddProperty("fred", "12")
48
49 set.transformContents(removeFredTransformation{})
50
51 contents := &generatedContents{}
52 outputPropertySet(contents, set)
53 helper.AssertTrimmedStringEquals("removing property failed", "name: \"name\",\\n", contents.content.String())
54}
55
56func TestTransformRemovePropertySet(t *testing.T) {
57
58 helper := &TestHelper{t}
59
60 set := newPropertySet()
61 set.AddProperty("name", "name")
62 set.AddPropertySet("fred")
63
64 set.transformContents(removeFredTransformation{})
65
66 contents := &generatedContents{}
67 outputPropertySet(contents, set)
68 helper.AssertTrimmedStringEquals("removing property set failed", "name: \"name\",\\n", contents.content.String())
69}