⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtilesplugin.java

📁 structs源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        assertNotSame("Factory from different modules", factory1, factory2);
    }

    /**
     * Test single factory creation when moduleAware=false.
     */
  public void testSingleSharedFactory()
  {
    // init TilesPlugin
  module1 = createModuleConfig( "/module1", "tiles-defs.xml", false );
  module2 = createModuleConfig( "/module2", "tiles-defs.xml", false );
  initModulePlugIns(module1);
  initModulePlugIns(module2);

    // mock request context
  request.setAttribute(Globals.MODULE_KEY, module1);
  request.setPathElements("/myapp", "/module1/foo.do", null, null);
    // Retrieve factory for module1
  DefinitionsFactory factory1 = TilesUtil.getDefinitionsFactory( request, context);
  assertNotNull( "factory found", factory1);
  assertEquals( "factory name", "/module1", factory1.getConfig().getFactoryName() );

    // mock request context
  request.setAttribute(Globals.MODULE_KEY, module2);
  request.setPathElements("/myapp", "/module2/foo.do", null, null);
    // Retrieve factory for module2
  DefinitionsFactory factory2 = TilesUtil.getDefinitionsFactory( request, context);
  assertNotNull( "factory found", factory2);
  assertEquals( "factory name", "/module1", factory2.getConfig().getFactoryName() );

    // Check that factory are different
  assertEquals("Same factory", factory1, factory2);
  }

  /**
   * Test I18nFactorySet.
   */
  public void testI18FactorySet_A() {

     Locale locale = null;
     ComponentDefinition definition = null;
     org.apache.struts.tiles.xmlDefinition.DefinitionsFactory factory = null;

     Map properties = new HashMap();

     // Set the file name
     properties.put(I18nFactorySet.DEFINITIONS_CONFIG_PARAMETER_NAME,
                    "config/I18nFactorySet-A.xml");

     try {
         CustomI18nFactorySet i18nFactorySet = new CustomI18nFactorySet(context, properties);
         String defName = "A-DEFAULT";

         // Default Locale
         locale = new Locale("", "", "");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("DefinitionsFactory is nullfor locale='" + print(locale) + "'", factory);
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

         // Variant Only
         locale = new Locale("", "", "XX");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("DefinitionsFactory is null for locale='" + print(locale) + "'", factory);
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

         // No Language, Country & Variant Locale
         locale = new Locale("", "US", "XX");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("DefinitionsFactory is null for locale='" + print(locale) + "'", factory);
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

         // Language & Country
         locale = new Locale("en", "US");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("DefinitionsFactory is null for locale='" + print(locale) + "'", factory);
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

     } catch(Exception ex) {
         fail(ex.toString());
     }
  }


  /**
   * Test I18nFactorySet.
   */
  public void testI18FactorySet_B() {

     Locale locale = null;
     ComponentDefinition definition = null;
     org.apache.struts.tiles.xmlDefinition.DefinitionsFactory factory = null;

     Map properties = new HashMap();

     // Set the file name
     properties.put(I18nFactorySet.DEFINITIONS_CONFIG_PARAMETER_NAME,
                    "config/I18nFactorySet-B.xml");

     try {

         CustomI18nFactorySet i18nFactorySet = new CustomI18nFactorySet(context, properties);
         String defName = null;

         // Default Locale
         locale = new Locale("", "", "");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("1. DefinitionsFactory is nullfor locale='" + print(locale) + "'", factory);
         defName = "B-DEFAULT";
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("2. Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("3. Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

         // Variant Only
         locale = new Locale("", "", "XX");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("4. DefinitionsFactory is null for locale='" + print(locale) + "'", factory);
         defName = "B___XX";
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("5. Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("6. Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());
         defName = "B-DEFAULT";
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("7. Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("8. Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

         // No Language, Country & Unknown Variant
         locale = new Locale("", "US", "XX");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("9. DefinitionsFactory is null for locale='" + print(locale) + "'", factory);
         defName = "B__US";
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("10. Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("11. Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

         // Language & Country
         locale = new Locale("en", "US");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("12. DefinitionsFactory is null for locale='" + print(locale) + "'", factory);
         defName = "B_en_US";
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("13. Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("14. Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

         // Language, Country & Unknown Variant
         locale = new Locale("en", "GB", "XX");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("15. DefinitionsFactory is null for locale='" + print(locale) + "'", factory);
         defName = "B_en_GB";
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("16. Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("17. Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

         // Language, Unknown Country & Unknown Variant
         locale = new Locale("en", "FR", "XX");
         factory = i18nFactorySet.createFactory(locale , request, context);
         assertNotNull("18. DefinitionsFactory is null for locale='" + print(locale) + "'", factory);
         defName = "B_en";
         definition = factory.getDefinition(defName, request, context);
         assertNotNull("19. Definition '" + defName + "' Not Found for locale='" + print(locale) + "'", definition);
         assertEquals("20. Definition '" + defName + "' for locale='" + print(locale) + "'", defName, definition.getName());

     } catch(Exception ex) {
         fail(ex.toString());
     }

  }

  /**
   * String representation of a Locale. A bug in the
   * Locale.toString() method results in Locales with
   * just a variant being incorrectly displayed.
   */
  private String print(Locale locale) {

      return locale.getLanguage() + "_" +
                locale.getCountry() + "_" +
                locale.getVariant();
  }



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -