亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? barcodeservlettest.java

?? 這是個國外JAVA愛好者寫的條形碼生成器
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/***********************************************************************************************************************
 Copyright (c) 2003, International Barcode Consortium
 All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this list of
 conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list of
 conditions and the following disclaimer in the documentation and/or other materials
 provided with the distribution.
 * Neither the name of the International Barcode Consortium nor the names of any contributors may be used to endorse
 or promote products derived from this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 ***********************************************************************************************************************/

package net.sourceforge.barbecue;

import net.sourceforge.barbecue.env.EnvironmentFactory;
import net.sourceforge.barbecue.env.HeadlessEnvironment;
import net.sourceforge.barbecue.linear.code128.Code128Barcode;
import net.sourceforge.barbecue.linear.ean.UCCEAN128Barcode;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.security.Principal;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

public class BarcodeServletTest extends BarcodeTestCase {
    private BarcodeServletMock servlet;
    private HttpServletResponseMock res;
    private HttpServletRequestMock req;
    private Map params;

    protected void setUp() throws Exception {
        super.setUp();
        servlet = new BarcodeServletMock();
        req = new HttpServletRequestMock();
        params = new HashMap();
        params.put("data", "1234567890");
        params.put("type", "SSCC18");
        params.put("resolution", "100");
        req.setParameters(params);
        res = new HttpServletResponseMock();
    }

    public void testValueIsRequired() throws Exception {
        params.remove("data");
        try {
            servlet.doGet(req, res);
            fail();
        } catch (ServletException e) {
            // Good
        }
    }

    public void testGetReturnsBarcodeImage() throws Exception {
        servlet.doGet(req, res);
        assertEquals("image/png", res.getContentType());
        assertTrue(res.hasOutput());
    }

    public void testPostReturnsBarcodeImage() throws Exception {
        servlet.doPost(req, res);
        assertEquals("image/png", res.getContentType());
        assertTrue(res.hasOutput());
    }

    public void testServletNameReturnsBarbecue() throws Exception {
        assertEquals("barbecue", servlet.getServletName());
    }

    public void testSettingResolutionChangesDefaultResolution() throws Exception {
        params.put("height", "200");
        params.put("width", "3");
        params.put("resolution", "72");
        req.setParameters(params);
        servlet.doGet(req, res);
        Barcode barcode = servlet.getBarcode();
        assertEquals(72, barcode.getResolution());
    }

    public void testGettingBarcodeWithNoTypeCreatesCode128Optimal() throws Exception {
        req.setParameters(params);
        servlet.doGet(req, res);
        assertTrue(servlet.getBarcode() instanceof Code128Barcode);
    }

    public void testSettingTypeToUCC128WithNoAppIdThrowsException() throws Exception {
        params.put("type", "UCC128");
        req.setParameters(params);
        try {
            servlet.doGet(req, res);
            fail();
        } catch (ServletException e) {
            // OK
        }
    }

    /**
     * Verifies fix for bug: 732629
     */
    public void testSettingWidthChangesDefault() throws Exception {
        params.put("data", "12345");
        params.put("width", "3");
        req.setParameters(params);
        servlet.doGet(req, res);
        assertEquals("image/png", res.getContentType());
        assertTrue(res.hasOutput());
        Barcode barcode = servlet.getBarcode();
        assertEquals(330, barcode.getWidth());
    }

    /**
     * Verifies fix for bug: 736794
     */
    public void testGettingUCC128BarcodeReturnsCorrectType() throws Exception {
        params.put("type", "UCC128");
        params.put("appid", UCCEAN128Barcode.GTIN_AI);
        req.setParameters(params);
        servlet.doGet(req, res);
        assertEquals("image/png", res.getContentType());
        assertTrue(res.hasOutput());
    }

    /**
     * Verifies fix for bug: 737122
     */
    public void testCanGetAllBarcodeTypes() throws Exception {
        assertCanGenerateBarcodeInServlet("EAN128");
        assertCanGenerateBarcodeInServlet("ean128");
        assertCanGenerateBarcodeInServlet("Code128");
        assertCanGenerateBarcodeInServlet("Code128A");
        assertCanGenerateBarcodeInServlet("Code128B");
        assertCanGenerateBarcodeInServlet("Code128C");
        assertCanGenerateBarcodeInServlet("code128c");
        assertCanGenerateBarcodeInServlet("USPS");
        assertCanGenerateBarcodeInServlet("usps");
        assertCanGenerateBarcodeInServlet("ShipmentIdentificationNumber");
        assertCanGenerateBarcodeInServlet("shipmentIdentificationnumber");
        assertCanGenerateBarcodeInServlet("SCC14ShippingCode");
        assertCanGenerateBarcodeInServlet("SCC14SHIPPINGcode");
        assertCanGenerateBarcodeInServlet("GlobalTradeItemNumber");
        assertCanGenerateBarcodeInServlet("PDF417");
        assertCanGenerateBarcodeInServlet("Code39");
        assertCanGenerateBarcodeInServlet("Std2of5");
        assertCanGenerateBarcodeInServlet("Int2of5");
        assertCanGenerateBarcodeInServlet("3of9");
        assertCanGenerateBarcodeInServlet("USD3");
        assertCanGenerateBarcodeInServlet("USD4");
        assertCanGenerateBarcodeInServlet("NW7");
        assertCanGenerateBarcodeInServlet("Monarch");
        assertCanGenerateBarcodeInServlet("2of7");
        assertCanGenerateBarcodeInServlet("Codabar");
    }

