RobotsTXTLineSetTest.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:6k
源码类别:

搜索引擎

开发平台:

Java

  1. package net.javacoding.jspider.core.util.html;
  2. import junit.framework.TestCase;
  3. import java.io.*;
  4. /**
  5.  * $Id: RobotsTXTLineSetTest.java,v 1.4 2003/04/29 17:53:50 vanrogu Exp $
  6.  */
  7. public class RobotsTXTLineSetTest extends TestCase {
  8.     public static final String TEST1 =
  9.             "user-agent: *" + "n" +
  10.             "" + "n" +
  11.             "disallow: /index.html" +"n" +
  12.             "allow: /test" + "n";
  13.     public static final String TEST2 =
  14.             "user-agent: testAgent" + "n" +
  15.             "" + "n" +
  16.             "allow: /index.html" +"n" +
  17.             "allow: /test" + "n" +
  18.             "" + "n" +
  19.             "user-agent: test" + "n" +
  20.             "" + "n" +
  21.             "allow: /index.html" +"n" +
  22.             "disallow: /test" + "n" +
  23.             "" + "n" +
  24.             "user-agent: *" + "n" +
  25.             "" + "n" +
  26.             "disallow: /index.html" +"n" +
  27.             "disallow: /test" + "n" +
  28.             "" + "n";
  29.     public static final String TEST3 =
  30.             "user-agent: testAgent" + "n" +
  31.             "" + "n" +
  32.             "allow: /index.html" +"n" +
  33.             "allow: /test" + "n" +
  34.             "" + "n" +
  35.             "user-agent: test" + "n" +
  36.             "" + "n" +
  37.             "allow: /index.html" +"n" +
  38.             "disallow: /test" + "n" +
  39.             "" + "n" +
  40.             "user-agent: someAgent" + "n" +
  41.             "" + "n" +
  42.             "disallow: /index.html" +"n" +
  43.             "disallow: /test" + "n" +
  44.             "" + "n";
  45.     public static final String TEST4 ="";
  46.     public static final String TEST5 =
  47.             "#user-agent: testAgent" + "n" +
  48.             "" + "n" +
  49.             "#allow: /index.html" +"n" +
  50.             "#allow: /test" + "n" +
  51.             "" + "n" +
  52.             "#user-agent: test" + "n" +
  53.             "" + "n" +
  54.             "#allow: /index.html" +"n" +
  55.             "#disallow: /test" + "n" +
  56.             "" + "n" +
  57.             "#user-agent: someAgent" + "n" +
  58.             "" + "n" +
  59.             "#disallow: /index.html" +"n" +
  60.             "#disallow: /test" + "n" +
  61.             "" + "n";
  62.     public RobotsTXTLineSetTest ( ) {
  63.         super ( "RobotsTXTLineSetTest" );
  64.     }
  65.     protected BufferedReader getReader(String string) {
  66.         return new BufferedReader(new StringReader(string));
  67.     }
  68.     protected InputStream getInputStream(String string) {
  69.         return new ByteArrayInputStream(string.getBytes());
  70.     }
  71.     public void testSimpleRobotsTXT ( ) throws Exception {
  72.         BufferedReader br = getReader(TEST1);
  73.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, "testUserAgent");
  74.         assertEquals("lineset didn't contain exactly the one disallowing rule", 1, lineset.getLines().length);
  75.         assertEquals("expected to obey user agent '*'", "*", lineset.getUserAgent() );
  76.     }
  77.     public void testSimpleRobotsTXTViaInputStream ( ) throws Exception {
  78.         InputStream is = getInputStream(TEST1);
  79.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(is, "testUserAgent");
  80.         assertEquals("lineset didn't contain exactly the one disallowing rule", 1, lineset.getLines().length);
  81.         assertEquals("expected to obey user agent '*'", "*", lineset.getUserAgent() );
  82.     }
  83.     public void testUserAgentSelection1 ( ) throws Exception {
  84.         BufferedReader br = getReader(TEST2);
  85.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, "testUserAgent");
  86.         assertEquals("lineset didn't contain the right number of disallowing rules", 1, lineset.getLines().length);
  87.         assertEquals("expected to obey user agent 'test'", "test", lineset.getUserAgent() );
  88.     }
  89.     public void testUserAgentSelection2 ( ) throws Exception {
  90.         BufferedReader br = getReader(TEST2);
  91.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, "testAgent");
  92.         assertEquals("lineset didn't contain the right number of disallowing rules", 0, lineset.getLines().length);
  93.         assertEquals("expected to obey user agent 'testAgent'", "testAgent", lineset.getUserAgent() );
  94.     }
  95.     public void testUserAgentSelection3 ( ) throws Exception {
  96.         BufferedReader br = getReader(TEST2);
  97.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, "anotherAgent");
  98.         assertEquals("lineset didn't contain the right number of disallowing rules", 2, lineset.getLines().length);
  99.         assertEquals("expected to obey user agent '*'", "*", lineset.getUserAgent() );
  100.     }
  101.     public void testUserAgentSelectionEmptyString ( ) throws Exception {
  102.         BufferedReader br = getReader(TEST2);
  103.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, "");
  104.         assertEquals("lineset didn't contain the right number of disallowing rules", 2, lineset.getLines().length);
  105.         assertEquals("expected to obey user agent '*'", "*", lineset.getUserAgent() );
  106.     }
  107.     public void testUserAgentSelectionNullString ( ) throws Exception {
  108.         BufferedReader br = getReader(TEST2);
  109.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, null);
  110.         assertEquals("lineset didn't contain the right number of disallowing rules", 2, lineset.getLines().length);
  111.         assertEquals("expected to obey user agent '*'", "*", lineset.getUserAgent() );
  112.     }
  113.     public void testUserAgentNotListed ( ) throws Exception {
  114.         BufferedReader br = getReader(TEST3);
  115.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, "unlistedUA");
  116.         assertNull("lineset wasn't null for non-listed agent", lineset);
  117.     }
  118.     public void testEmptyRobotsTXT ( ) throws Exception {
  119.         BufferedReader br = getReader(TEST4);
  120.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, "testUserAgent");
  121.         assertNull ("lineset wasn't null for empty robots.txt", lineset );
  122.     }
  123.     public void testCommentEmptyRobotsTXT ( ) throws Exception {
  124.         BufferedReader br = getReader(TEST5);
  125.         RobotsTXTLineSet lineset = RobotsTXTLineSet.findLineSet(br, "testUserAgent");
  126.         assertNull ("lineset wasn't null for empty robots.txt", lineset );
  127.     }
  128. }