package act.xio;
/*-
* #%L
* ACT Framework
* %%
* Copyright (C) 2014 - 2017 ActFramework
* %%
* 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.
* #L%
*/
import act.TestBase;
import org.junit.Test;
import org.osgl.$;
import org.osgl.http.H;
public class ContentSuffixSensorTest extends TestBase {
private $.Var<H.Format> fmtBag = $.var();
@Test
public void testShortUrl() {
v("f/av", null, "f/av");
}
@Test
public void testJson() {
v("f", H.Format.JSON, "f/json");
}
@Test
public void testXml() {
v("f", H.Format.XML, "f/xml");
}
@Test
public void testPdf() {
v("f", H.Format.PDF, "f/pdf");
}
@Test
public void testXls() {
v("f", H.Format.XLS, "f/xls");
}
@Test
public void testXlsx() {
v("f", H.Format.XLSX, "f/xlsx");
}
@Test
public void testCsv() {
v("f", H.Format.CSV, "f/csv");
v("f/xsv", null, "f/xsv");
}
@Test
public void testMedia() {
v("f", H.Format.GIF, "f/gif");
v("f", H.Format.JPG, "f/jpg");
v("f", H.Format.PNG, "f/png");
v("f", H.Format.MPG, "f/mpg");
v("f/ppg", null, "f/ppg");
v("f/npg", null, "f/npg");
v("f", H.Format.AVI, "f/avi");
}
private void v(String expectedUrl, H.Format expectedFormat, String testUrl) {
String resultUrl = p(testUrl);
eq(expectedUrl, resultUrl);
eq(expectedFormat, fmtBag.get());
}
private String p(String url) {
fmtBag.set((H.Format)null);
return NetworkHandler.ContentSuffixSensor.process(url, fmtBag);
}
}