    public void testCheckSumParameterIsUsedForCode39Barcodes() throws Exception {
        params.put("type", "Code39");
        params.put("checksum", "true");
        params.put("data", "1234567890");
        req.setParameters(params);
        servlet.doGet(req, res);
        Barcode barcode = servlet.getBarcode();
        assertEquals(336, barcode.getWidth());
    }

    public void testServletForcesHeadlessModeByDefault() throws Exception {
        params.put("type", "Code128");
        req.setParameters(params);
        servlet.doGet(req, res);
        assertTrue(EnvironmentFactory.getEnvironment() instanceof HeadlessEnvironment);
    }

    public void testDrawTextParameterIsIgnoredIfHeadless() throws Exception {
        params.put("type", "Code128");
        params.put("drawText", "true");
        req.setParameters(params);
        servlet.doGet(req, res);
        Barcode barcode = servlet.getBarcode();
        assertFalse(barcode.isDrawingText());
    }

    public void testDrawTextParameterIsNotIgnoredIfNotHeadless() throws Exception {
        params.put("type", "Code128");
        params.put("headless", "false");
        params.put("drawText", "true");
        req.setParameters(params);
        servlet.doGet(req, res);
        Barcode barcode = servlet.getBarcode();
        assertTrue(barcode.isDrawingText());
    }

    private void assertCanGenerateBarcodeInServlet(String type) throws ServletException {
        params.put("type", type);
        req.setParameters(params);
        servlet.doGet(req, res);
        assertEquals("image/png", res.getContentType());
        assertTrue(res.hasOutput());
    }

    private class BarcodeServletMock extends BarcodeServlet {
        Barcode barcode;

        protected Barcode getBarcode(String type, String data, String appId, boolean checkSum) throws ServletException {
            barcode = super.getBarcode(type, data, appId, checkSum);
            return barcode;
        }

        public Barcode getBarcode() {
            return barcode;
        }
    }

    private class HttpServletResponseMock implements HttpServletResponse {
        private String contentType;
        private ServletOutputStreamMock outputStream;

        public HttpServletResponseMock() {
            outputStream = new ServletOutputStreamMock();
        }

        public void addCookie(Cookie cookie) {
        }

        public void addDateHeader(String s, long l) {
        }

        public void addHeader(String s, String s1) {
        }

        public void addIntHeader(String s, int i) {
        }

        public boolean containsHeader(String s) {
            return false;
        }

        public String encodeRedirectURL(String s) {
            return null;
        }

        public String encodeRedirectUrl(String s) {
            return null;
        }

        public String encodeURL(String s) {
            return null;
        }

        public String encodeUrl(String s) {
            return null;
        }

        public void sendError(int i) throws IOException {
        }

        public void sendError(int i, String s) throws IOException {
        }

