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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? urlcodectest.java

?? 一個(gè)很實(shí)用的東東
?? JAVA
字號(hào):
/*
 * Copyright 2001-2004 The Apache Software Foundation.
 * 
 * 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 org.apache.commons.codec.net;

import junit.framework.TestCase;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.EncoderException;

/**
 * URL codec test cases
 * 
 * @author Apache Software Foundation
 */
public class URLCodecTest extends TestCase {
    
    static final int SWISS_GERMAN_STUFF_UNICODE [] = {
        0x47, 0x72, 0xFC, 0x65, 0x7A, 0x69, 0x5F, 0x7A, 0xE4, 0x6D, 0xE4
    };
    
    static final int RUSSIAN_STUFF_UNICODE [] = {
        0x412, 0x441, 0x435, 0x43C, 0x5F, 0x43F, 0x440, 0x438, 
        0x432, 0x435, 0x442 
    }; 

    public URLCodecTest(String name) {
        super(name);
    }

    private void validateState(URLCodec urlCodec) {
        assertEquals(urlCodec.getEncoding(), urlCodec.getDefaultCharset());        
    }
    
    private String constructString(int [] unicodeChars) {
        StringBuffer buffer = new StringBuffer();
        if (unicodeChars != null) {
            for (int i = 0; i < unicodeChars.length; i++) {
                buffer.append((char)unicodeChars[i]); 
            }
        }
        return buffer.toString();
    }
    
    public void testUTF8RoundTrip() throws Exception {

        String ru_msg = constructString(RUSSIAN_STUFF_UNICODE); 
        String ch_msg = constructString(SWISS_GERMAN_STUFF_UNICODE); 
        
        URLCodec urlCodec = new URLCodec();
        this.validateState(urlCodec);
        
        assertEquals(
            "%D0%92%D1%81%D0%B5%D0%BC_%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82", 
            urlCodec.encode(ru_msg, "UTF-8")
        );
        assertEquals("Gr%C3%BCezi_z%C3%A4m%C3%A4", urlCodec.encode(ch_msg, "UTF-8"));
        
        assertEquals(ru_msg, urlCodec.decode(urlCodec.encode(ru_msg, "UTF-8"), "UTF-8"));
        assertEquals(ch_msg, urlCodec.decode(urlCodec.encode(ch_msg, "UTF-8"), "UTF-8"));
        this.validateState(urlCodec);
    }

    public void testBasicEncodeDecode() throws Exception {
        URLCodec urlCodec = new URLCodec();
        String plain = "Hello there!";
        String encoded = urlCodec.encode(plain);
        assertEquals("Basic URL encoding test", 
            "Hello+there%21", encoded);
        assertEquals("Basic URL decoding test", 
            plain, urlCodec.decode(encoded));
        this.validateState(urlCodec);
    }


    public void testSafeCharEncodeDecode() throws Exception {
        URLCodec urlCodec = new URLCodec();
        String plain = "abc123_-.*";
        String encoded = urlCodec.encode(plain);
        assertEquals("Safe chars URL encoding test", 
            plain, encoded);
        assertEquals("Safe chars URL decoding test", 
            plain, urlCodec.decode(encoded));
        this.validateState(urlCodec);
    }


    public void testUnsafeEncodeDecode() throws Exception {
        URLCodec urlCodec = new URLCodec();
        String plain = "~!@#$%^&()+{}\"\\;:`,/[]";
        String encoded = urlCodec.encode(plain);
        assertEquals("Unsafe chars URL encoding test", 
            "%7E%21%40%23%24%25%5E%26%28%29%2B%7B%7D%22%5C%3B%3A%60%2C%2F%5B%5D", encoded);
        assertEquals("Unsafe chars URL decoding test", 
            plain, urlCodec.decode(encoded));
        this.validateState(urlCodec);
    }


    public void testEncodeDecodeNull() throws Exception {
        URLCodec urlCodec = new URLCodec();
        assertNull("Null string URL encoding test", 
            urlCodec.encode((String)null));
        assertNull("Null string URL decoding test", 
            urlCodec.decode((String)null));
        this.validateState(urlCodec);
    }


