/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.resources.converter;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import com.google.gwt.resources.css.ast.CssProperty;
import com.google.gwt.resources.css.ast.CssProperty.ListValue;
import com.google.gwt.resources.css.ast.CssProperty.Value;
import junit.framework.TestCase;
import org.mockito.ArgumentCaptor;
/**
* Test for {@link FontFamilyVisitor}.
*/
public class FontFamilyVisitorTest extends TestCase {
private CssProperty cssProperty;
@Override
protected void setUp() throws Exception {
cssProperty = mock(CssProperty.class);
}
public void testVisit() {
// given
when(cssProperty.getName()).thenReturn("font-family");
ListValue values = mock(ListValue.class);
when(values.toCss()).thenReturn("Arial, Times New Roman, Georgia,'Sans Serif', Trebuchet MS, " +
"\"Comic Sans MS\"");
when(cssProperty.getValues()).thenReturn(values);
// when
FontFamilyVisitor fontFamilyVisitor = new FontFamilyVisitor();
fontFamilyVisitor.visit(cssProperty, null);
// then
ArgumentCaptor<Value> valueCaptor = ArgumentCaptor.forClass(Value.class);
verify(cssProperty).setValue(valueCaptor.capture());
assertEquals("Arial,'Times New Roman',Georgia,'Sans Serif','Trebuchet MS',\\\"Comic Sans MS\\\"",
valueCaptor.getValue().toCss());
}
}