        public void sendRedirect(String s) throws IOException {
        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三级一区二区| 亚洲bt欧美bt精品| 中文字幕免费不卡在线| 欧美私人免费视频| 91精品久久久久久久99蜜桃| 6080国产精品一区二区| 日韩免费性生活视频播放| 欧美体内she精高潮| 久久影院视频免费| 性欧美疯狂xxxxbbbb| 色哟哟一区二区在线观看| 国产亚洲精品超碰| 黑人精品欧美一区二区蜜桃| 欧美午夜在线观看| 91麻豆精品久久久久蜜臀| 亚洲欧美日韩在线不卡| 懂色av一区二区三区蜜臀| 国产午夜精品一区二区三区嫩草| 久久精品国产一区二区三| 日韩一级精品视频在线观看| 午夜精彩视频在线观看不卡| 91久久免费观看| 亚洲特级片在线| 国产电影一区在线| 精品国产一区二区三区久久影院 | 91亚洲午夜精品久久久久久| 色美美综合视频| 亚洲精品一区在线观看| 亚洲大型综合色站| 99久久伊人精品| 久久精品夜夜夜夜久久| 国产乱码精品一区二区三| 专区另类欧美日韩| 欧美人xxxx| 国产一区二区电影| 91国模大尺度私拍在线视频| 日韩免费成人网| 亚洲高清免费在线| 99在线精品免费| 精品国产sm最大网站免费看| 亚洲欧美综合另类在线卡通| 极品少妇一区二区三区精品视频 | 亚洲欧美视频在线观看视频| 裸体一区二区三区| 91黄色免费网站| 一区二区三区影院| 欧美亚洲国产一区二区三区va| 中文字幕视频一区| 成人午夜激情片| 青青草97国产精品免费观看 | 日韩一区二区三区视频在线观看| 老司机午夜精品99久久| 国产天堂亚洲国产碰碰| 91在线视频网址| 首页欧美精品中文字幕| 久久理论电影网| 91视视频在线观看入口直接观看www | 日韩精品一区二区三区视频| caoporen国产精品视频| 美国三级日本三级久久99| 亚洲乱码国产乱码精品精小说 | 亚洲乱码国产乱码精品精小说| 欧美日韩久久一区二区| 国产精品影视天天线| 亚洲精品国产精品乱码不99| 日韩视频一区二区三区在线播放| 成人免费的视频| 日韩av二区在线播放| 国产精品另类一区| 欧美一区二区三区四区视频| 色婷婷综合久久| 欧美日韩在线三级| 蜜桃久久久久久久| 一片黄亚洲嫩模| 国产精品久久久久久久久动漫| 日韩一区二区三区免费看| 日本高清不卡在线观看| 不卡一区二区中文字幕| 蜜桃免费网站一区二区三区| 亚洲自拍偷拍九九九| 欧美一区二区三区四区高清 | 在线成人小视频| 精品国产乱子伦一区| 久久综合资源网| 欧美激情一区二区三区全黄| 国产精品国产三级国产三级人妇| 亚洲精品自拍动漫在线| 午夜成人免费视频| 紧缚捆绑精品一区二区| 不卡在线视频中文字幕| 欧美日韩成人综合天天影院| 日韩欧美成人午夜| 国产精品黄色在线观看| 视频一区欧美日韩| 国产激情一区二区三区| 日本福利一区二区| 欧美哺乳videos| 亚洲三级电影全部在线观看高清| 亚洲国产欧美在线| 成人性生交大片| 7799精品视频| 国产精品网友自拍| 偷拍一区二区三区| 91免费版在线| 欧美xxxxx牲另类人与| 亚洲精品美腿丝袜| 亚洲伊人伊色伊影伊综合网| 亚洲bt欧美bt精品| 丰满少妇在线播放bd日韩电影| 99国产精品国产精品久久| 8x8x8国产精品| 中文字幕一区二区日韩精品绯色| 石原莉奈一区二区三区在线观看| 国产精品91一区二区| 欧美日韩久久久一区| 国产精品久久久久久久岛一牛影视 | 亚洲综合久久久| 激情亚洲综合在线| 欧美在线观看禁18| 久久久久久久免费视频了| 亚洲一二三级电影| voyeur盗摄精品| 国产人成一区二区三区影院| 精品在线观看免费| 欧美三级中文字| 丝袜国产日韩另类美女| 国产在线精品一区二区不卡了| 91麻豆精品国产91久久久资源速度 | 五月天一区二区| 国产综合久久久久久久久久久久| k8久久久一区二区三区| 538在线一区二区精品国产| 国产欧美一区二区三区沐欲| 日日骚欧美日韩| 91视视频在线观看入口直接观看www | 欧美日韩国产bt| 国产精品久久久久久久久图文区| 免费人成精品欧美精品| 欧美一区二区日韩一区二区| 国产精品电影一区二区三区| 另类小说视频一区二区| 欧洲精品一区二区| 亚洲欧洲国产日本综合| 风间由美一区二区三区在线观看 | 国产精品自产自拍| 91精品久久久久久久91蜜桃| 亚洲国产另类av| 欧洲日韩一区二区三区| 亚洲日本在线视频观看| 国产精一品亚洲二区在线视频| 欧美岛国在线观看| 精彩视频一区二区| 久久这里只有精品6| 国产麻豆午夜三级精品| 国产午夜精品美女毛片视频| 国内精品国产三级国产a久久| 欧美刺激脚交jootjob| 久久精品久久99精品久久| 亚洲精品一区二区三区精华液| 亚洲va在线va天堂| 欧美日韩国产综合视频在线观看| 亚洲韩国精品一区| 欧美一区二区三区四区视频 | 久久久久久久免费视频了| 国产激情视频一区二区在线观看| 国产精品久久久久久久久快鸭| av激情综合网| 亚洲丰满少妇videoshd| 精品国产a毛片| 色婷婷亚洲精品| 日本亚洲免费观看| 久久久久久久久久久久久夜| 99精品视频在线免费观看| 亚洲一区二区黄色| 日韩欧美国产综合| 99精品国产热久久91蜜凸| 亚洲国产欧美日韩另类综合 | 91麻豆123| 美女一区二区三区在线观看| 国产女主播视频一区二区| 欧美亚洲精品一区| 国产精品资源网| 日韩综合一区二区| 国产精品对白交换视频| 日韩一区二区三区视频在线观看| 成年人午夜久久久| 麻豆成人久久精品二区三区红 | 国产成人aaa| 免费欧美高清视频| 亚洲欧美综合另类在线卡通| 日韩免费观看2025年上映的电影| eeuss鲁一区二区三区| 裸体一区二区三区| 天使萌一区二区三区免费观看| 中文字幕一区视频| 国产丝袜美腿一区二区三区| 51午夜精品国产| 欧美日韩一区二区三区视频| av在线不卡观看免费观看| 国产专区综合网|