    public void testDecodeInvalid() throws Exception {
        URLCodec urlCodec = new URLCodec();
        try {
            urlCodec.decode("%");
            fail("DecoderException should have been thrown");
        } catch(DecoderException e) {
            // Expected. Move on
        }
        try {
            urlCodec.decode("%A");
            fail("DecoderException should have been thrown");
        } catch(DecoderException e) {
            // Expected. Move on
        }
        try {
            urlCodec.decode("%WW");
            fail("DecoderException should have been thrown");
        } catch(DecoderException e) {
            // Expected. Move on
        }
        this.validateState(urlCodec);
    }

    public void testEncodeNull() throws Exception {
        URLCodec urlCodec = new URLCodec();
        byte[] plain = null;
        byte[] encoded = urlCodec.encode(plain);
        assertEquals("Encoding a null string should return null", 
            null, encoded);
        this.validateState(urlCodec);
    }
    
    public void testEncodeUrlWithNullBitSet() throws Exception {
        URLCodec urlCodec = new URLCodec();
        String plain = "Hello there!";
        String encoded = new String( URLCodec.encodeUrl(null, plain.getBytes()));
        assertEquals("Basic URL encoding test", 
            "Hello+there%21", encoded);
        assertEquals("Basic URL decoding test", 
            plain, urlCodec.decode(encoded));
        this.validateState(urlCodec);        
    }

    public void testDecodeWithNullArray() throws Exception {
        byte[] plain = null;
        byte[] result = URLCodec.decodeUrl( plain );
        assertEquals("Result should be null", null, result);
    }

    public void testEncodeStringWithNull() throws Exception {
        URLCodec urlCodec = new URLCodec();
        String test = null;
        String result = urlCodec.encode( test, "charset" );
        assertEquals("Result should be null", null, result);
    }

    public void testDecodeStringWithNull() throws Exception {
        URLCodec urlCodec = new URLCodec();
        String test = null;
        String result = urlCodec.decode( test, "charset" );
        assertEquals("Result should be null", null, result);
    }
    
    public void testEncodeObjects() throws Exception {
        URLCodec urlCodec = new URLCodec();
        String plain = "Hello there!";
        String encoded = (String) urlCodec.encode((Object) plain);
        assertEquals("Basic URL encoding test", 
            "Hello+there%21", encoded);

        byte[] plainBA = plain.getBytes();
        byte[] encodedBA = (byte[]) urlCodec.encode((Object) plainBA);
        encoded = new String(encodedBA);
        assertEquals("Basic URL encoding test", 
            "Hello+there%21", encoded);
            
        Object result = urlCodec.encode((Object) null);
        assertEquals( "Encoding a null Object should return null", null, result);
        
        try {
            Object dObj = new Double(3.0);
            urlCodec.encode( dObj );
            fail( "Trying to url encode a Double object should cause an exception.");
        } catch( EncoderException ee ) {
            // Exception expected, test segment passes.
        }
        this.validateState(urlCodec);
    }
    
    public void testInvalidEncoding() {
        URLCodec urlCodec = new URLCodec("NONSENSE");
        String plain = "Hello there!";
        try {
            urlCodec.encode(plain);
            fail("We set the encoding to a bogus NONSENSE vlaue, this shouldn't have worked.");
        } catch (EncoderException ee) {
            // Exception expected, test segment passes.
        }
        try {
            urlCodec.decode(plain);
            fail("We set the encoding to a bogus NONSENSE vlaue, this shouldn't have worked.");
        } catch (DecoderException ee) {
            // Exception expected, test segment passes.
        }
        this.validateState(urlCodec);
    }

