| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package build |
| |
| import ( |
| "encoding/json" |
| "testing" |
| ) |
| |
| func TestArgs(t *testing.T) { |
| argsJSON := []byte(` |
| { |
| "bool_var": true |
| }`) |
| var args Args |
| if err := json.Unmarshal(argsJSON, &args); err != nil { |
| t.Fatalf("failed to unmarshal arguments: %v", err) |
| } |
| |
| val, err := args.BoolValue("bool_var") |
| if err != nil { |
| t.Fatalf("failed to determine value of boolean argument: %v", err) |
| } else if val != true { |
| t.Fatalf("expected the value under |bool_var| to be true") |
| } |
| |
| val, err = args.BoolValue("nonexistent_var") |
| if err != ErrArgNotSet { |
| t.Fatalf("expected ErrArgNotSet and not %v", err) |
| } |
| } |