<!DOCTYPE html>
<html>
<head>
    <title>require.js: I18N Test</title>
    <script type="text/javascript" src="../../require.js"></script>
    <script type="text/javascript" src="../doh/runner.js"></script>
    <script type="text/javascript" src="../doh/_browserRunner.js"></script>
    <script type="text/javascript">
        //Allow locale to be set via query args.
        var locale = null;
        var query = location.href.split("#")[0].split("?")[1];
        var match = query && query.match(/locale=([\w-]+)/);
        if (match) {
            locale = match[1];
        }

        //Allow bundle name to be loaded via query args.
        var bundle = "i18n!nls/colors";
        match = query && query.match(/bundle=([^\&]+)/);
        if (match) {
            bundle = match[1];
        }

        var expected = {
            red: "red",
            blue: "blue",
            green: "green",
            black: {
                opacity: 1,
                rgb: {
                    r: "0",
                    g: "0",
                    b: "0"
                }
            }
        };

        var opacity = 1;
        if (locale && locale.indexOf("en-us-surfer") != -1 || bundle.indexOf("nls/en-us-surfer/colors") != -1) {
            expected.red = "red, dude";
            expected.black.opacity = 0.5;
        } else if ((locale && locale.indexOf("fr-") != -1) || bundle.indexOf("fr-") != -1) {
            expected.red = "rouge";
            expected.blue = "bleu";
        }
        require({
            config: {
                'i18n': {
                    locale: locale
                }
            },
            baseUrl: "./",
            paths: {
                i18n: "../../../i18n/i18n"
            }
        },
        [bundle],
        function(actual) {
            doh.register(
                "i18n",
                [
                    {
                        name: "simple structure",
                        runTest: function (t) {
                            t.is(expected.red, actual.red);
                            t.is(expected.blue, actual.blue);
                            t.is(expected.green, actual.green);
                        }
                    },
                    {
                        name: "complex structure",
                        runTest: function (t) {
                            t.is(expected.black, actual.black);
                        }
                    }
                ]
            );
            doh.run();
        });
    </script>
</head>
<body>
    <h1>i18n bundle test</h1>
    <p>This page tests the i18n bundling in require.js. You can change the locale to use by passing locale= or bundle=</p>
</body>
</html>