    public void testDecodeObjects() throws Exception {
        URLCodec urlCodec = new URLCodec();
        String plain = "Hello+there%21";
        String decoded = (String) urlCodec.decode((Object) plain);
        assertEquals("Basic URL decoding test", 
            "Hello there!", decoded);

        byte[] plainBA = plain.getBytes();
        byte[] decodedBA = (byte[]) urlCodec.decode((Object) plainBA);
        decoded = new String(decodedBA);
        assertEquals("Basic URL decoding test", 
            "Hello there!", decoded);
            
        Object result = urlCodec.decode((Object) null);
        assertEquals( "Decoding a null Object should return null", null, result);
        
        try {
            Object dObj = new Double(3.0);
            urlCodec.decode( dObj );
            fail( "Trying to url encode a Double object should cause an exception.");
        } catch( DecoderException ee ) {
            // Exception expected, test segment passes.
        }
        this.validateState(urlCodec);
    }

    public void testDefaultEncoding() throws Exception {
        String plain = "Hello there!";
        URLCodec urlCodec = new URLCodec("UnicodeBig");
        urlCodec.encode(plain); // To work around a weird quirk in Java 1.2.2
        String encoded1 = urlCodec.encode(plain, "UnicodeBig");
        String encoded2 = urlCodec.encode(plain);
        assertEquals(encoded1, encoded2);
        this.validateState(urlCodec);
    }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美在线观看一区| 久久激五月天综合精品| 一区二区三区自拍| 成人欧美一区二区三区小说| 在线观看亚洲一区| 欧洲色大大久久| 欧美午夜精品理论片a级按摩| 在线视频一区二区三| 欧美色综合网站| 欧美一区二区日韩| 日韩欧美成人一区二区| 26uuu色噜噜精品一区二区| 久久久久久久久一| 国产精品美女久久久久久| 亚洲色欲色欲www| 亚洲国产成人porn| 久久国产尿小便嘘嘘尿| 久久99热99| 粉嫩av一区二区三区在线播放| 成人精品国产一区二区4080| 日本大香伊一区二区三区| 欧美亚洲禁片免费| 欧美一区二区三区公司| 久久综合九色综合97婷婷女人 | 怡红院av一区二区三区| 一区二区三区国产精华| 日本人妖一区二区| 国产一区二区久久| 91视视频在线直接观看在线看网页在线看| 91视视频在线观看入口直接观看www | 欧美精品在线视频| 精品国产乱子伦一区| 国产欧美日韩视频在线观看| 亚洲蜜臀av乱码久久精品| 日韩国产精品久久久久久亚洲| 久草热8精品视频在线观看| 成人一级黄色片| 欧洲激情一区二区| 精品国产伦一区二区三区观看体验| 日本一区二区三区四区在线视频| 一区二区三区在线免费视频| 日韩成人精品在线| 国产福利一区二区| 在线看不卡av| 久久婷婷国产综合国色天香| 亚洲蜜桃精久久久久久久| 久久精品国产秦先生| 99在线精品一区二区三区| 欧美天天综合网| 国产日韩影视精品| 舔着乳尖日韩一区| 不卡av电影在线播放| 欧美丰满少妇xxxbbb| 国产精品久久久久久亚洲伦 | 日本道免费精品一区二区三区| 欧美成人一级视频| 亚洲主播在线播放| 国产suv精品一区二区883| 欧美日韩视频第一区| 国产精品天干天干在观线| 日本欧美大码aⅴ在线播放| a在线欧美一区| 欧美mv和日韩mv国产网站| 亚洲一区二区三区自拍| 成人国产一区二区三区精品| 欧美刺激午夜性久久久久久久| 亚洲色大成网站www久久九九| 毛片基地黄久久久久久天堂| 国产精品嫩草99a| 麻豆freexxxx性91精品| 欧美午夜一区二区| 中文字幕二三区不卡| 久久国产精品露脸对白| 欧美性色aⅴ视频一区日韩精品| 亚洲国产精品v| 国内精品国产成人国产三级粉色| 欧美人与z0zoxxxx视频| 亚洲女同女同女同女同女同69| 国产成人免费视频网站高清观看视频| 欧美色图第一页| 一区二区三区不卡在线观看| 成人免费三级在线| 久久久久久久久97黄色工厂| 麻豆精品蜜桃视频网站| 在线播放一区二区三区| 亚洲黄色小视频| 99久久er热在这里只有精品15 | 免费观看30秒视频久久| 欧美伊人精品成人久久综合97| 国产精品婷婷午夜在线观看| 国产一区 二区| 久久综合久久综合亚洲| 久久精品国产免费| 精品欧美乱码久久久久久1区2区| 日本不卡视频在线观看| 欧美一区在线视频| 日本网站在线观看一区二区三区| 欧美日本一区二区| 手机精品视频在线观看| 欧美日韩免费一区二区三区 | 在线视频一区二区三区| 亚洲乱码中文字幕| 在线亚洲欧美专区二区| 一区二区三区不卡视频 | 成人免费在线视频观看| 91天堂素人约啪| 亚洲综合无码一区二区| 欧美日韩久久不卡| 日韩av网站免费在线| 欧美一区二区三区精品| 久草这里只有精品视频| 国产亚洲人成网站| 成人晚上爱看视频| 自拍偷拍亚洲欧美日韩| 在线影视一区二区三区| 天天av天天翘天天综合网| 欧美高清一级片在线| 日韩二区三区在线观看| 欧美成人艳星乳罩| 成人激情黄色小说| 一区二区三区四区国产精品| 在线91免费看| 久久黄色级2电影| 国产欧美日韩视频一区二区| 91影院在线观看| 在线观看亚洲精品| 日韩av电影一区| 国产色产综合色产在线视频| www.视频一区| 亚洲第一久久影院| 日韩欧美国产一区在线观看| 国产麻豆成人传媒免费观看| 国产精品二区一区二区aⅴ污介绍| 91尤物视频在线观看| 天堂久久一区二区三区| 久久精品在线观看| 色婷婷国产精品久久包臀| 亚洲午夜免费电影| 精品国产乱码久久久久久1区2区| 福利视频网站一区二区三区| 一区二区三区国产| 亚洲精品一区二区精华| 99r国产精品| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品毛片久久久久久久| 欧美手机在线视频| 国内国产精品久久| 一区二区三区四区五区视频在线观看| 91精品国产一区二区三区蜜臀| 国产精品1024| 亚洲无人区一区| 国产日韩欧美综合在线| 精品婷婷伊人一区三区三| 国产精品综合在线视频| 香蕉成人伊视频在线观看| 国产视频一区二区三区在线观看| 欧美日韩一区二区三区四区五区| 国产盗摄一区二区| 婷婷六月综合亚洲| 亚洲色图一区二区| 久久免费精品国产久精品久久久久| 色拍拍在线精品视频8848| 国内精品第一页| 性久久久久久久| 亚洲天天做日日做天天谢日日欢| 欧美一区二区在线免费播放 | 中文在线一区二区| 日韩丝袜美女视频| 欧美午夜一区二区三区 | 久久综合狠狠综合久久综合88 | 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 7799精品视频| 91麻豆国产精品久久| 国产精品中文欧美| 日本中文在线一区| 亚洲已满18点击进入久久| 国产午夜精品久久久久久久| 欧美一区二区三区喷汁尤物| 欧美午夜精品理论片a级按摩| 成人黄色在线网站| 国产高清不卡二三区| 九九久久精品视频| 日韩av不卡一区二区| 97久久超碰精品国产| 国产一区二区在线影院| 日本最新不卡在线| 丝袜诱惑亚洲看片| 亚洲超碰精品一区二区| 夜夜爽夜夜爽精品视频| 亚洲天堂久久久久久久| 日本一区二区电影| 国产欧美一区二区精品婷婷| 久久丝袜美腿综合| 久久综合色8888| 久久青草欧美一区二区三区| 欧美mv和日韩mv的网站| 精品日本一线二线三线不卡| 日韩小视频在线观看专区| 91麻豆精品国产91久久久更新时间 | 国产一区二区三区高清播放|